diff --git a/.agents/skills/atlas/assets/seed/catalog.json b/.agents/skills/atlas/assets/seed/catalog.json index 7f3e034c8..342dabb35 100644 --- a/.agents/skills/atlas/assets/seed/catalog.json +++ b/.agents/skills/atlas/assets/seed/catalog.json @@ -1 +1 @@ -{"records":["000ada42299601fba29016e5c0e0d4012876fb42670bb10fa0b1315477254ba4","003893cc49855d17a15295d7adbe57ee301ea20281dff216461baee0810853ff","0052dfb9eafceabaa590f4497e4d42f19020718c84b981d265edefd432ccf8dd","00641d046d6869fdd0023ab3df99e0e67a6ea28f0dcb701f622b1cec8b3e07c6","0066d4a624c02398f21b4d7a736a9fb5101ed8b6b13ceeab46907e9401af98ff","026a241141ee10eb829aa6ce461969242d5c1d45fe9ca19f08ef4ea880877676","026b08fb343aefe19177e95b759560d340d372def4b71acf613fefee3438ade2","0357495d23fac4fad210b6dd7ed7cc57dd33d107e1659a81f085cad78300797f","036c148f6d0e89858c9bf4cf380272ca6904bb4ca277a909fb71c47f5450cef7","04d17203f03279980862496517a1f0861be5f6cc8063bfbf92f8f8ac19744fdd","04e404d89dca295564813149472b1de8e6c43357e2f6d91d169ded7600ed3a02","0509e5c6fdbd2dde0c0db8558647080560714804d00e4f9268342f2e84858a3d","06ad2c8aa0ff3b862edf3ba99e0e4e8801ee163709e66333cd06c3fc61232b05","09e90ad705af012a8c36efbf296757f35adf9c9ce3b8908791c75d72c192973f","0a6d7dc5b64970bfdadc9049ace95e8bc163fc421beea70129ff0eaa692c6d06","0a862ee40916522f8ae5f14b3e084bf5f2e6488185583346db96ced16ce7619e","0a9df276d42b56d98a7802befc2404204e0e5ee8bc7f5c032f7bb29aa4ae2091","0ad4403c8f4078dbfa543310c69bd1dfc768e305987214ffc37d7b2600c4687c","0c22360d4653eb0f450e4d3d34564875f1660cfcb2d546095d98b3faa3967cbc","0da4d093b49c0a1f654b38008bb01195e816829279ca1989bd2448194e15361b","0e560af7d9dd2e0f2f588a74cd35512973747f20bdfe0bee0bc889105ea53dc9","0ea7107c2c8edaab3ff2bae32f63cfbef6903a51cdaff257278f757ed5ef429d","0eef4d717eb03f0906aa3be7336aa71f831726afabe8a56077b76f6e82fd08e1","11fe30832d93706c60efd836b09f35f049c4a715ad6144cf277ca240c5780704","1244d27db0cf5075353bcc622d0fb3b5ca6a7d08526e2c5754e8b745c250bf3f","126c817ad25ca9cbac2a0f7446e76c79852459ac7b9c61e3ba5d5cbfe5d37dfb","13824d6bce0f961c89eef4bd3c8a72ae6ecf7a1339b9e06eec964dc5c12dc544","14156f1c6bf0fa8dfcb5cfafac09e012db446d528dad0e4301404fd693b9bed3","155fe673b8ae12549c978e1bf1d5c43e360937fcf2135cdcd5aea6f6c771da44","1945f527afc3c2930ec4d7fa57ebb2ef7dd6321c0dd3ab9233c9963e9e613165","19d657b67672257ece127f3b957674b7fb4780843148db0a36a0b329c2a418ba","1a24f6ef0c08a898f309c1b925fc19b29526f913a61a1dfe4b1a4308ebdd97ac","1b5351b2dc647aba864e387168db5128435cb80da94fc42581cd60a05fc34b9a","1cfd18d1b12b25604d818389a34bbaa746f450e70246c7f4242fc4e215fc46a4","1da011289116fe88fe92cb8f0e83ed7ccbbca251681d4e136c5a61c40364f8d3","1ec9445b242d2a2e149fe71c67bf13d8c0e4ebe5a6ed7b022656b9941973909d","1edc36731a9c76ad07d269d8b4fd84c8c956bb43d6f56de17d6208164856ffbe","1fec5a63a7b2b212e3e5d5222e49061f3b924966c9741294f5630836be8a3925","20901b579f69cc97eb56b492938864667576e1c9bfacf13f8a529c4f6e543448","21338155cb4f52c49e5072c877771be67c75590d9b238ea025fba5209fd6e018","23af79bd1e7995fc8162ddc4d830318acb054bbfcc9c7d5cb141ec306da67386","24d4f2730d94d1b7f149771ef0e59192f4936d142b21f4a56b1a391e4514d38d","252de742c26409c837ef491f55eb03ffcc99da13fb1a2f8ab66efbfb0c081a2f","253bb17320020b6a5ef8f0958856f6c565a239b4dc246d9e825f8b14da9ca8de","2591526ddabbea03fbdc38bf172bc54f42df9bc51eba7ad2b70d6e67215f08f1","26259abc7fe745f52e06f2aa2abb0e50f189bc7608065f04d5c669a0a99941cd","26290a0990d6dac0ce9448e05eb934210603356043dcf14a5d80585288e2aa92","26d6b31965013079d4db67a2c403e01f21e3c30ae65953400dbed92e289a0925","288daf614247c260cb673d8674e8b3874ccc4e269347836851f702d7ac8e2f7c","28abfaf6d50ca38af0b88aa50524200c17af9000da83ddbab3d8f9e06e020fa5","291d3db272eae084d34c04bc1305f2abb26a7e7acbc5515208469b46719a4ed1","2a38ddebfe3380232e35d5a24f9cb9f7c38abbc9c68add4ea5952c1e65d328d2","2c76ce93500601e281a41f5985fe4e3926fc8bc9d01ee687f14052cb553ad2d2","2d599c722a08306b98f2d833fb3e4a7acb9dea92e6a58820caa2f65c09803fb8","2e1bc31ff6b6fb14d0ca8703a02833db749b03e172f2e91f9423f0751e88c256","2e872e9d3ab8b553270e79673060c50c1afd68a41fcf9fdd0a13cba80be0dfaf","2ecd502add2d801eebed39411fadc9a80098ba9ce04a5f4b728a0e4e331232d6","2f7357367d921995f4c6fdaa693392adcd2df4860ef4d25c8dc47f7ddea8c755","2fb2ed7902a8e35dc36489a23245d963026d688008c92fed6fdc1f6bc27198a6","3018f389f6928af5830bdd081c9d03530a379f37d1c2f9196e6fb3c44eb337d5","310bfb5b2d061bb733771e5cb7b3b7d25db43af5eda9f806169b7ef9330c2fe7","32f69a7b8997ae98b9305ee578145d795dbcd39ca4469bf2465e57a0295cda51","335683e33b94cb86b5e426b4faed200673bf850151191a08458136ceb164fd4e","3407ec53a884d3945d86a88d6b9a883419dd426e96b1108a8e6686f30397a629","34463778cf2d29e3896a65613cf9e3eb3e9f2d8946d17f12b609e70eec63d128","348ba129b7b9c94e24fa8ddb81024e777c60448d1b5d49f7b2075591b23c13b1","35da3938b72cf3520e126ad595157104b69ab748904c7b4e12f563d6b103172b","37c8908ea2a349cd3034018027160ad810b28ad1fc203a9a353971e1f7396b4c","37e39faee019bb041627510f1f02746ba9a85696417a083b438eb4974b72c2bf","38a75fd804821f4836f0a7ba8d41af3d3a3a5f5d7dcea68487009297824258d9","38c6396e645750efcb2f187c36c383471b3b0b59290e3b42cfcb9668594cd0c3","397476cf107b48e7a662264f8fea9f880231fd3d1e0401622650f214cfaa35c7","3ad8b0398ba6c354c9e31b7438b2515579fc0b1f17de4b35a914c862a3a11e3b","3b3c6cf083b12a840565e00458e2fd4ee8a61f97cda452703a6b13d7776b6c13","3b4af144afed3d52dd2e1f64e23bc25b3475eee5f7af3bde9886761b15c33dfd","3b5d82795e9f5d1992ab67e078fcf1108247ab9b6d1baeac944d3ec0294cec5d","3d0274f77576abdbdf442c8843e955e1bbc91e9f8cbfe3646b119337cdb13c96","3dbf6d1c2c8db1a7e3988e2a84b67a4e1d7c8304661652ffa94db3b7eee08edb","3dfcea4ee3d0d0ed09b1f77bac48b33b64ab4620cbfc74fe0e4201b4cdb81ce6","3e2f66baa16c7ea936eba34720a55897438f60b343cbe8fda4eab1e5dde044eb","40de9f41f9a9f56ef6a51d065270e875b4a85cf043b7c4a0173b2510de4979ea","41c768ea17144c6ec225e9a65d4c3c127fdd7264dcba1a89aa17b20fd5d7e3ee","42aeb46fcc3d10b95e4067bc9cda875fa933b4102873f67c7bf1f8ca6799a598","4320b92712bc14dbe10b56f1cd3d1bdc093fc4be6016732839d0be4dd4d027d3","444342c21a4743af5961beeebb88088f5d2a0649f76c71973a7706a744f5efd2","46cdf2c207f79d388001f6636dfb7a98bb2ba72b9d1c6df4938f0a27691e07a6","47b5cb2b011c0f7012d75e88eb86a10f3f0bd48545db139669e654cac1f69650","480f1ede18ae031b164d49d676feeb1090fb33932676ff52e1e2eb24e8d154cd","482cd15ecd9cfbd8e1943c0fcde0bbf1d875392dc2a701b698f48bfba684a062","4855e1947afc954cb1b20bb45e7af10b098fa34714bd32e9bc77941cf58fdaaa","48797c44c92cb34fd9a57a08020b45c6920b2268dc8ad616c0f814a3710d5316","48d094622ada1806cb30335926007c1abc476b1f7b45a2e250c490afa25e847b","49e8cf09e38acefd3a0fa62d048028286d3b47b5ceccd8f51f10022978c47820","4a724a6a842a132c2185279513f341b79f9be93e42660f1255770eeae3b1323c","4aecbdfafb68feb3124c39219498241864bcf1ceaf87fbf80598b1dd87a9191d","4b364ecb35ad02b06b6b0f32b6a29202f2c835e1ac0d70b89fd0278271799dbb","4be7778c4f491d55154a028d9a9dbb35059953fbcd243e0206902a6e64645efb","4c8c327dacf345e184042092e96ad3ea02ed4cece57dac5fa68ea52fbb5a6adf","4d5a44ba07fafeab823b54a21846269330ce35b4c190f3ddd5434bc8530d9b41","4d86a2764c55b5c5f675fddad8850ce4ceab160ac5c164a299fc098899d31aa9","4da0a5be70e8af9c39623deac83822749482187f6a0fc3d186dcfddaa7111576","4ece7844e2b35705ac39fa25913f6909aad5b4b7446bd637ced46b47c0db135c","4f1e58fc658a4ceda181e2a7fa249305b09b573ffd68c2489f204f4957224957","4f2750b974c1404acb721ffc84cbd1d0756a24211dd6f6503c10ea74dbc45676","5029c7b222158ab3f325168fa543d84fd2332d2e3e38db1ce7b83899cef201d1","509ec9c08864b9dd0029f32ffeac85fbac863e2dad459994c65b7cb5264faffa","50fd7e982eb2d2813634b7c44e102788a1a1cd4910a27acbcf219f76314fa322","52049cc9cee43bb27229e6b3e983e02c6aa20dd7d153b13e3c74bc6d2b47cf92","5382c901d160ca2d79888d8acd7a690a5349826b5da486274b0800c9d7513f11","540879695d41205515aaabe5466971014cb43b960a26b8e5958e37fed63df762","548d237f42167af5cf5caa0ba20f0e7a6387deb6f27765637f078325172396a7","55267f058e9f085117765e4ca72ce875b622ceaceed964f6c396073214835c28","5560616d1e72f0a539f9ebbfea3b7d195c1ef5622f97994af1963748d4f97533","556ee783d8e2e4ca50f656c095758be613983f904d998a6534fb155510114f21","55a4711e799294d06988ab4acf77eacd7d424123082bba3ec987dff0ae13999c","55ae095961d78a1514c4dd1e63d477c60179a8662571ab5a90abd3eb2b83eb10","56e7158313357bb145bd98c5f790e569be2203fb2601565a30091a597a7e7ff5","5962dd14d3923433cf723d698d1af19ac37a270b6e88445643fc56a646faab5b","5a2064cdf51026eed65457c05f34bec919b31d96d35c29498d298685965f0b5a","5b77bd6dfa81cc339e729e4195e258facbfeb64b9c680512f742e3fb1961fdd5","5c3527e43fe24c5aa171c6fa4a3de7fe5e78f2527aed0dd19cb21d154d43da21","5c79c77f00167ca140127b00f1a79e1ffac621e46fc461089594206a7df8d7cc","5ca67643d5111fffd21deb18569162733e846965bf05fe6eb33ccd37c964025a","5d015880319af666943e68169ca906bf2f0c813d8bf2c5c0262aeb5a40366350","5f2a75b89983d1005a38afa2cabccc3a39f31989807120281d8505ffd564e0c6","5f43c837f39d207c35a58e9b36fe3144017b2012ac7da334714247606f1906d2","5f4fa6dde5930fe1b42f805895f0f5fb135c2b3ff9830f2bd30ae7526a3295a1","630fdcff1f227b5baf5d10bd78ef0fde68791ac0cd8a15f65065f5cc4501b17b","63113617f2e4ee6b827a69bce6afb3949190a282f5feaaa9e2c9f82372623bb8","63544fa69b09916d52b305700eb9816305ff22b77162a44edd13897acea3a655","6385459222fba2c3302d3f2e38c57fcfe0f1829679fead6cffa1964248767d5e","63a4394e689acf4a4762cfb4df691d05f923fdf592fd2f8ea41e6a54f98d1136","65d5b7eff9d03761c8206218159bb34883c09052d6a1959d040f711a881b4d4f","66d414618d4283838bddb6b9fd4b5221c280a7f6a715b622143d3bea76bfe1f6","6989ec486a05550633170d2aa79188ad9b03aeea6c7859dbf18790ba78c5427a","69ebfc7eb8427db3c5c59bdde652d0cb269426126f8540b1b58caa29ccf130e2","69edc4285578313d1dd2f914d69add075a7b354f7fba717606d1abe15292576b","6a34d9279cae58765d6ee4a980192c0e15f3ca217b9f1815861d472a281b3cf8","6b00dccaa7deabc750679ab085b237a2bd025bd971ee1eb7bdc333b393b19084","6c3c592efe9c684ada5661b8cc88a5c3f6e57c841db06b9e070687504cbf6236","6ce6d164c3e31463fb9e144fdf91413e55d077cfc4f25092bb02923fb538a84f","6e08a638e1e28020923effd4c65fc517dbe7b06100ff76cde74e427191503b84","6f3a7020233cd77cfe59eefec0a277f6dda323743c8d80e4e54a95cd3cbc23cf","6fccc6f0c5fa71c43211785dced8abd0f3295040eab56063f4e8d77f1c09b8ef","700cd21af9ed7e81900fad9d52de2fb11db48e64b038e4293168f85e5dd0e043","702d1dfa75e92a916a446429f474d4c296e6ea4e8c487995852d0525e8440659","704cf778db6086c3e282c81249fb0ef09c1d7c2043335ef74c7ecb69bb3e84ad","71ef1ed2d5e4bc7eebe7a73bb3e9423e5bc2f8319186380fe8b38334952d3b01","7256ba00af1cf759b95b7bf8ae3b9943f31349bd10a7652a26bb419b368d73a3","7369b339daca0fcf46ac7fe82d65ae95c75d7dbcaaae51209e6d90b6587a014e","73ec844fb3e2b9febd00ba37508b284fad141630f03cb9f74e36a195180f5054","7410de003c7b582e30470d1209eefc796a70c76fe8d61dd9ccfe01ecfa41310c","741c27b54c49167abef1d8633e3743b0e98f82a73731e744b6671e119a1c6310","75aaecf53db10459d768a6873f6783e7d7110aa510c2894378df027c1b03584c","76bf5a9c126db6eb466287a7c0d823327ee9882a70eaaa6efb03d169b5dba808","781a64598efb2a11156f07271ba1c14c4f6b3d73aa2943b26eae02063df7af70","799abc1e8d381b8d97349479139985e383bb49179b5a80f39807cb35a3ee78ce","79faec494bdd6d098c9d2a9d8559f822938c6b2104188db95321d89e7a732979","79fb2e6e6a91117b6aefbdaabda23ccfa596620f548ee5075993a8dc7a8b872f","7a032dbf0351aa32c77c8d187f7eb697500ff186c88c5946ecc15adc972246a6","7a134e7f1822183ed1c0ded720971539350feaaf92612761210cfc3ccdc55870","7aa52373f2721dd76fc8eeb3d6061794f27ea8d11e96bcb1ff25a97994a77d5c","7ad4ef4b8d3221758a9e7f9577750ee03f6cba11c8eae8bf25f74a3131bd21a2","7baa35131ece7ed9860607157d2531d4d70a061bdc9bb9876e20328f127cec53","7cbf970a11bdb91a40e248eee97ef789205910ebc913349698fc75ed35e82fdf","7d6133667f81aa66a98755d253ea43301b45ada338225df034d2ffdfc79829e7","7e89b59b456dde4bbbdbf8079665bd82c51d8e500018472981c15618b3893959","7ead0c68ffa0ced241af74dde58b3831343dff3f7eaab64bddb9954545b7ba12","7f8188b57ad3b0c28210c95954e5623376a4262dd5e75f002700c6094b8d6b6c","7f91dfc2ea1a3131c4090375db0f489c2a572e245ade6cda4ebd440446d6d60e","7fcb8cba3ed0ee9c342947aa88f0f699bb4f5c23244d21c6c739c9b66d7c6101","800060d7b4934508d0277f90a464e3112fd2fc99af4ef23825d09b0ff53f91c3","800a802a4ce9e597a102f0a566535c1f9f7adfc60c41af6bd2db4fb7fe3c0d0e","820c12fcbded9048a363b9e0ebbc48b24f85fd4a68131b5dfc1b19057bf09ddb","824bff7541ec2a4b0be126f0b0791314d568a0eb4e29073de4f9dbe0ee4918b8","82c419e5de083e423330432c9d45c744043d1bccd8eeccb41e3014ce9ae3c32f","8343a4211a4d0ffdb320d5a4305174d85bb707d15dad978f6436297d022daa11","83a97b9ebb29f5cd014ef5e178970a601ee92c44678f05d1860b383c5f63b79d","85a962a7c23c14dff8d683e738b53f422221697b213cafeb616d3a172a6c4223","8629fddeb4f273b35df69d4d28923adc14eff59d919b1a495d1a68818137c561","872ab2b2d65fe685b91e355f5af051c85b79569ece16448160d01fef38039624","87f2b3634baa504f2ed9508c6cf6a47bbfb36214a177eb13d70d6a987706818c","88b615ef6a31bd9958e98b8ea522f49f0360ccac5d9fa8deb9e3ef3fe3147d9d","89cafbb20d6029656266d8cb0f85103fa519c8032598282fea58c94cc59c4125","89f2105745b3a7cfd30e7d7c598d6c8fdde0a599f30fd0db7382cba50412445e","8b3eec010d1eae43a28c88434f2410a751f790a9d6ec4a08e75e68c171629ab2","8cecfa09651c40be4d7c11c117c80e1911dc75bf6f1cc34be64706823cc024c3","8d250acd40c8a24ba0d51cc73e65bba6856509b5fbf4c7d7a435897a01c6e764","8df1420c27503370db9382f68a0af8d2b4d56f9dbc94b24ffae450a905083a79","8e7371228a726f381fb811d1d812c39917788a3df7e53dba1a3c364e755a0c03","8fae27ba5117e202afbd523b249fc454912571900fc909f5419b8ac96c773c44","902b958b4db7d8d8bf73a82a8aa86e5485b39477047c8ad60175d118fe31d987","9056c360e59fc78edde932b54124df317f2f04a90c0c6eb7825a87b89edf1ca0","918126027fabb7947dd4ae810dd561ac22167102f9f978f86906624ebe88c9ea","91c9ced5e9ab8da897b7f69166a7d0bade5c58d511b42d60d5430d536da45d09","941f70c384905ab77cb9a88e2671301117e4df553da6fc7a09210710deb9b6ca","9442788fa51227044803f1d3efdfc1c2b2da372871a85f0f7a6bb3596a5c003f","9460f427df72c238c4b55f39c8864f1fa3685b0716a53227ea6f7b591d955c82","947a1cdd43831936480167169d30334f818bb5d882650a3547827c05204af111","95f0c5f3b9071db39fd72b88ec9fb2079ce7553fd5884fa527bc9216777d7c10","96c4c83df72e9d860e2ee51f1a74bc867c4a45efc8bf11bf88aa82e368b89aa4","971f59cc197732d0c0b6b8aabbbefca4550fb8fb04f8522bdb4257c05a28848a","98a097d6ebb754334250dfd3ccc5f3dfaf5966524758cbfc9e10adf4a0229693","98c7e4bc2f05e9b4ca703db4a02347db7355a44f04e3a4003e26c46a56bded2c","9944d1a9674e555a41d31d069d136461eb06dd4052d40f2e4ea4368dd978e01b","9b466e8fcabe551bb6292d23a359be3ea15b7627a6ad9c9e6a4ff11444c20860","9bac7daf255467f47b83723095f93fa4b574d5fc08593f48825a2b2ebb8e2dd8","9bbd03293bf53e9db51401d157b3eb2aa51e9c70449350e98b9a0a3fc9a684ce","9c3b318c461b56a8d277133a6b947ef5618690ec281c42e9de6c27f22458d4d4","9cef1feab6841836dc20527fcc8ad9979671fe811ff80a5a33bae113fcbebb97","9cf90b3aa59f3ca0e40fd9e1fec9703428752d63bded6b091d28f614c9ba99ae","9d8637e5adebaca208f21af0a254e80712988867411be560031f4b7a23cc04f6","9eb67ea41c5bcb9557ba51bbbd1b321a78f16335cadebbed848d8e6c1fc68bab","9ed400941ed49b2d90ebe3cc111d90d8bc966608ca61fe9bc315a3c1dbe8bc1b","a0ff0d0bb3a3c801b637d091293f2eeaac68e934274e4116d298ba60ec3461cc","a1baa1f699fd4ce19e8ef6cdfe346e1b0be63e16d5c5cd5feddcccb16a62f269","a3c84d76be9d891812e795dd46470c2978dceeff928d729c0d5dd6def599923b","a476183540f2e7121e533bf2dd9125dc071c81acc880e88cb435cad7a6d35b97","a514a8c0898b6697696ca6f0ed9a43bf8993085b2db4299e3e9f8e3419c4a5ee","a64e8aee389ae696d0d4b045c0153092113fa522ed5a0fd9b5658b8418db4ded","a6c531ed9bbafabfdd649f3030daf2f24461163aaf99dc73bb24dddb77bbcb90","a7ff7302e668dcea1cd1db2241ff95c0d73534539bd03fdefebbfb57f60d3849","a8b4a33078335d2811bffb78eee49aab5fcb31597dae366d43e20c7f7800994b","a91a47fb4fa5c1b1a834fa602030e435ad641240e6ceeb99eeeab7341ca09dec","a91c8a1431a4120667cd523cf56bac004794fc5b8b24275ad2f9c8a15c75fba1","a986593807953215f834ba73e7d2565659b32aa849986013f8614bb1c61ea8cf","aa131e74e695292adab9f57b3ccc5a503a836dd4b95a3b2b107c69f35dba3637","aa4103342641899dc00c22207c13ac31c0c73afd97771b0a9b249187d979625d","aa70263d079788757f176da269e554fef9240845706f87a93101591f8114e807","acae1db4aeb323f3b637fa11b087c3827a2fb6d69718362f54e3bc48f70ef7d8","acd7884bca46ea9422503cead985691da05cca25bd5ed52a199783cae7b8b01f","ad0e6d78c1e450e19bfca4a0e904644ab0ae315607811a28ac3dba20de869786","ae69fe306bf5db346ddfa4367cda24c95e44213baca27b0ee7d7167bcdd85af6","ae8c200dbcea29f43b29974cc247d70647c80d5d76385396f1c82ee9f669e2f1","aec13a075b84253397fb97e1c93a23e1aaee6d6bff2a9161bfd00a5b1d7611de","af12215a96963c1e7e5d766ed994695e423e4780ed0b3007aed87b150d090c05","af6b60ae365a6cbeb140430b030bdb667f53a2a97508ae92dfc9ed91ca73b54a","b09355a97e3aef396f681943b37a404a98fccc6bcb97781eddb2fc000d1d985d","b0ecfca0d114bae34ffa62ac3ea05159a4415fc6eb73ab1fcc4d79f657268f19","b25c41f19ba40e646fd9b6f82051ee4c38985539e445b26bd628eae98537df53","b262187aa66e8a97083bf7f79b91595bf7a4077abe7f8be5b00b4998f4579d20","b4091f93c3d96e36b0708f5dcd46e0e7a0a48f098036ccef6164e4a6429ed94c","b4093c67a9195ee7d28d2575e967ac80057b92339489c244243c7c504c669ff0","b44352445272089cf90967d4d413cf7009bed0ac19f3fa95cb831d5ebad081c3","b4ce73bea5219f1b27bffb36c6a9dee14447a710a8938db807770083db4552ac","b5102ef50e7d4ed1925af5a8b45192e737df02fafb75d7065995a2bb93d2e8e1","b5428b5775526a00645566822530fb969b82247ba83f2c80c06d34151e1f9061","b6cf3b02f36e0efa93b04667cdc5701340033a09e41a7196277cf6756999a666","b77c6669bcd54e0fa949faf2f7205f2631acfbc1ccf79f93f8dab5c5717f0e93","b7ffd6cddb12384224772e8de79aec89d8f4bca966a3c2a05763889f92a6db5c","b83f5334b85422ac110a24286d5af7003f2fb5b0d783efe257b38a2281656422","b8abe10a2a92bf537a49e8dee92baf8de3ed591848a1b25151dab0d7ab3134e5","b8b8c5cad182083f45ce2d05d036e6bfe91cde1fb63f2e5a97c683bb7ef7ea0f","b96cea09313d481dfff1ed1a2c552ea29e8fe68f52139458996a4e36157748d2","b96f9beb6d6d8fbf88c4b8b2b807a362f2640479cab6173cf64c7710817785a0","b9ad2510d8249ec4c8e7fd8b2471727aa1bd0ce8f3dde78e545fb2f8f2985a1d","ba7d7464da8e13722232c8f86273774054693681becc450a68aea21a5a0e9b91","ba87e5d43ddb10937bb17941f055f80a223d0981fbba44107aeec8530e3a7774","bac3431138e986d6426c1e81bdfe0a968394896c0751cbbcc8f36002fd0ed069","bb230236c4ab6353afb4147014c93204d3d1eb8a6d18558075df5fe79ed7f392","bb7fa81e41820d63d58313460f5a3999a1f9fc2cd2fb10cbb5b41a931d8be6a2","bd714f38c881208f1190ad714bf8fa5aa63adf302bdaa8ad8810ff279e43459e","be75cc1ee935f783be39978de91ae196c16141d4096e16eb6d07f59583296b4b","be8c3cb2d8d67e63c8b069920b74c6272922febbc6a0a2c4a0072a7a213681d2","beed0f36d9b1b9a20bfbf89c96862482b8d5b9d4284bc89539efe9c9b11f000d","bfd21b5c8eb26e9d475868bb30d66ee08f20876e9df5cd06aa8fec01ffe666df","bfe97e65f2cbe6bcd0f14ff57ea4dc1dedb2e5f0db92d04d0982cf1932ac1c3e","c055d3cfd85b2ed4607b0d9d3a15ab7204c9f149599f748347dca4afe102af0c","c112d36ba38c362da1c022945db5b6bbdc3014685ca9bb7d940f5086f00a675c","c23a43ed460117f663cec698412729fd91b5aaceb48cc4e55a785b525661bf1a","c23cf45c1dcb748145d87f5c173dd3c8becaf9e3f6fdcb3e2ca91d6726b0842a","c29b8d250a7b5e73f4ef675329da2251b8de032501e4836445b6aafd90c645fa","c329c9df0dae8a036da9be440432d045be3ee13cf5664cfa6ccf11576ed11acb","c4600cd5358b5798a075beb54539d952f200def1c9a573bd237c795fd33ba36f","c4ebd58c4ff78c9fc0cd17d80ed563520f7908f9d1106735ca0f5a7abed202a6","c6752cc3c7ad06d1e9f127365f078919ac46b77f8a8fe413650094d914838ec3","c6867ec30530fd3feca89a4e968522f783b636b165ef74f288c42dd50bd51a3d","c6bfbb004af355e96ed5b4c8c9b8b7a96d1c08d24bcde7c666728eb9497d6d71","c77c4d3f536cda10a71fe6a9cd17ea7c1408200e2f7aa7c5325d6915ff250c85","c8bd340e6fc7fa3e97415f7ad4c22c51d88c6e77f782c12923e841c04d3f882b","cad13b6653fd9f811e67d13c5f01f9dec047f8c384097cee01dd2e2db39e539f","cc24c3770587f2421514fa399d2617201752bdca145ac39058de91d45d3d19c1","cd2da00f6f1bad8fb7c1b87cff80e122eb017e44a471cdea769efc67db369038","cdbb7338988f2fd35fd92f21909b7801d9954d1c7ca78401f52c9313f21fb6dc","ce887fb65b6977a2046e7583d704863624e55909ebcc9c3ed065b3d13079a410","cf9223c369b6fb7baa52f301f904352ba8e8d5e4c2a06f70de6ef1cf76fe1b84","cfb9705939742247da0cb71fdfd8b5f7a1bef6f1c2f0979a8f42e54c4a480980","cfc3b5044af37ae7485fba8067dcb22b2438bdaa6e3a30c22ce0f9e2c00aa597","d0481d9b6111ab4afba0462e88970b863284807ff44ca97364c84952e3f88583","d0973a1aca6a118375b466d6e91821f8450110fdf042ac848ee16912012d2b0f","d0df3068db679e24d9487ee09a6462ac5cf3df30f46ee466b66feb6dd5ff71e2","d227e0a73e3c5452bc5ab41ea2c695dfc0ff9b0c1c81e59ab3173f796a4157cf","d2cba4dbbfe3d026f825a8b470a2f6011f9b8e245cf042ae8889afbb17dac6b2","d2e4c515093f8a2aa824c8b542a016e5c321065f4525931b2fac4f8af2fe52c6","d31e8aa21d1498f2d4a07c4cc89ea6f5a6d3ce54d334dbff230e0f55db35c85e","d37de74aadd5916eeae243decf347821c4e946356b9f70471658638ac3092f91","d3cf9b1433fd9a083c60baf6ade1df7f2a33e0cc7d519f491f9d6a93139a41e4","d49d02cad8bbfeac607457b08aac6068916ef45d8f6c980279d6e654407cc7be","d4f51c31a454d9abac29457cbbc21e1b5767c0eac1b37c41ee787a3efb05c80f","d52ca358246f638d0e11a061e97863697df44f43b093d6e8b84ba67b5838f2fb","d581443d0b6b42c76b816edc6946ce01a639ae42653ddc8cc2d6a89ce14fe947","d5c084e12da4a5111487c166b879042a21a056f761ee22d9237cb4f65f366341","d6077d547aa21ea10a9bdf6c752b8d1a0a6382b4b43a0fdf790f245e66a609fc","d67e8c1aaab1ce6ec1755599ecde153c47c6b90dd4c301663abe9057bc31af57","d6abcc1484c3df45bde915abf48324af1e995c3266a3c6c069e98e94c8d9a4d7","d84489933b19a8b073c65a0386e39e5067830facdc365ced6efe1948c7201771","d8ca8e025e226ad6bdd32a6a9fceae2982b0413a0ad09314558b54bdc724bf99","d8d03142030c11a0aa1012102fce2b202baf88e424a1236832937e87450dc579","d9823dfddf6c507ec030fce4bd2d98fbda18e595c2ebc563574d9196cc7a5e33","d9b0972f3406075b860ba7cd2e71d4492c826960319b10389c2c2820e2981254","da37a61fab07ec8856b725854e4064f55a59149aa69cad1bcbf89ec478b9f578","dad01e5bfb13a6c4419f4d24fa8dbb424e93a1c4be656b0e5dd48ac546e0a0d9","db049e7abb7c75b608ae25cc8a9f95959f7aedaa53e22390290319cc2eed3977","db21a75b4fa6165f75268963474f3262124795d816ba80f685bab2c6eaedb028","dc8c31e3075adeb63113852569b83dcd432485621eb77fef62cf3cce5c84a214","dd97ab52fd89f42352c595ce137684cc519c473fa17969e8a6adcde7322a4748","dda0a34d6704887eb36bbc0173334b49d755cac8cea3bbd17bfa972f04183dd4","ddbda9408727a19a4a55d516bed99331edf67d8301de9c78564716465c949619","de0f295bd0e46f29db1167d6c21bda624887c8543545d0c37d662e5b1b312341","de9a46da1f4605525b484a228f8bf356a9d900ecd16473faf77944b22575c141","e0288c94ca9c16a6de217e6baeed720fcf83e401bec45bd15ca47ba8fc9b44dd","e1667469384ec775a3df665679cb3fef057dc84dcb18ed8db8b9c5723835968a","e16c328504278cfe520d6d99990f2a4370cc48159aba86694d0f7598fd4b0611","e24df071f5325bb3a5b20f355143556bc7712535ee8b6ce4c426598f06fd2448","e28d8e6b71264d0bfab853e63178f2c151367cce0dbd16125596ff3604b6658d","e2c734504d211580b4e6674eb1c7d31fb6fb730c037210c34c980a96f9098269","e39ee882667ef28feb4971b73f9a01d3d72c557e1e56d59487af8e0f1b21edbd","e3f19c383354cdf45311f92f00b90fed25dfba7e9892ab2f5f3aa4885876b75f","e409fbfe439455330c0fe003de860e30f7093cc3cc83a32f886c9b539a29f60b","e6300ee8e6c2c4ce6d7ab02b7b06fd1cabe3c5c52b99a6ea3ea8b5acd5092e0b","e65e28b172b77d093f5425112bdae7ab93756487226fd7363057f85bb2a2556d","e734d068446591aba283d136c21b4fb0209f91352cb4fc6589bd651cdbfec163","e7556cd0bdd06760602ef78c5e3b30b4dbe175f96b7147b56ee2ec181a4c5ea3","e7a333109a7aaec2b71048868500c15e721900628eb48790dfeaa1fd4c2dabc3","e7c9175fbfd9fd84bed95d552bc0a439b07a233c3e91fb39ae2f23197ee53f1b","e7ed299ecf44d4a96c228e9aa30312f405df34d6bea99d4b0f7074c79705a671","e8bc1b4f162c4066d74e5d1b3dcbe344742279b6856736c2e1690dbaa7bcf932","ea1b8a251ecc1fd96697d0c602d3e14ec46383d27bb9485a0326cea5576ffacb","ea311dca2ef14e02b9aae563bb28dc737b04b7f01c1ceb2be3d92007d2c74ac6","ea8e5b79bbe5329ae8437677c8316f2f9fd75bb1d40c88308c269140a7e564c7","eb996138bc91c0ee63bafe1ba10b130ff5a2fc82aa4918296222e0a831a569fe","eba6e8e5a12a86f17fade41bef365aa95491c469e18aa91aef64908a4263c905","ebcf0bdb3541c8bfb7c9a53f632329b77341cba6f1a2fa0dc9704acfa3276dca","edc160a11c07dda8072748b66db7f27b6cd8efbd1faa3f6c826a0fe445859c17","edfcbe4773eac1fe2964179a4ad21294efede89568f2efd8e283ac18bc5693b1","f0f90dee84db760cc1bb0f6e6983d4de0e3d5d9f4adf7b2b52f0d3dbe6d585a4","f1d4a6e98f41ab3f6cfd67cddeab9d0ed287b92cb3dbe575e3ce61925510a792","f21c3a9267110e469f224ac7eb76ca5bb084fc90df014f1ca6791d5770483944","f379a1b9e29aa7fc25c4c0c897eaa3c0e90d66a201a0ade8cbf523a5cdc8cf50","f3e04891c79b604f9235f438adfa49ee27db43d25c7be0d1cc06ae53b8f6d2d8","f46904e701174fe2850798d9e1b077bdac42fcac01dbc385298da01118c82aa6","f4de28905adbfe6ae4bc38f8bf5f47a444aa8d0f2023faaa431d6f72f9a3edea","f53265f53af0b0856911ab08b373736964d0c443e8ba61d7f1d45f5e5b04edf3","f686173d310f41e26e3fe8a7c1dbf4313e4d793323335348badbcf4633f5d699","f6f5046c1263095a69e774716b0cd0907f6795af8ad683c5f41846d4c54a3449","f700bd87d4a758bb71f47731121a9b2259a9ffbd50b584b82f4e6a1f205c276a","f704c9c9e2cab1ed44578f48d161320b5fb4384ecdd8b40a5e22c4078a8594da","f7993302f695430a0ee938b1b3684fdfec4055bddb378b52c81785c0319e8c98","f89156489d35f9992d5971a52a6e03a7d7f095e15c2c782e85efb1408a2bd6be","f99ef6fa3c9c6bf572ec69eb6eeea9f88ce6590d3a5565bec62b001b6f2a376a","fa2dfc22b4fdbcf402a822e8dd376925655d997a0f96284a60f10665ba3581ba","fa3df5f8349aec4805bbcd279b88697def63f2462d8ada0b5fe1d9983d9a6daa","fa6b97cbca1d4f09662e706293b0aec1eb76b8e2277441f54ab6c548b5423236","faac0c3fa7cdf67b452d407e9a1db5cbe1e9140ecfe300200b0b0a6279c97c66","fbc8b53b5c6f3727c084e5e0429e410a3fed5a17e1a0144692fd196d9836a4bb","fbd74e4b8dc748b2efdd70aaab07adb80d7f15a38c1261de85bdfd9591ff106a","fd04d7588bb9e6ca0a8b65ed0c9635082a9ee5f46b2d1b5b25866a072236c1fc","fd60f2a432086c6fc4a4c39d8d2d6edf5794c763c05a6401db2bb5fa2c601775","fd618761103380d690cb98804e8f116b6c66ef049fbf67c1a059ce49188658b3","ff532716738e2fc716c10797d9717f324cca3a1234320a84a73a0b89569f11ab","ffd0fe3449e449c7b9fcdcc7e2c1ffb677e57ad935a252de88a0122d437efa67","ffde5c700732beac27a9b5162213d387422ce199400e56d9cefe550005b6a542"],"schema":"fsgg.atlas/1"} +{"records":["000ada42299601fba29016e5c0e0d4012876fb42670bb10fa0b1315477254ba4","003893cc49855d17a15295d7adbe57ee301ea20281dff216461baee0810853ff","0052dfb9eafceabaa590f4497e4d42f19020718c84b981d265edefd432ccf8dd","00641d046d6869fdd0023ab3df99e0e67a6ea28f0dcb701f622b1cec8b3e07c6","0066d4a624c02398f21b4d7a736a9fb5101ed8b6b13ceeab46907e9401af98ff","026a241141ee10eb829aa6ce461969242d5c1d45fe9ca19f08ef4ea880877676","026b08fb343aefe19177e95b759560d340d372def4b71acf613fefee3438ade2","0357495d23fac4fad210b6dd7ed7cc57dd33d107e1659a81f085cad78300797f","036c148f6d0e89858c9bf4cf380272ca6904bb4ca277a909fb71c47f5450cef7","04d17203f03279980862496517a1f0861be5f6cc8063bfbf92f8f8ac19744fdd","04e404d89dca295564813149472b1de8e6c43357e2f6d91d169ded7600ed3a02","0509e5c6fdbd2dde0c0db8558647080560714804d00e4f9268342f2e84858a3d","06ad2c8aa0ff3b862edf3ba99e0e4e8801ee163709e66333cd06c3fc61232b05","09e90ad705af012a8c36efbf296757f35adf9c9ce3b8908791c75d72c192973f","0a6d7dc5b64970bfdadc9049ace95e8bc163fc421beea70129ff0eaa692c6d06","0a862ee40916522f8ae5f14b3e084bf5f2e6488185583346db96ced16ce7619e","0a9df276d42b56d98a7802befc2404204e0e5ee8bc7f5c032f7bb29aa4ae2091","0ad4403c8f4078dbfa543310c69bd1dfc768e305987214ffc37d7b2600c4687c","0c22360d4653eb0f450e4d3d34564875f1660cfcb2d546095d98b3faa3967cbc","0da4d093b49c0a1f654b38008bb01195e816829279ca1989bd2448194e15361b","0e560af7d9dd2e0f2f588a74cd35512973747f20bdfe0bee0bc889105ea53dc9","0ea7107c2c8edaab3ff2bae32f63cfbef6903a51cdaff257278f757ed5ef429d","0eef4d717eb03f0906aa3be7336aa71f831726afabe8a56077b76f6e82fd08e1","11fe30832d93706c60efd836b09f35f049c4a715ad6144cf277ca240c5780704","1244d27db0cf5075353bcc622d0fb3b5ca6a7d08526e2c5754e8b745c250bf3f","126c817ad25ca9cbac2a0f7446e76c79852459ac7b9c61e3ba5d5cbfe5d37dfb","13824d6bce0f961c89eef4bd3c8a72ae6ecf7a1339b9e06eec964dc5c12dc544","14156f1c6bf0fa8dfcb5cfafac09e012db446d528dad0e4301404fd693b9bed3","155fe673b8ae12549c978e1bf1d5c43e360937fcf2135cdcd5aea6f6c771da44","1945f527afc3c2930ec4d7fa57ebb2ef7dd6321c0dd3ab9233c9963e9e613165","19d657b67672257ece127f3b957674b7fb4780843148db0a36a0b329c2a418ba","1a24f6ef0c08a898f309c1b925fc19b29526f913a61a1dfe4b1a4308ebdd97ac","1b5351b2dc647aba864e387168db5128435cb80da94fc42581cd60a05fc34b9a","1cfd18d1b12b25604d818389a34bbaa746f450e70246c7f4242fc4e215fc46a4","1da011289116fe88fe92cb8f0e83ed7ccbbca251681d4e136c5a61c40364f8d3","1ec9445b242d2a2e149fe71c67bf13d8c0e4ebe5a6ed7b022656b9941973909d","1edc36731a9c76ad07d269d8b4fd84c8c956bb43d6f56de17d6208164856ffbe","1fec5a63a7b2b212e3e5d5222e49061f3b924966c9741294f5630836be8a3925","20901b579f69cc97eb56b492938864667576e1c9bfacf13f8a529c4f6e543448","21338155cb4f52c49e5072c877771be67c75590d9b238ea025fba5209fd6e018","23af79bd1e7995fc8162ddc4d830318acb054bbfcc9c7d5cb141ec306da67386","24d4f2730d94d1b7f149771ef0e59192f4936d142b21f4a56b1a391e4514d38d","252de742c26409c837ef491f55eb03ffcc99da13fb1a2f8ab66efbfb0c081a2f","253bb17320020b6a5ef8f0958856f6c565a239b4dc246d9e825f8b14da9ca8de","2591526ddabbea03fbdc38bf172bc54f42df9bc51eba7ad2b70d6e67215f08f1","26259abc7fe745f52e06f2aa2abb0e50f189bc7608065f04d5c669a0a99941cd","26290a0990d6dac0ce9448e05eb934210603356043dcf14a5d80585288e2aa92","26d6b31965013079d4db67a2c403e01f21e3c30ae65953400dbed92e289a0925","288daf614247c260cb673d8674e8b3874ccc4e269347836851f702d7ac8e2f7c","28abfaf6d50ca38af0b88aa50524200c17af9000da83ddbab3d8f9e06e020fa5","291d3db272eae084d34c04bc1305f2abb26a7e7acbc5515208469b46719a4ed1","2a38ddebfe3380232e35d5a24f9cb9f7c38abbc9c68add4ea5952c1e65d328d2","2c76ce93500601e281a41f5985fe4e3926fc8bc9d01ee687f14052cb553ad2d2","2d599c722a08306b98f2d833fb3e4a7acb9dea92e6a58820caa2f65c09803fb8","2e1bc31ff6b6fb14d0ca8703a02833db749b03e172f2e91f9423f0751e88c256","2e872e9d3ab8b553270e79673060c50c1afd68a41fcf9fdd0a13cba80be0dfaf","2ecd502add2d801eebed39411fadc9a80098ba9ce04a5f4b728a0e4e331232d6","2f7357367d921995f4c6fdaa693392adcd2df4860ef4d25c8dc47f7ddea8c755","2fb2ed7902a8e35dc36489a23245d963026d688008c92fed6fdc1f6bc27198a6","3018f389f6928af5830bdd081c9d03530a379f37d1c2f9196e6fb3c44eb337d5","310bfb5b2d061bb733771e5cb7b3b7d25db43af5eda9f806169b7ef9330c2fe7","32f69a7b8997ae98b9305ee578145d795dbcd39ca4469bf2465e57a0295cda51","335683e33b94cb86b5e426b4faed200673bf850151191a08458136ceb164fd4e","3407ec53a884d3945d86a88d6b9a883419dd426e96b1108a8e6686f30397a629","34463778cf2d29e3896a65613cf9e3eb3e9f2d8946d17f12b609e70eec63d128","348ba129b7b9c94e24fa8ddb81024e777c60448d1b5d49f7b2075591b23c13b1","35da3938b72cf3520e126ad595157104b69ab748904c7b4e12f563d6b103172b","37c8908ea2a349cd3034018027160ad810b28ad1fc203a9a353971e1f7396b4c","37e39faee019bb041627510f1f02746ba9a85696417a083b438eb4974b72c2bf","38a75fd804821f4836f0a7ba8d41af3d3a3a5f5d7dcea68487009297824258d9","38c6396e645750efcb2f187c36c383471b3b0b59290e3b42cfcb9668594cd0c3","397476cf107b48e7a662264f8fea9f880231fd3d1e0401622650f214cfaa35c7","3ad8b0398ba6c354c9e31b7438b2515579fc0b1f17de4b35a914c862a3a11e3b","3b3c6cf083b12a840565e00458e2fd4ee8a61f97cda452703a6b13d7776b6c13","3b4af144afed3d52dd2e1f64e23bc25b3475eee5f7af3bde9886761b15c33dfd","3b5d82795e9f5d1992ab67e078fcf1108247ab9b6d1baeac944d3ec0294cec5d","3d0274f77576abdbdf442c8843e955e1bbc91e9f8cbfe3646b119337cdb13c96","3dbf6d1c2c8db1a7e3988e2a84b67a4e1d7c8304661652ffa94db3b7eee08edb","3dfcea4ee3d0d0ed09b1f77bac48b33b64ab4620cbfc74fe0e4201b4cdb81ce6","3e2f66baa16c7ea936eba34720a55897438f60b343cbe8fda4eab1e5dde044eb","40de9f41f9a9f56ef6a51d065270e875b4a85cf043b7c4a0173b2510de4979ea","41c768ea17144c6ec225e9a65d4c3c127fdd7264dcba1a89aa17b20fd5d7e3ee","42aeb46fcc3d10b95e4067bc9cda875fa933b4102873f67c7bf1f8ca6799a598","4320b92712bc14dbe10b56f1cd3d1bdc093fc4be6016732839d0be4dd4d027d3","444342c21a4743af5961beeebb88088f5d2a0649f76c71973a7706a744f5efd2","46cdf2c207f79d388001f6636dfb7a98bb2ba72b9d1c6df4938f0a27691e07a6","47b5cb2b011c0f7012d75e88eb86a10f3f0bd48545db139669e654cac1f69650","480f1ede18ae031b164d49d676feeb1090fb33932676ff52e1e2eb24e8d154cd","482cd15ecd9cfbd8e1943c0fcde0bbf1d875392dc2a701b698f48bfba684a062","4855e1947afc954cb1b20bb45e7af10b098fa34714bd32e9bc77941cf58fdaaa","48797c44c92cb34fd9a57a08020b45c6920b2268dc8ad616c0f814a3710d5316","48d094622ada1806cb30335926007c1abc476b1f7b45a2e250c490afa25e847b","49e8cf09e38acefd3a0fa62d048028286d3b47b5ceccd8f51f10022978c47820","4a724a6a842a132c2185279513f341b79f9be93e42660f1255770eeae3b1323c","4aecbdfafb68feb3124c39219498241864bcf1ceaf87fbf80598b1dd87a9191d","4b364ecb35ad02b06b6b0f32b6a29202f2c835e1ac0d70b89fd0278271799dbb","4be7778c4f491d55154a028d9a9dbb35059953fbcd243e0206902a6e64645efb","4c8c327dacf345e184042092e96ad3ea02ed4cece57dac5fa68ea52fbb5a6adf","4d5a44ba07fafeab823b54a21846269330ce35b4c190f3ddd5434bc8530d9b41","4d86a2764c55b5c5f675fddad8850ce4ceab160ac5c164a299fc098899d31aa9","4da0a5be70e8af9c39623deac83822749482187f6a0fc3d186dcfddaa7111576","4ece7844e2b35705ac39fa25913f6909aad5b4b7446bd637ced46b47c0db135c","4f1e58fc658a4ceda181e2a7fa249305b09b573ffd68c2489f204f4957224957","4f2750b974c1404acb721ffc84cbd1d0756a24211dd6f6503c10ea74dbc45676","5029c7b222158ab3f325168fa543d84fd2332d2e3e38db1ce7b83899cef201d1","509ec9c08864b9dd0029f32ffeac85fbac863e2dad459994c65b7cb5264faffa","50fd7e982eb2d2813634b7c44e102788a1a1cd4910a27acbcf219f76314fa322","52049cc9cee43bb27229e6b3e983e02c6aa20dd7d153b13e3c74bc6d2b47cf92","5382c901d160ca2d79888d8acd7a690a5349826b5da486274b0800c9d7513f11","540879695d41205515aaabe5466971014cb43b960a26b8e5958e37fed63df762","548d237f42167af5cf5caa0ba20f0e7a6387deb6f27765637f078325172396a7","55267f058e9f085117765e4ca72ce875b622ceaceed964f6c396073214835c28","5560616d1e72f0a539f9ebbfea3b7d195c1ef5622f97994af1963748d4f97533","556ee783d8e2e4ca50f656c095758be613983f904d998a6534fb155510114f21","55a4711e799294d06988ab4acf77eacd7d424123082bba3ec987dff0ae13999c","55ae095961d78a1514c4dd1e63d477c60179a8662571ab5a90abd3eb2b83eb10","56e7158313357bb145bd98c5f790e569be2203fb2601565a30091a597a7e7ff5","5962dd14d3923433cf723d698d1af19ac37a270b6e88445643fc56a646faab5b","5a2064cdf51026eed65457c05f34bec919b31d96d35c29498d298685965f0b5a","5b77bd6dfa81cc339e729e4195e258facbfeb64b9c680512f742e3fb1961fdd5","5c3527e43fe24c5aa171c6fa4a3de7fe5e78f2527aed0dd19cb21d154d43da21","5c79c77f00167ca140127b00f1a79e1ffac621e46fc461089594206a7df8d7cc","5ca67643d5111fffd21deb18569162733e846965bf05fe6eb33ccd37c964025a","5d015880319af666943e68169ca906bf2f0c813d8bf2c5c0262aeb5a40366350","5f2a75b89983d1005a38afa2cabccc3a39f31989807120281d8505ffd564e0c6","5f43c837f39d207c35a58e9b36fe3144017b2012ac7da334714247606f1906d2","5f4fa6dde5930fe1b42f805895f0f5fb135c2b3ff9830f2bd30ae7526a3295a1","630fdcff1f227b5baf5d10bd78ef0fde68791ac0cd8a15f65065f5cc4501b17b","63113617f2e4ee6b827a69bce6afb3949190a282f5feaaa9e2c9f82372623bb8","63544fa69b09916d52b305700eb9816305ff22b77162a44edd13897acea3a655","6385459222fba2c3302d3f2e38c57fcfe0f1829679fead6cffa1964248767d5e","63a4394e689acf4a4762cfb4df691d05f923fdf592fd2f8ea41e6a54f98d1136","65d5b7eff9d03761c8206218159bb34883c09052d6a1959d040f711a881b4d4f","66d414618d4283838bddb6b9fd4b5221c280a7f6a715b622143d3bea76bfe1f6","6989ec486a05550633170d2aa79188ad9b03aeea6c7859dbf18790ba78c5427a","69ebfc7eb8427db3c5c59bdde652d0cb269426126f8540b1b58caa29ccf130e2","69edc4285578313d1dd2f914d69add075a7b354f7fba717606d1abe15292576b","6a34d9279cae58765d6ee4a980192c0e15f3ca217b9f1815861d472a281b3cf8","6b00dccaa7deabc750679ab085b237a2bd025bd971ee1eb7bdc333b393b19084","6c3c592efe9c684ada5661b8cc88a5c3f6e57c841db06b9e070687504cbf6236","6ce6d164c3e31463fb9e144fdf91413e55d077cfc4f25092bb02923fb538a84f","6e08a638e1e28020923effd4c65fc517dbe7b06100ff76cde74e427191503b84","6f3a7020233cd77cfe59eefec0a277f6dda323743c8d80e4e54a95cd3cbc23cf","6fccc6f0c5fa71c43211785dced8abd0f3295040eab56063f4e8d77f1c09b8ef","700cd21af9ed7e81900fad9d52de2fb11db48e64b038e4293168f85e5dd0e043","702d1dfa75e92a916a446429f474d4c296e6ea4e8c487995852d0525e8440659","704cf778db6086c3e282c81249fb0ef09c1d7c2043335ef74c7ecb69bb3e84ad","71ef1ed2d5e4bc7eebe7a73bb3e9423e5bc2f8319186380fe8b38334952d3b01","7256ba00af1cf759b95b7bf8ae3b9943f31349bd10a7652a26bb419b368d73a3","7369b339daca0fcf46ac7fe82d65ae95c75d7dbcaaae51209e6d90b6587a014e","73ec844fb3e2b9febd00ba37508b284fad141630f03cb9f74e36a195180f5054","7410de003c7b582e30470d1209eefc796a70c76fe8d61dd9ccfe01ecfa41310c","741c27b54c49167abef1d8633e3743b0e98f82a73731e744b6671e119a1c6310","75aaecf53db10459d768a6873f6783e7d7110aa510c2894378df027c1b03584c","76bf5a9c126db6eb466287a7c0d823327ee9882a70eaaa6efb03d169b5dba808","781a64598efb2a11156f07271ba1c14c4f6b3d73aa2943b26eae02063df7af70","799abc1e8d381b8d97349479139985e383bb49179b5a80f39807cb35a3ee78ce","79faec494bdd6d098c9d2a9d8559f822938c6b2104188db95321d89e7a732979","79fb2e6e6a91117b6aefbdaabda23ccfa596620f548ee5075993a8dc7a8b872f","7a032dbf0351aa32c77c8d187f7eb697500ff186c88c5946ecc15adc972246a6","7a134e7f1822183ed1c0ded720971539350feaaf92612761210cfc3ccdc55870","7aa52373f2721dd76fc8eeb3d6061794f27ea8d11e96bcb1ff25a97994a77d5c","7ad4ef4b8d3221758a9e7f9577750ee03f6cba11c8eae8bf25f74a3131bd21a2","7baa35131ece7ed9860607157d2531d4d70a061bdc9bb9876e20328f127cec53","7cbf970a11bdb91a40e248eee97ef789205910ebc913349698fc75ed35e82fdf","7d6133667f81aa66a98755d253ea43301b45ada338225df034d2ffdfc79829e7","7e89b59b456dde4bbbdbf8079665bd82c51d8e500018472981c15618b3893959","7ead0c68ffa0ced241af74dde58b3831343dff3f7eaab64bddb9954545b7ba12","7f8188b57ad3b0c28210c95954e5623376a4262dd5e75f002700c6094b8d6b6c","7f91dfc2ea1a3131c4090375db0f489c2a572e245ade6cda4ebd440446d6d60e","7fcb8cba3ed0ee9c342947aa88f0f699bb4f5c23244d21c6c739c9b66d7c6101","800060d7b4934508d0277f90a464e3112fd2fc99af4ef23825d09b0ff53f91c3","800a802a4ce9e597a102f0a566535c1f9f7adfc60c41af6bd2db4fb7fe3c0d0e","820c12fcbded9048a363b9e0ebbc48b24f85fd4a68131b5dfc1b19057bf09ddb","824bff7541ec2a4b0be126f0b0791314d568a0eb4e29073de4f9dbe0ee4918b8","82c419e5de083e423330432c9d45c744043d1bccd8eeccb41e3014ce9ae3c32f","8343a4211a4d0ffdb320d5a4305174d85bb707d15dad978f6436297d022daa11","83a97b9ebb29f5cd014ef5e178970a601ee92c44678f05d1860b383c5f63b79d","85a962a7c23c14dff8d683e738b53f422221697b213cafeb616d3a172a6c4223","8629fddeb4f273b35df69d4d28923adc14eff59d919b1a495d1a68818137c561","872ab2b2d65fe685b91e355f5af051c85b79569ece16448160d01fef38039624","87f2b3634baa504f2ed9508c6cf6a47bbfb36214a177eb13d70d6a987706818c","88b615ef6a31bd9958e98b8ea522f49f0360ccac5d9fa8deb9e3ef3fe3147d9d","89cafbb20d6029656266d8cb0f85103fa519c8032598282fea58c94cc59c4125","89f2105745b3a7cfd30e7d7c598d6c8fdde0a599f30fd0db7382cba50412445e","8b3eec010d1eae43a28c88434f2410a751f790a9d6ec4a08e75e68c171629ab2","8cecfa09651c40be4d7c11c117c80e1911dc75bf6f1cc34be64706823cc024c3","8d250acd40c8a24ba0d51cc73e65bba6856509b5fbf4c7d7a435897a01c6e764","8df1420c27503370db9382f68a0af8d2b4d56f9dbc94b24ffae450a905083a79","8e7371228a726f381fb811d1d812c39917788a3df7e53dba1a3c364e755a0c03","8fae27ba5117e202afbd523b249fc454912571900fc909f5419b8ac96c773c44","902b958b4db7d8d8bf73a82a8aa86e5485b39477047c8ad60175d118fe31d987","9056c360e59fc78edde932b54124df317f2f04a90c0c6eb7825a87b89edf1ca0","918126027fabb7947dd4ae810dd561ac22167102f9f978f86906624ebe88c9ea","91c9ced5e9ab8da897b7f69166a7d0bade5c58d511b42d60d5430d536da45d09","941f70c384905ab77cb9a88e2671301117e4df553da6fc7a09210710deb9b6ca","9442788fa51227044803f1d3efdfc1c2b2da372871a85f0f7a6bb3596a5c003f","9460f427df72c238c4b55f39c8864f1fa3685b0716a53227ea6f7b591d955c82","947a1cdd43831936480167169d30334f818bb5d882650a3547827c05204af111","95f0c5f3b9071db39fd72b88ec9fb2079ce7553fd5884fa527bc9216777d7c10","96c4c83df72e9d860e2ee51f1a74bc867c4a45efc8bf11bf88aa82e368b89aa4","971f59cc197732d0c0b6b8aabbbefca4550fb8fb04f8522bdb4257c05a28848a","98a097d6ebb754334250dfd3ccc5f3dfaf5966524758cbfc9e10adf4a0229693","98c7e4bc2f05e9b4ca703db4a02347db7355a44f04e3a4003e26c46a56bded2c","9944d1a9674e555a41d31d069d136461eb06dd4052d40f2e4ea4368dd978e01b","9b466e8fcabe551bb6292d23a359be3ea15b7627a6ad9c9e6a4ff11444c20860","9bac7daf255467f47b83723095f93fa4b574d5fc08593f48825a2b2ebb8e2dd8","9bbd03293bf53e9db51401d157b3eb2aa51e9c70449350e98b9a0a3fc9a684ce","9c3b318c461b56a8d277133a6b947ef5618690ec281c42e9de6c27f22458d4d4","9cef1feab6841836dc20527fcc8ad9979671fe811ff80a5a33bae113fcbebb97","9cf90b3aa59f3ca0e40fd9e1fec9703428752d63bded6b091d28f614c9ba99ae","9d8637e5adebaca208f21af0a254e80712988867411be560031f4b7a23cc04f6","9eb67ea41c5bcb9557ba51bbbd1b321a78f16335cadebbed848d8e6c1fc68bab","9ed400941ed49b2d90ebe3cc111d90d8bc966608ca61fe9bc315a3c1dbe8bc1b","a0ff0d0bb3a3c801b637d091293f2eeaac68e934274e4116d298ba60ec3461cc","a1baa1f699fd4ce19e8ef6cdfe346e1b0be63e16d5c5cd5feddcccb16a62f269","a3c84d76be9d891812e795dd46470c2978dceeff928d729c0d5dd6def599923b","a476183540f2e7121e533bf2dd9125dc071c81acc880e88cb435cad7a6d35b97","a514a8c0898b6697696ca6f0ed9a43bf8993085b2db4299e3e9f8e3419c4a5ee","a64e8aee389ae696d0d4b045c0153092113fa522ed5a0fd9b5658b8418db4ded","a6c531ed9bbafabfdd649f3030daf2f24461163aaf99dc73bb24dddb77bbcb90","a7ff7302e668dcea1cd1db2241ff95c0d73534539bd03fdefebbfb57f60d3849","a8b4a33078335d2811bffb78eee49aab5fcb31597dae366d43e20c7f7800994b","a91a47fb4fa5c1b1a834fa602030e435ad641240e6ceeb99eeeab7341ca09dec","a91c8a1431a4120667cd523cf56bac004794fc5b8b24275ad2f9c8a15c75fba1","a986593807953215f834ba73e7d2565659b32aa849986013f8614bb1c61ea8cf","aa131e74e695292adab9f57b3ccc5a503a836dd4b95a3b2b107c69f35dba3637","aa4103342641899dc00c22207c13ac31c0c73afd97771b0a9b249187d979625d","aa70263d079788757f176da269e554fef9240845706f87a93101591f8114e807","acae1db4aeb323f3b637fa11b087c3827a2fb6d69718362f54e3bc48f70ef7d8","acd7884bca46ea9422503cead985691da05cca25bd5ed52a199783cae7b8b01f","ad0e6d78c1e450e19bfca4a0e904644ab0ae315607811a28ac3dba20de869786","ae69fe306bf5db346ddfa4367cda24c95e44213baca27b0ee7d7167bcdd85af6","ae8c200dbcea29f43b29974cc247d70647c80d5d76385396f1c82ee9f669e2f1","aec13a075b84253397fb97e1c93a23e1aaee6d6bff2a9161bfd00a5b1d7611de","af12215a96963c1e7e5d766ed994695e423e4780ed0b3007aed87b150d090c05","af6b60ae365a6cbeb140430b030bdb667f53a2a97508ae92dfc9ed91ca73b54a","b09355a97e3aef396f681943b37a404a98fccc6bcb97781eddb2fc000d1d985d","b0ecfca0d114bae34ffa62ac3ea05159a4415fc6eb73ab1fcc4d79f657268f19","b25c41f19ba40e646fd9b6f82051ee4c38985539e445b26bd628eae98537df53","b262187aa66e8a97083bf7f79b91595bf7a4077abe7f8be5b00b4998f4579d20","b4091f93c3d96e36b0708f5dcd46e0e7a0a48f098036ccef6164e4a6429ed94c","b4093c67a9195ee7d28d2575e967ac80057b92339489c244243c7c504c669ff0","b44352445272089cf90967d4d413cf7009bed0ac19f3fa95cb831d5ebad081c3","b4ce73bea5219f1b27bffb36c6a9dee14447a710a8938db807770083db4552ac","b5102ef50e7d4ed1925af5a8b45192e737df02fafb75d7065995a2bb93d2e8e1","b5428b5775526a00645566822530fb969b82247ba83f2c80c06d34151e1f9061","b6cf3b02f36e0efa93b04667cdc5701340033a09e41a7196277cf6756999a666","b77c6669bcd54e0fa949faf2f7205f2631acfbc1ccf79f93f8dab5c5717f0e93","b7ffd6cddb12384224772e8de79aec89d8f4bca966a3c2a05763889f92a6db5c","b83f5334b85422ac110a24286d5af7003f2fb5b0d783efe257b38a2281656422","b8abe10a2a92bf537a49e8dee92baf8de3ed591848a1b25151dab0d7ab3134e5","b8b8c5cad182083f45ce2d05d036e6bfe91cde1fb63f2e5a97c683bb7ef7ea0f","b96cea09313d481dfff1ed1a2c552ea29e8fe68f52139458996a4e36157748d2","b96f9beb6d6d8fbf88c4b8b2b807a362f2640479cab6173cf64c7710817785a0","b9ad2510d8249ec4c8e7fd8b2471727aa1bd0ce8f3dde78e545fb2f8f2985a1d","ba7d7464da8e13722232c8f86273774054693681becc450a68aea21a5a0e9b91","ba87e5d43ddb10937bb17941f055f80a223d0981fbba44107aeec8530e3a7774","bac3431138e986d6426c1e81bdfe0a968394896c0751cbbcc8f36002fd0ed069","bb230236c4ab6353afb4147014c93204d3d1eb8a6d18558075df5fe79ed7f392","bb7fa81e41820d63d58313460f5a3999a1f9fc2cd2fb10cbb5b41a931d8be6a2","bd714f38c881208f1190ad714bf8fa5aa63adf302bdaa8ad8810ff279e43459e","be75cc1ee935f783be39978de91ae196c16141d4096e16eb6d07f59583296b4b","be8c3cb2d8d67e63c8b069920b74c6272922febbc6a0a2c4a0072a7a213681d2","beed0f36d9b1b9a20bfbf89c96862482b8d5b9d4284bc89539efe9c9b11f000d","bfd21b5c8eb26e9d475868bb30d66ee08f20876e9df5cd06aa8fec01ffe666df","bfe97e65f2cbe6bcd0f14ff57ea4dc1dedb2e5f0db92d04d0982cf1932ac1c3e","c055d3cfd85b2ed4607b0d9d3a15ab7204c9f149599f748347dca4afe102af0c","c112d36ba38c362da1c022945db5b6bbdc3014685ca9bb7d940f5086f00a675c","c23a43ed460117f663cec698412729fd91b5aaceb48cc4e55a785b525661bf1a","c23cf45c1dcb748145d87f5c173dd3c8becaf9e3f6fdcb3e2ca91d6726b0842a","c29b8d250a7b5e73f4ef675329da2251b8de032501e4836445b6aafd90c645fa","c329c9df0dae8a036da9be440432d045be3ee13cf5664cfa6ccf11576ed11acb","c4600cd5358b5798a075beb54539d952f200def1c9a573bd237c795fd33ba36f","c4ebd58c4ff78c9fc0cd17d80ed563520f7908f9d1106735ca0f5a7abed202a6","c6752cc3c7ad06d1e9f127365f078919ac46b77f8a8fe413650094d914838ec3","c6867ec30530fd3feca89a4e968522f783b636b165ef74f288c42dd50bd51a3d","c6bfbb004af355e96ed5b4c8c9b8b7a96d1c08d24bcde7c666728eb9497d6d71","c77c4d3f536cda10a71fe6a9cd17ea7c1408200e2f7aa7c5325d6915ff250c85","c8bd340e6fc7fa3e97415f7ad4c22c51d88c6e77f782c12923e841c04d3f882b","cad13b6653fd9f811e67d13c5f01f9dec047f8c384097cee01dd2e2db39e539f","cc24c3770587f2421514fa399d2617201752bdca145ac39058de91d45d3d19c1","cd2da00f6f1bad8fb7c1b87cff80e122eb017e44a471cdea769efc67db369038","cdbb7338988f2fd35fd92f21909b7801d9954d1c7ca78401f52c9313f21fb6dc","ce887fb65b6977a2046e7583d704863624e55909ebcc9c3ed065b3d13079a410","cf9223c369b6fb7baa52f301f904352ba8e8d5e4c2a06f70de6ef1cf76fe1b84","cfb9705939742247da0cb71fdfd8b5f7a1bef6f1c2f0979a8f42e54c4a480980","cfc3b5044af37ae7485fba8067dcb22b2438bdaa6e3a30c22ce0f9e2c00aa597","d0481d9b6111ab4afba0462e88970b863284807ff44ca97364c84952e3f88583","d0973a1aca6a118375b466d6e91821f8450110fdf042ac848ee16912012d2b0f","d0df3068db679e24d9487ee09a6462ac5cf3df30f46ee466b66feb6dd5ff71e2","d227e0a73e3c5452bc5ab41ea2c695dfc0ff9b0c1c81e59ab3173f796a4157cf","d2cba4dbbfe3d026f825a8b470a2f6011f9b8e245cf042ae8889afbb17dac6b2","d2e4c515093f8a2aa824c8b542a016e5c321065f4525931b2fac4f8af2fe52c6","d31e8aa21d1498f2d4a07c4cc89ea6f5a6d3ce54d334dbff230e0f55db35c85e","d37de74aadd5916eeae243decf347821c4e946356b9f70471658638ac3092f91","d3cf9b1433fd9a083c60baf6ade1df7f2a33e0cc7d519f491f9d6a93139a41e4","d49d02cad8bbfeac607457b08aac6068916ef45d8f6c980279d6e654407cc7be","d4f51c31a454d9abac29457cbbc21e1b5767c0eac1b37c41ee787a3efb05c80f","d52ca358246f638d0e11a061e97863697df44f43b093d6e8b84ba67b5838f2fb","d581443d0b6b42c76b816edc6946ce01a639ae42653ddc8cc2d6a89ce14fe947","d5c084e12da4a5111487c166b879042a21a056f761ee22d9237cb4f65f366341","d6077d547aa21ea10a9bdf6c752b8d1a0a6382b4b43a0fdf790f245e66a609fc","d67e8c1aaab1ce6ec1755599ecde153c47c6b90dd4c301663abe9057bc31af57","d6abcc1484c3df45bde915abf48324af1e995c3266a3c6c069e98e94c8d9a4d7","d84489933b19a8b073c65a0386e39e5067830facdc365ced6efe1948c7201771","d8ca8e025e226ad6bdd32a6a9fceae2982b0413a0ad09314558b54bdc724bf99","d8d03142030c11a0aa1012102fce2b202baf88e424a1236832937e87450dc579","d9823dfddf6c507ec030fce4bd2d98fbda18e595c2ebc563574d9196cc7a5e33","d9b0972f3406075b860ba7cd2e71d4492c826960319b10389c2c2820e2981254","da37a61fab07ec8856b725854e4064f55a59149aa69cad1bcbf89ec478b9f578","dad01e5bfb13a6c4419f4d24fa8dbb424e93a1c4be656b0e5dd48ac546e0a0d9","db049e7abb7c75b608ae25cc8a9f95959f7aedaa53e22390290319cc2eed3977","db21a75b4fa6165f75268963474f3262124795d816ba80f685bab2c6eaedb028","dc8c31e3075adeb63113852569b83dcd432485621eb77fef62cf3cce5c84a214","dd97ab52fd89f42352c595ce137684cc519c473fa17969e8a6adcde7322a4748","dda0a34d6704887eb36bbc0173334b49d755cac8cea3bbd17bfa972f04183dd4","ddbda9408727a19a4a55d516bed99331edf67d8301de9c78564716465c949619","de0f295bd0e46f29db1167d6c21bda624887c8543545d0c37d662e5b1b312341","de9a46da1f4605525b484a228f8bf356a9d900ecd16473faf77944b22575c141","e0288c94ca9c16a6de217e6baeed720fcf83e401bec45bd15ca47ba8fc9b44dd","e1667469384ec775a3df665679cb3fef057dc84dcb18ed8db8b9c5723835968a","e16c328504278cfe520d6d99990f2a4370cc48159aba86694d0f7598fd4b0611","e24df071f5325bb3a5b20f355143556bc7712535ee8b6ce4c426598f06fd2448","e28d8e6b71264d0bfab853e63178f2c151367cce0dbd16125596ff3604b6658d","e2c734504d211580b4e6674eb1c7d31fb6fb730c037210c34c980a96f9098269","e39ee882667ef28feb4971b73f9a01d3d72c557e1e56d59487af8e0f1b21edbd","e3f19c383354cdf45311f92f00b90fed25dfba7e9892ab2f5f3aa4885876b75f","e409fbfe439455330c0fe003de860e30f7093cc3cc83a32f886c9b539a29f60b","e6300ee8e6c2c4ce6d7ab02b7b06fd1cabe3c5c52b99a6ea3ea8b5acd5092e0b","e65e28b172b77d093f5425112bdae7ab93756487226fd7363057f85bb2a2556d","e734d068446591aba283d136c21b4fb0209f91352cb4fc6589bd651cdbfec163","e7556cd0bdd06760602ef78c5e3b30b4dbe175f96b7147b56ee2ec181a4c5ea3","e7a333109a7aaec2b71048868500c15e721900628eb48790dfeaa1fd4c2dabc3","e7c9175fbfd9fd84bed95d552bc0a439b07a233c3e91fb39ae2f23197ee53f1b","e7ed299ecf44d4a96c228e9aa30312f405df34d6bea99d4b0f7074c79705a671","e8bc1b4f162c4066d74e5d1b3dcbe344742279b6856736c2e1690dbaa7bcf932","ea1b8a251ecc1fd96697d0c602d3e14ec46383d27bb9485a0326cea5576ffacb","ea311dca2ef14e02b9aae563bb28dc737b04b7f01c1ceb2be3d92007d2c74ac6","ea8e5b79bbe5329ae8437677c8316f2f9fd75bb1d40c88308c269140a7e564c7","eb996138bc91c0ee63bafe1ba10b130ff5a2fc82aa4918296222e0a831a569fe","eba6e8e5a12a86f17fade41bef365aa95491c469e18aa91aef64908a4263c905","ebcf0bdb3541c8bfb7c9a53f632329b77341cba6f1a2fa0dc9704acfa3276dca","edc160a11c07dda8072748b66db7f27b6cd8efbd1faa3f6c826a0fe445859c17","edfcbe4773eac1fe2964179a4ad21294efede89568f2efd8e283ac18bc5693b1","f0f90dee84db760cc1bb0f6e6983d4de0e3d5d9f4adf7b2b52f0d3dbe6d585a4","f1d4a6e98f41ab3f6cfd67cddeab9d0ed287b92cb3dbe575e3ce61925510a792","f21c3a9267110e469f224ac7eb76ca5bb084fc90df014f1ca6791d5770483944","f379a1b9e29aa7fc25c4c0c897eaa3c0e90d66a201a0ade8cbf523a5cdc8cf50","f3e04891c79b604f9235f438adfa49ee27db43d25c7be0d1cc06ae53b8f6d2d8","f46904e701174fe2850798d9e1b077bdac42fcac01dbc385298da01118c82aa6","f4de28905adbfe6ae4bc38f8bf5f47a444aa8d0f2023faaa431d6f72f9a3edea","f53265f53af0b0856911ab08b373736964d0c443e8ba61d7f1d45f5e5b04edf3","f686173d310f41e26e3fe8a7c1dbf4313e4d793323335348badbcf4633f5d699","f6f5046c1263095a69e774716b0cd0907f6795af8ad683c5f41846d4c54a3449","f700bd87d4a758bb71f47731121a9b2259a9ffbd50b584b82f4e6a1f205c276a","f704c9c9e2cab1ed44578f48d161320b5fb4384ecdd8b40a5e22c4078a8594da","f7993302f695430a0ee938b1b3684fdfec4055bddb378b52c81785c0319e8c98","f89156489d35f9992d5971a52a6e03a7d7f095e15c2c782e85efb1408a2bd6be","f99ef6fa3c9c6bf572ec69eb6eeea9f88ce6590d3a5565bec62b001b6f2a376a","fa2dfc22b4fdbcf402a822e8dd376925655d997a0f96284a60f10665ba3581ba","fa3df5f8349aec4805bbcd279b88697def63f2462d8ada0b5fe1d9983d9a6daa","fa6b97cbca1d4f09662e706293b0aec1eb76b8e2277441f54ab6c548b5423236","faac0c3fa7cdf67b452d407e9a1db5cbe1e9140ecfe300200b0b0a6279c97c66","facb45d3084caa490d9b0ac2bcfcee89629a4c3db5926ec9256a9d27d25559ee","fbc8b53b5c6f3727c084e5e0429e410a3fed5a17e1a0144692fd196d9836a4bb","fbd74e4b8dc748b2efdd70aaab07adb80d7f15a38c1261de85bdfd9591ff106a","fd04d7588bb9e6ca0a8b65ed0c9635082a9ee5f46b2d1b5b25866a072236c1fc","fd60f2a432086c6fc4a4c39d8d2d6edf5794c763c05a6401db2bb5fa2c601775","fd618761103380d690cb98804e8f116b6c66ef049fbf67c1a059ce49188658b3","ff532716738e2fc716c10797d9717f324cca3a1234320a84a73a0b89569f11ab","ffd0fe3449e449c7b9fcdcc7e2c1ffb677e57ad935a252de88a0122d437efa67","ffde5c700732beac27a9b5162213d387422ce199400e56d9cefe550005b6a542"],"schema":"fsgg.atlas/1"} diff --git a/.agents/skills/atlas/assets/seed/records/facb45d3084caa490d9b0ac2bcfcee89629a4c3db5926ec9256a9d27d25559ee.json b/.agents/skills/atlas/assets/seed/records/facb45d3084caa490d9b0ac2bcfcee89629a4c3db5926ec9256a9d27d25559ee.json new file mode 100644 index 000000000..701e907f4 --- /dev/null +++ b/.agents/skills/atlas/assets/seed/records/facb45d3084caa490d9b0ac2bcfcee89629a4c3db5926ec9256a9d27d25559ee.json @@ -0,0 +1 @@ +{"citations":[{"path":"src/FS.GG.Coord.Cli/SkillTelemetryAdapter.fs","repository":"FS-GG/.github","revision":"6e8167ec4d7b4fd6f0cecf932a6f0811cf65b50f","sha256":"c7b46e90e78b6690e63d31ab77ceca6a38daf94a991279cd51153ff076248586"},{"path":"src/FS.GG.Coord.Cli/SkillTelemetryReaders.fs","repository":"FS-GG/.github","revision":"6e8167ec4d7b4fd6f0cecf932a6f0811cf65b50f","sha256":"f1fad4f089aa05a34b0d8a48c6c94f0005360580e59b70ab59cbb80d944b1feb"},{"path":"tests/FS.GG.Coord.Cli.Tests/WorkspaceTelemetryApplicationTests.fs","repository":"FS-GG/.github","revision":"6e8167ec4d7b4fd6f0cecf932a6f0811cf65b50f","sha256":"a0a68520ba8b80f377c29e119be33a18035fca932f06fa65b42ef2003bc89570"},{"path":"docs/roadmaps/utel-operational-completeness.md","repository":"FS-GG/.github","revision":"6e8167ec4d7b4fd6f0cecf932a6f0811cf65b50f","sha256":"318b2deacb9283ef3343c2703fe4fe8966f2cbaa2434ab1ea06dfbb53134a85e"},{"path":"src/FS.GG.Coord.Cli/WorkspaceTelemetryApplication.fs","repository":"FS-GG/.github","revision":"6e8167ec4d7b4fd6f0cecf932a6f0811cf65b50f","sha256":"7c1c889ceb8022f66650623016e6e71493b0eba6dc755272a62800095c8ef150"},{"path":"src/FS.GG.Coord.Cli/TelemetryStoreApplication.fs","repository":"FS-GG/.github","revision":"6e8167ec4d7b4fd6f0cecf932a6f0811cf65b50f","sha256":"a7eca3888fc4fb7a1c3160d4e01ec8cd1b90daa8fee17db1f61c6fcd46d65ba1"}],"conflictsWith":[],"id":"github/passive-capture-finite-state-retirement","kind":"lesson","recordedAt":"2026-10-23T10:11:04Z","repository":"FS-GG/.github","schema":"fsgg.atlas/1","status":"recorded","summary":"Through coord 0.112 and the 0.113 source of #4802, one passive association kept at most 8 source cursors and 256 response identities and never removed either. A new path past 8 gave `source-index-full-capture-deferred`; a pass whose new identities would exceed 256 deferred without advancing, so every later pass rescanned and deferred again. Measured 2026-10-23 on the fdev host (capture-only, no network): two real Claude Code 2.1.309 transcripts reached 235 observations in ten passes and then stalled; the host wrote about 152 transcripts in 24 hours. Any passive producer with many files or one long session hits this.\n\nRetiring finished state fixes the stall but moves duplicate prevention from a permanent identity index to cursors, and that is the reusable lesson: the receiver refuses a repeated identity at a revision it already holds with a different content digest (`native fact identity conflict`) and quarantines the whole batch, and passive facts carry capturedAt and sourceGeneration, so any re-read differs. Independent review found five re-read paths after retirement: a hard link, a rename, a copy under a new inode, an active file replaced by a new inode, and a hard link closing in the same pass (which also crashed on a null index entry). Each needs explicit suppression with a visible gap.\n\nThe fix (Outcome #4640, this revision): a source closes at end of descriptor on a line boundary after 15 minutes unmodified (mtime taken after the read); its cursor becomes a compact retired entry (cap 384) and its identities leave the index; an active Claude transcript keeps its newest 24 identities. Suppression: `source-alias-skipped` (same inode and continuing the owning entry's anchored cursor, so a reused inode is not an alias), `closed-source-discontinuity-skipped` (marked, not rescanned), `continuity-replay-suppressed` (at or before a per-source high-water timestamp after a continuity gap), `retired-response-suppressed` (4096 most recently retired identities, 16-hex prefixes) and `pre-horizon-record-suppressed` (unknown source at or before one second after the newest evicted entry's mtime). Retirement rides the existing intent, so a crash applies it once.\n\nDrain throughput: a drain sends at most one envelope per passive chain, because later envelopes wait behind the earliest pending head, so drain must run at least as often as capture emits batches (at most 24 responses each). At 128 ready envelopes or 8 MiB, enqueue returns `spool-overload`, the intent and cursors are retained and capture stops; nothing queued is dropped.\n\nLimits: the 24-identity window relies on observed, undocumented Claude writer ordering; a copy of an old closed file made after its identities left the recent set and before its entry is evicted can still repeat responses (about two days at 150 transcripts and 10,000 responses a day); the caller must keep selecting active paths until they close; records without timestamps are suppressed where a timestamp bound applies; active Codex rollouts keep the no-retirement rule; rolling a retired association back to 0.112 would re-read closed sources. Tests are synthetic; installed adoption and receiver ingestion (Host built from 61526e94 or later) are separate.","supersedes":[],"tags":["utel","telemetry","passive","retirement","claude","transcript","finite-profile","index-full","re-emission","drain","coord-0.113"],"title":"Passive telemetry needs bounded retirement, and retirement needs explicit suppression of every re-read path"} diff --git a/.claude/skills/atlas/assets/seed/catalog.json b/.claude/skills/atlas/assets/seed/catalog.json index 7f3e034c8..342dabb35 100644 --- a/.claude/skills/atlas/assets/seed/catalog.json +++ b/.claude/skills/atlas/assets/seed/catalog.json @@ -1 +1 @@ -{"records":["000ada42299601fba29016e5c0e0d4012876fb42670bb10fa0b1315477254ba4","003893cc49855d17a15295d7adbe57ee301ea20281dff216461baee0810853ff","0052dfb9eafceabaa590f4497e4d42f19020718c84b981d265edefd432ccf8dd","00641d046d6869fdd0023ab3df99e0e67a6ea28f0dcb701f622b1cec8b3e07c6","0066d4a624c02398f21b4d7a736a9fb5101ed8b6b13ceeab46907e9401af98ff","026a241141ee10eb829aa6ce461969242d5c1d45fe9ca19f08ef4ea880877676","026b08fb343aefe19177e95b759560d340d372def4b71acf613fefee3438ade2","0357495d23fac4fad210b6dd7ed7cc57dd33d107e1659a81f085cad78300797f","036c148f6d0e89858c9bf4cf380272ca6904bb4ca277a909fb71c47f5450cef7","04d17203f03279980862496517a1f0861be5f6cc8063bfbf92f8f8ac19744fdd","04e404d89dca295564813149472b1de8e6c43357e2f6d91d169ded7600ed3a02","0509e5c6fdbd2dde0c0db8558647080560714804d00e4f9268342f2e84858a3d","06ad2c8aa0ff3b862edf3ba99e0e4e8801ee163709e66333cd06c3fc61232b05","09e90ad705af012a8c36efbf296757f35adf9c9ce3b8908791c75d72c192973f","0a6d7dc5b64970bfdadc9049ace95e8bc163fc421beea70129ff0eaa692c6d06","0a862ee40916522f8ae5f14b3e084bf5f2e6488185583346db96ced16ce7619e","0a9df276d42b56d98a7802befc2404204e0e5ee8bc7f5c032f7bb29aa4ae2091","0ad4403c8f4078dbfa543310c69bd1dfc768e305987214ffc37d7b2600c4687c","0c22360d4653eb0f450e4d3d34564875f1660cfcb2d546095d98b3faa3967cbc","0da4d093b49c0a1f654b38008bb01195e816829279ca1989bd2448194e15361b","0e560af7d9dd2e0f2f588a74cd35512973747f20bdfe0bee0bc889105ea53dc9","0ea7107c2c8edaab3ff2bae32f63cfbef6903a51cdaff257278f757ed5ef429d","0eef4d717eb03f0906aa3be7336aa71f831726afabe8a56077b76f6e82fd08e1","11fe30832d93706c60efd836b09f35f049c4a715ad6144cf277ca240c5780704","1244d27db0cf5075353bcc622d0fb3b5ca6a7d08526e2c5754e8b745c250bf3f","126c817ad25ca9cbac2a0f7446e76c79852459ac7b9c61e3ba5d5cbfe5d37dfb","13824d6bce0f961c89eef4bd3c8a72ae6ecf7a1339b9e06eec964dc5c12dc544","14156f1c6bf0fa8dfcb5cfafac09e012db446d528dad0e4301404fd693b9bed3","155fe673b8ae12549c978e1bf1d5c43e360937fcf2135cdcd5aea6f6c771da44","1945f527afc3c2930ec4d7fa57ebb2ef7dd6321c0dd3ab9233c9963e9e613165","19d657b67672257ece127f3b957674b7fb4780843148db0a36a0b329c2a418ba","1a24f6ef0c08a898f309c1b925fc19b29526f913a61a1dfe4b1a4308ebdd97ac","1b5351b2dc647aba864e387168db5128435cb80da94fc42581cd60a05fc34b9a","1cfd18d1b12b25604d818389a34bbaa746f450e70246c7f4242fc4e215fc46a4","1da011289116fe88fe92cb8f0e83ed7ccbbca251681d4e136c5a61c40364f8d3","1ec9445b242d2a2e149fe71c67bf13d8c0e4ebe5a6ed7b022656b9941973909d","1edc36731a9c76ad07d269d8b4fd84c8c956bb43d6f56de17d6208164856ffbe","1fec5a63a7b2b212e3e5d5222e49061f3b924966c9741294f5630836be8a3925","20901b579f69cc97eb56b492938864667576e1c9bfacf13f8a529c4f6e543448","21338155cb4f52c49e5072c877771be67c75590d9b238ea025fba5209fd6e018","23af79bd1e7995fc8162ddc4d830318acb054bbfcc9c7d5cb141ec306da67386","24d4f2730d94d1b7f149771ef0e59192f4936d142b21f4a56b1a391e4514d38d","252de742c26409c837ef491f55eb03ffcc99da13fb1a2f8ab66efbfb0c081a2f","253bb17320020b6a5ef8f0958856f6c565a239b4dc246d9e825f8b14da9ca8de","2591526ddabbea03fbdc38bf172bc54f42df9bc51eba7ad2b70d6e67215f08f1","26259abc7fe745f52e06f2aa2abb0e50f189bc7608065f04d5c669a0a99941cd","26290a0990d6dac0ce9448e05eb934210603356043dcf14a5d80585288e2aa92","26d6b31965013079d4db67a2c403e01f21e3c30ae65953400dbed92e289a0925","288daf614247c260cb673d8674e8b3874ccc4e269347836851f702d7ac8e2f7c","28abfaf6d50ca38af0b88aa50524200c17af9000da83ddbab3d8f9e06e020fa5","291d3db272eae084d34c04bc1305f2abb26a7e7acbc5515208469b46719a4ed1","2a38ddebfe3380232e35d5a24f9cb9f7c38abbc9c68add4ea5952c1e65d328d2","2c76ce93500601e281a41f5985fe4e3926fc8bc9d01ee687f14052cb553ad2d2","2d599c722a08306b98f2d833fb3e4a7acb9dea92e6a58820caa2f65c09803fb8","2e1bc31ff6b6fb14d0ca8703a02833db749b03e172f2e91f9423f0751e88c256","2e872e9d3ab8b553270e79673060c50c1afd68a41fcf9fdd0a13cba80be0dfaf","2ecd502add2d801eebed39411fadc9a80098ba9ce04a5f4b728a0e4e331232d6","2f7357367d921995f4c6fdaa693392adcd2df4860ef4d25c8dc47f7ddea8c755","2fb2ed7902a8e35dc36489a23245d963026d688008c92fed6fdc1f6bc27198a6","3018f389f6928af5830bdd081c9d03530a379f37d1c2f9196e6fb3c44eb337d5","310bfb5b2d061bb733771e5cb7b3b7d25db43af5eda9f806169b7ef9330c2fe7","32f69a7b8997ae98b9305ee578145d795dbcd39ca4469bf2465e57a0295cda51","335683e33b94cb86b5e426b4faed200673bf850151191a08458136ceb164fd4e","3407ec53a884d3945d86a88d6b9a883419dd426e96b1108a8e6686f30397a629","34463778cf2d29e3896a65613cf9e3eb3e9f2d8946d17f12b609e70eec63d128","348ba129b7b9c94e24fa8ddb81024e777c60448d1b5d49f7b2075591b23c13b1","35da3938b72cf3520e126ad595157104b69ab748904c7b4e12f563d6b103172b","37c8908ea2a349cd3034018027160ad810b28ad1fc203a9a353971e1f7396b4c","37e39faee019bb041627510f1f02746ba9a85696417a083b438eb4974b72c2bf","38a75fd804821f4836f0a7ba8d41af3d3a3a5f5d7dcea68487009297824258d9","38c6396e645750efcb2f187c36c383471b3b0b59290e3b42cfcb9668594cd0c3","397476cf107b48e7a662264f8fea9f880231fd3d1e0401622650f214cfaa35c7","3ad8b0398ba6c354c9e31b7438b2515579fc0b1f17de4b35a914c862a3a11e3b","3b3c6cf083b12a840565e00458e2fd4ee8a61f97cda452703a6b13d7776b6c13","3b4af144afed3d52dd2e1f64e23bc25b3475eee5f7af3bde9886761b15c33dfd","3b5d82795e9f5d1992ab67e078fcf1108247ab9b6d1baeac944d3ec0294cec5d","3d0274f77576abdbdf442c8843e955e1bbc91e9f8cbfe3646b119337cdb13c96","3dbf6d1c2c8db1a7e3988e2a84b67a4e1d7c8304661652ffa94db3b7eee08edb","3dfcea4ee3d0d0ed09b1f77bac48b33b64ab4620cbfc74fe0e4201b4cdb81ce6","3e2f66baa16c7ea936eba34720a55897438f60b343cbe8fda4eab1e5dde044eb","40de9f41f9a9f56ef6a51d065270e875b4a85cf043b7c4a0173b2510de4979ea","41c768ea17144c6ec225e9a65d4c3c127fdd7264dcba1a89aa17b20fd5d7e3ee","42aeb46fcc3d10b95e4067bc9cda875fa933b4102873f67c7bf1f8ca6799a598","4320b92712bc14dbe10b56f1cd3d1bdc093fc4be6016732839d0be4dd4d027d3","444342c21a4743af5961beeebb88088f5d2a0649f76c71973a7706a744f5efd2","46cdf2c207f79d388001f6636dfb7a98bb2ba72b9d1c6df4938f0a27691e07a6","47b5cb2b011c0f7012d75e88eb86a10f3f0bd48545db139669e654cac1f69650","480f1ede18ae031b164d49d676feeb1090fb33932676ff52e1e2eb24e8d154cd","482cd15ecd9cfbd8e1943c0fcde0bbf1d875392dc2a701b698f48bfba684a062","4855e1947afc954cb1b20bb45e7af10b098fa34714bd32e9bc77941cf58fdaaa","48797c44c92cb34fd9a57a08020b45c6920b2268dc8ad616c0f814a3710d5316","48d094622ada1806cb30335926007c1abc476b1f7b45a2e250c490afa25e847b","49e8cf09e38acefd3a0fa62d048028286d3b47b5ceccd8f51f10022978c47820","4a724a6a842a132c2185279513f341b79f9be93e42660f1255770eeae3b1323c","4aecbdfafb68feb3124c39219498241864bcf1ceaf87fbf80598b1dd87a9191d","4b364ecb35ad02b06b6b0f32b6a29202f2c835e1ac0d70b89fd0278271799dbb","4be7778c4f491d55154a028d9a9dbb35059953fbcd243e0206902a6e64645efb","4c8c327dacf345e184042092e96ad3ea02ed4cece57dac5fa68ea52fbb5a6adf","4d5a44ba07fafeab823b54a21846269330ce35b4c190f3ddd5434bc8530d9b41","4d86a2764c55b5c5f675fddad8850ce4ceab160ac5c164a299fc098899d31aa9","4da0a5be70e8af9c39623deac83822749482187f6a0fc3d186dcfddaa7111576","4ece7844e2b35705ac39fa25913f6909aad5b4b7446bd637ced46b47c0db135c","4f1e58fc658a4ceda181e2a7fa249305b09b573ffd68c2489f204f4957224957","4f2750b974c1404acb721ffc84cbd1d0756a24211dd6f6503c10ea74dbc45676","5029c7b222158ab3f325168fa543d84fd2332d2e3e38db1ce7b83899cef201d1","509ec9c08864b9dd0029f32ffeac85fbac863e2dad459994c65b7cb5264faffa","50fd7e982eb2d2813634b7c44e102788a1a1cd4910a27acbcf219f76314fa322","52049cc9cee43bb27229e6b3e983e02c6aa20dd7d153b13e3c74bc6d2b47cf92","5382c901d160ca2d79888d8acd7a690a5349826b5da486274b0800c9d7513f11","540879695d41205515aaabe5466971014cb43b960a26b8e5958e37fed63df762","548d237f42167af5cf5caa0ba20f0e7a6387deb6f27765637f078325172396a7","55267f058e9f085117765e4ca72ce875b622ceaceed964f6c396073214835c28","5560616d1e72f0a539f9ebbfea3b7d195c1ef5622f97994af1963748d4f97533","556ee783d8e2e4ca50f656c095758be613983f904d998a6534fb155510114f21","55a4711e799294d06988ab4acf77eacd7d424123082bba3ec987dff0ae13999c","55ae095961d78a1514c4dd1e63d477c60179a8662571ab5a90abd3eb2b83eb10","56e7158313357bb145bd98c5f790e569be2203fb2601565a30091a597a7e7ff5","5962dd14d3923433cf723d698d1af19ac37a270b6e88445643fc56a646faab5b","5a2064cdf51026eed65457c05f34bec919b31d96d35c29498d298685965f0b5a","5b77bd6dfa81cc339e729e4195e258facbfeb64b9c680512f742e3fb1961fdd5","5c3527e43fe24c5aa171c6fa4a3de7fe5e78f2527aed0dd19cb21d154d43da21","5c79c77f00167ca140127b00f1a79e1ffac621e46fc461089594206a7df8d7cc","5ca67643d5111fffd21deb18569162733e846965bf05fe6eb33ccd37c964025a","5d015880319af666943e68169ca906bf2f0c813d8bf2c5c0262aeb5a40366350","5f2a75b89983d1005a38afa2cabccc3a39f31989807120281d8505ffd564e0c6","5f43c837f39d207c35a58e9b36fe3144017b2012ac7da334714247606f1906d2","5f4fa6dde5930fe1b42f805895f0f5fb135c2b3ff9830f2bd30ae7526a3295a1","630fdcff1f227b5baf5d10bd78ef0fde68791ac0cd8a15f65065f5cc4501b17b","63113617f2e4ee6b827a69bce6afb3949190a282f5feaaa9e2c9f82372623bb8","63544fa69b09916d52b305700eb9816305ff22b77162a44edd13897acea3a655","6385459222fba2c3302d3f2e38c57fcfe0f1829679fead6cffa1964248767d5e","63a4394e689acf4a4762cfb4df691d05f923fdf592fd2f8ea41e6a54f98d1136","65d5b7eff9d03761c8206218159bb34883c09052d6a1959d040f711a881b4d4f","66d414618d4283838bddb6b9fd4b5221c280a7f6a715b622143d3bea76bfe1f6","6989ec486a05550633170d2aa79188ad9b03aeea6c7859dbf18790ba78c5427a","69ebfc7eb8427db3c5c59bdde652d0cb269426126f8540b1b58caa29ccf130e2","69edc4285578313d1dd2f914d69add075a7b354f7fba717606d1abe15292576b","6a34d9279cae58765d6ee4a980192c0e15f3ca217b9f1815861d472a281b3cf8","6b00dccaa7deabc750679ab085b237a2bd025bd971ee1eb7bdc333b393b19084","6c3c592efe9c684ada5661b8cc88a5c3f6e57c841db06b9e070687504cbf6236","6ce6d164c3e31463fb9e144fdf91413e55d077cfc4f25092bb02923fb538a84f","6e08a638e1e28020923effd4c65fc517dbe7b06100ff76cde74e427191503b84","6f3a7020233cd77cfe59eefec0a277f6dda323743c8d80e4e54a95cd3cbc23cf","6fccc6f0c5fa71c43211785dced8abd0f3295040eab56063f4e8d77f1c09b8ef","700cd21af9ed7e81900fad9d52de2fb11db48e64b038e4293168f85e5dd0e043","702d1dfa75e92a916a446429f474d4c296e6ea4e8c487995852d0525e8440659","704cf778db6086c3e282c81249fb0ef09c1d7c2043335ef74c7ecb69bb3e84ad","71ef1ed2d5e4bc7eebe7a73bb3e9423e5bc2f8319186380fe8b38334952d3b01","7256ba00af1cf759b95b7bf8ae3b9943f31349bd10a7652a26bb419b368d73a3","7369b339daca0fcf46ac7fe82d65ae95c75d7dbcaaae51209e6d90b6587a014e","73ec844fb3e2b9febd00ba37508b284fad141630f03cb9f74e36a195180f5054","7410de003c7b582e30470d1209eefc796a70c76fe8d61dd9ccfe01ecfa41310c","741c27b54c49167abef1d8633e3743b0e98f82a73731e744b6671e119a1c6310","75aaecf53db10459d768a6873f6783e7d7110aa510c2894378df027c1b03584c","76bf5a9c126db6eb466287a7c0d823327ee9882a70eaaa6efb03d169b5dba808","781a64598efb2a11156f07271ba1c14c4f6b3d73aa2943b26eae02063df7af70","799abc1e8d381b8d97349479139985e383bb49179b5a80f39807cb35a3ee78ce","79faec494bdd6d098c9d2a9d8559f822938c6b2104188db95321d89e7a732979","79fb2e6e6a91117b6aefbdaabda23ccfa596620f548ee5075993a8dc7a8b872f","7a032dbf0351aa32c77c8d187f7eb697500ff186c88c5946ecc15adc972246a6","7a134e7f1822183ed1c0ded720971539350feaaf92612761210cfc3ccdc55870","7aa52373f2721dd76fc8eeb3d6061794f27ea8d11e96bcb1ff25a97994a77d5c","7ad4ef4b8d3221758a9e7f9577750ee03f6cba11c8eae8bf25f74a3131bd21a2","7baa35131ece7ed9860607157d2531d4d70a061bdc9bb9876e20328f127cec53","7cbf970a11bdb91a40e248eee97ef789205910ebc913349698fc75ed35e82fdf","7d6133667f81aa66a98755d253ea43301b45ada338225df034d2ffdfc79829e7","7e89b59b456dde4bbbdbf8079665bd82c51d8e500018472981c15618b3893959","7ead0c68ffa0ced241af74dde58b3831343dff3f7eaab64bddb9954545b7ba12","7f8188b57ad3b0c28210c95954e5623376a4262dd5e75f002700c6094b8d6b6c","7f91dfc2ea1a3131c4090375db0f489c2a572e245ade6cda4ebd440446d6d60e","7fcb8cba3ed0ee9c342947aa88f0f699bb4f5c23244d21c6c739c9b66d7c6101","800060d7b4934508d0277f90a464e3112fd2fc99af4ef23825d09b0ff53f91c3","800a802a4ce9e597a102f0a566535c1f9f7adfc60c41af6bd2db4fb7fe3c0d0e","820c12fcbded9048a363b9e0ebbc48b24f85fd4a68131b5dfc1b19057bf09ddb","824bff7541ec2a4b0be126f0b0791314d568a0eb4e29073de4f9dbe0ee4918b8","82c419e5de083e423330432c9d45c744043d1bccd8eeccb41e3014ce9ae3c32f","8343a4211a4d0ffdb320d5a4305174d85bb707d15dad978f6436297d022daa11","83a97b9ebb29f5cd014ef5e178970a601ee92c44678f05d1860b383c5f63b79d","85a962a7c23c14dff8d683e738b53f422221697b213cafeb616d3a172a6c4223","8629fddeb4f273b35df69d4d28923adc14eff59d919b1a495d1a68818137c561","872ab2b2d65fe685b91e355f5af051c85b79569ece16448160d01fef38039624","87f2b3634baa504f2ed9508c6cf6a47bbfb36214a177eb13d70d6a987706818c","88b615ef6a31bd9958e98b8ea522f49f0360ccac5d9fa8deb9e3ef3fe3147d9d","89cafbb20d6029656266d8cb0f85103fa519c8032598282fea58c94cc59c4125","89f2105745b3a7cfd30e7d7c598d6c8fdde0a599f30fd0db7382cba50412445e","8b3eec010d1eae43a28c88434f2410a751f790a9d6ec4a08e75e68c171629ab2","8cecfa09651c40be4d7c11c117c80e1911dc75bf6f1cc34be64706823cc024c3","8d250acd40c8a24ba0d51cc73e65bba6856509b5fbf4c7d7a435897a01c6e764","8df1420c27503370db9382f68a0af8d2b4d56f9dbc94b24ffae450a905083a79","8e7371228a726f381fb811d1d812c39917788a3df7e53dba1a3c364e755a0c03","8fae27ba5117e202afbd523b249fc454912571900fc909f5419b8ac96c773c44","902b958b4db7d8d8bf73a82a8aa86e5485b39477047c8ad60175d118fe31d987","9056c360e59fc78edde932b54124df317f2f04a90c0c6eb7825a87b89edf1ca0","918126027fabb7947dd4ae810dd561ac22167102f9f978f86906624ebe88c9ea","91c9ced5e9ab8da897b7f69166a7d0bade5c58d511b42d60d5430d536da45d09","941f70c384905ab77cb9a88e2671301117e4df553da6fc7a09210710deb9b6ca","9442788fa51227044803f1d3efdfc1c2b2da372871a85f0f7a6bb3596a5c003f","9460f427df72c238c4b55f39c8864f1fa3685b0716a53227ea6f7b591d955c82","947a1cdd43831936480167169d30334f818bb5d882650a3547827c05204af111","95f0c5f3b9071db39fd72b88ec9fb2079ce7553fd5884fa527bc9216777d7c10","96c4c83df72e9d860e2ee51f1a74bc867c4a45efc8bf11bf88aa82e368b89aa4","971f59cc197732d0c0b6b8aabbbefca4550fb8fb04f8522bdb4257c05a28848a","98a097d6ebb754334250dfd3ccc5f3dfaf5966524758cbfc9e10adf4a0229693","98c7e4bc2f05e9b4ca703db4a02347db7355a44f04e3a4003e26c46a56bded2c","9944d1a9674e555a41d31d069d136461eb06dd4052d40f2e4ea4368dd978e01b","9b466e8fcabe551bb6292d23a359be3ea15b7627a6ad9c9e6a4ff11444c20860","9bac7daf255467f47b83723095f93fa4b574d5fc08593f48825a2b2ebb8e2dd8","9bbd03293bf53e9db51401d157b3eb2aa51e9c70449350e98b9a0a3fc9a684ce","9c3b318c461b56a8d277133a6b947ef5618690ec281c42e9de6c27f22458d4d4","9cef1feab6841836dc20527fcc8ad9979671fe811ff80a5a33bae113fcbebb97","9cf90b3aa59f3ca0e40fd9e1fec9703428752d63bded6b091d28f614c9ba99ae","9d8637e5adebaca208f21af0a254e80712988867411be560031f4b7a23cc04f6","9eb67ea41c5bcb9557ba51bbbd1b321a78f16335cadebbed848d8e6c1fc68bab","9ed400941ed49b2d90ebe3cc111d90d8bc966608ca61fe9bc315a3c1dbe8bc1b","a0ff0d0bb3a3c801b637d091293f2eeaac68e934274e4116d298ba60ec3461cc","a1baa1f699fd4ce19e8ef6cdfe346e1b0be63e16d5c5cd5feddcccb16a62f269","a3c84d76be9d891812e795dd46470c2978dceeff928d729c0d5dd6def599923b","a476183540f2e7121e533bf2dd9125dc071c81acc880e88cb435cad7a6d35b97","a514a8c0898b6697696ca6f0ed9a43bf8993085b2db4299e3e9f8e3419c4a5ee","a64e8aee389ae696d0d4b045c0153092113fa522ed5a0fd9b5658b8418db4ded","a6c531ed9bbafabfdd649f3030daf2f24461163aaf99dc73bb24dddb77bbcb90","a7ff7302e668dcea1cd1db2241ff95c0d73534539bd03fdefebbfb57f60d3849","a8b4a33078335d2811bffb78eee49aab5fcb31597dae366d43e20c7f7800994b","a91a47fb4fa5c1b1a834fa602030e435ad641240e6ceeb99eeeab7341ca09dec","a91c8a1431a4120667cd523cf56bac004794fc5b8b24275ad2f9c8a15c75fba1","a986593807953215f834ba73e7d2565659b32aa849986013f8614bb1c61ea8cf","aa131e74e695292adab9f57b3ccc5a503a836dd4b95a3b2b107c69f35dba3637","aa4103342641899dc00c22207c13ac31c0c73afd97771b0a9b249187d979625d","aa70263d079788757f176da269e554fef9240845706f87a93101591f8114e807","acae1db4aeb323f3b637fa11b087c3827a2fb6d69718362f54e3bc48f70ef7d8","acd7884bca46ea9422503cead985691da05cca25bd5ed52a199783cae7b8b01f","ad0e6d78c1e450e19bfca4a0e904644ab0ae315607811a28ac3dba20de869786","ae69fe306bf5db346ddfa4367cda24c95e44213baca27b0ee7d7167bcdd85af6","ae8c200dbcea29f43b29974cc247d70647c80d5d76385396f1c82ee9f669e2f1","aec13a075b84253397fb97e1c93a23e1aaee6d6bff2a9161bfd00a5b1d7611de","af12215a96963c1e7e5d766ed994695e423e4780ed0b3007aed87b150d090c05","af6b60ae365a6cbeb140430b030bdb667f53a2a97508ae92dfc9ed91ca73b54a","b09355a97e3aef396f681943b37a404a98fccc6bcb97781eddb2fc000d1d985d","b0ecfca0d114bae34ffa62ac3ea05159a4415fc6eb73ab1fcc4d79f657268f19","b25c41f19ba40e646fd9b6f82051ee4c38985539e445b26bd628eae98537df53","b262187aa66e8a97083bf7f79b91595bf7a4077abe7f8be5b00b4998f4579d20","b4091f93c3d96e36b0708f5dcd46e0e7a0a48f098036ccef6164e4a6429ed94c","b4093c67a9195ee7d28d2575e967ac80057b92339489c244243c7c504c669ff0","b44352445272089cf90967d4d413cf7009bed0ac19f3fa95cb831d5ebad081c3","b4ce73bea5219f1b27bffb36c6a9dee14447a710a8938db807770083db4552ac","b5102ef50e7d4ed1925af5a8b45192e737df02fafb75d7065995a2bb93d2e8e1","b5428b5775526a00645566822530fb969b82247ba83f2c80c06d34151e1f9061","b6cf3b02f36e0efa93b04667cdc5701340033a09e41a7196277cf6756999a666","b77c6669bcd54e0fa949faf2f7205f2631acfbc1ccf79f93f8dab5c5717f0e93","b7ffd6cddb12384224772e8de79aec89d8f4bca966a3c2a05763889f92a6db5c","b83f5334b85422ac110a24286d5af7003f2fb5b0d783efe257b38a2281656422","b8abe10a2a92bf537a49e8dee92baf8de3ed591848a1b25151dab0d7ab3134e5","b8b8c5cad182083f45ce2d05d036e6bfe91cde1fb63f2e5a97c683bb7ef7ea0f","b96cea09313d481dfff1ed1a2c552ea29e8fe68f52139458996a4e36157748d2","b96f9beb6d6d8fbf88c4b8b2b807a362f2640479cab6173cf64c7710817785a0","b9ad2510d8249ec4c8e7fd8b2471727aa1bd0ce8f3dde78e545fb2f8f2985a1d","ba7d7464da8e13722232c8f86273774054693681becc450a68aea21a5a0e9b91","ba87e5d43ddb10937bb17941f055f80a223d0981fbba44107aeec8530e3a7774","bac3431138e986d6426c1e81bdfe0a968394896c0751cbbcc8f36002fd0ed069","bb230236c4ab6353afb4147014c93204d3d1eb8a6d18558075df5fe79ed7f392","bb7fa81e41820d63d58313460f5a3999a1f9fc2cd2fb10cbb5b41a931d8be6a2","bd714f38c881208f1190ad714bf8fa5aa63adf302bdaa8ad8810ff279e43459e","be75cc1ee935f783be39978de91ae196c16141d4096e16eb6d07f59583296b4b","be8c3cb2d8d67e63c8b069920b74c6272922febbc6a0a2c4a0072a7a213681d2","beed0f36d9b1b9a20bfbf89c96862482b8d5b9d4284bc89539efe9c9b11f000d","bfd21b5c8eb26e9d475868bb30d66ee08f20876e9df5cd06aa8fec01ffe666df","bfe97e65f2cbe6bcd0f14ff57ea4dc1dedb2e5f0db92d04d0982cf1932ac1c3e","c055d3cfd85b2ed4607b0d9d3a15ab7204c9f149599f748347dca4afe102af0c","c112d36ba38c362da1c022945db5b6bbdc3014685ca9bb7d940f5086f00a675c","c23a43ed460117f663cec698412729fd91b5aaceb48cc4e55a785b525661bf1a","c23cf45c1dcb748145d87f5c173dd3c8becaf9e3f6fdcb3e2ca91d6726b0842a","c29b8d250a7b5e73f4ef675329da2251b8de032501e4836445b6aafd90c645fa","c329c9df0dae8a036da9be440432d045be3ee13cf5664cfa6ccf11576ed11acb","c4600cd5358b5798a075beb54539d952f200def1c9a573bd237c795fd33ba36f","c4ebd58c4ff78c9fc0cd17d80ed563520f7908f9d1106735ca0f5a7abed202a6","c6752cc3c7ad06d1e9f127365f078919ac46b77f8a8fe413650094d914838ec3","c6867ec30530fd3feca89a4e968522f783b636b165ef74f288c42dd50bd51a3d","c6bfbb004af355e96ed5b4c8c9b8b7a96d1c08d24bcde7c666728eb9497d6d71","c77c4d3f536cda10a71fe6a9cd17ea7c1408200e2f7aa7c5325d6915ff250c85","c8bd340e6fc7fa3e97415f7ad4c22c51d88c6e77f782c12923e841c04d3f882b","cad13b6653fd9f811e67d13c5f01f9dec047f8c384097cee01dd2e2db39e539f","cc24c3770587f2421514fa399d2617201752bdca145ac39058de91d45d3d19c1","cd2da00f6f1bad8fb7c1b87cff80e122eb017e44a471cdea769efc67db369038","cdbb7338988f2fd35fd92f21909b7801d9954d1c7ca78401f52c9313f21fb6dc","ce887fb65b6977a2046e7583d704863624e55909ebcc9c3ed065b3d13079a410","cf9223c369b6fb7baa52f301f904352ba8e8d5e4c2a06f70de6ef1cf76fe1b84","cfb9705939742247da0cb71fdfd8b5f7a1bef6f1c2f0979a8f42e54c4a480980","cfc3b5044af37ae7485fba8067dcb22b2438bdaa6e3a30c22ce0f9e2c00aa597","d0481d9b6111ab4afba0462e88970b863284807ff44ca97364c84952e3f88583","d0973a1aca6a118375b466d6e91821f8450110fdf042ac848ee16912012d2b0f","d0df3068db679e24d9487ee09a6462ac5cf3df30f46ee466b66feb6dd5ff71e2","d227e0a73e3c5452bc5ab41ea2c695dfc0ff9b0c1c81e59ab3173f796a4157cf","d2cba4dbbfe3d026f825a8b470a2f6011f9b8e245cf042ae8889afbb17dac6b2","d2e4c515093f8a2aa824c8b542a016e5c321065f4525931b2fac4f8af2fe52c6","d31e8aa21d1498f2d4a07c4cc89ea6f5a6d3ce54d334dbff230e0f55db35c85e","d37de74aadd5916eeae243decf347821c4e946356b9f70471658638ac3092f91","d3cf9b1433fd9a083c60baf6ade1df7f2a33e0cc7d519f491f9d6a93139a41e4","d49d02cad8bbfeac607457b08aac6068916ef45d8f6c980279d6e654407cc7be","d4f51c31a454d9abac29457cbbc21e1b5767c0eac1b37c41ee787a3efb05c80f","d52ca358246f638d0e11a061e97863697df44f43b093d6e8b84ba67b5838f2fb","d581443d0b6b42c76b816edc6946ce01a639ae42653ddc8cc2d6a89ce14fe947","d5c084e12da4a5111487c166b879042a21a056f761ee22d9237cb4f65f366341","d6077d547aa21ea10a9bdf6c752b8d1a0a6382b4b43a0fdf790f245e66a609fc","d67e8c1aaab1ce6ec1755599ecde153c47c6b90dd4c301663abe9057bc31af57","d6abcc1484c3df45bde915abf48324af1e995c3266a3c6c069e98e94c8d9a4d7","d84489933b19a8b073c65a0386e39e5067830facdc365ced6efe1948c7201771","d8ca8e025e226ad6bdd32a6a9fceae2982b0413a0ad09314558b54bdc724bf99","d8d03142030c11a0aa1012102fce2b202baf88e424a1236832937e87450dc579","d9823dfddf6c507ec030fce4bd2d98fbda18e595c2ebc563574d9196cc7a5e33","d9b0972f3406075b860ba7cd2e71d4492c826960319b10389c2c2820e2981254","da37a61fab07ec8856b725854e4064f55a59149aa69cad1bcbf89ec478b9f578","dad01e5bfb13a6c4419f4d24fa8dbb424e93a1c4be656b0e5dd48ac546e0a0d9","db049e7abb7c75b608ae25cc8a9f95959f7aedaa53e22390290319cc2eed3977","db21a75b4fa6165f75268963474f3262124795d816ba80f685bab2c6eaedb028","dc8c31e3075adeb63113852569b83dcd432485621eb77fef62cf3cce5c84a214","dd97ab52fd89f42352c595ce137684cc519c473fa17969e8a6adcde7322a4748","dda0a34d6704887eb36bbc0173334b49d755cac8cea3bbd17bfa972f04183dd4","ddbda9408727a19a4a55d516bed99331edf67d8301de9c78564716465c949619","de0f295bd0e46f29db1167d6c21bda624887c8543545d0c37d662e5b1b312341","de9a46da1f4605525b484a228f8bf356a9d900ecd16473faf77944b22575c141","e0288c94ca9c16a6de217e6baeed720fcf83e401bec45bd15ca47ba8fc9b44dd","e1667469384ec775a3df665679cb3fef057dc84dcb18ed8db8b9c5723835968a","e16c328504278cfe520d6d99990f2a4370cc48159aba86694d0f7598fd4b0611","e24df071f5325bb3a5b20f355143556bc7712535ee8b6ce4c426598f06fd2448","e28d8e6b71264d0bfab853e63178f2c151367cce0dbd16125596ff3604b6658d","e2c734504d211580b4e6674eb1c7d31fb6fb730c037210c34c980a96f9098269","e39ee882667ef28feb4971b73f9a01d3d72c557e1e56d59487af8e0f1b21edbd","e3f19c383354cdf45311f92f00b90fed25dfba7e9892ab2f5f3aa4885876b75f","e409fbfe439455330c0fe003de860e30f7093cc3cc83a32f886c9b539a29f60b","e6300ee8e6c2c4ce6d7ab02b7b06fd1cabe3c5c52b99a6ea3ea8b5acd5092e0b","e65e28b172b77d093f5425112bdae7ab93756487226fd7363057f85bb2a2556d","e734d068446591aba283d136c21b4fb0209f91352cb4fc6589bd651cdbfec163","e7556cd0bdd06760602ef78c5e3b30b4dbe175f96b7147b56ee2ec181a4c5ea3","e7a333109a7aaec2b71048868500c15e721900628eb48790dfeaa1fd4c2dabc3","e7c9175fbfd9fd84bed95d552bc0a439b07a233c3e91fb39ae2f23197ee53f1b","e7ed299ecf44d4a96c228e9aa30312f405df34d6bea99d4b0f7074c79705a671","e8bc1b4f162c4066d74e5d1b3dcbe344742279b6856736c2e1690dbaa7bcf932","ea1b8a251ecc1fd96697d0c602d3e14ec46383d27bb9485a0326cea5576ffacb","ea311dca2ef14e02b9aae563bb28dc737b04b7f01c1ceb2be3d92007d2c74ac6","ea8e5b79bbe5329ae8437677c8316f2f9fd75bb1d40c88308c269140a7e564c7","eb996138bc91c0ee63bafe1ba10b130ff5a2fc82aa4918296222e0a831a569fe","eba6e8e5a12a86f17fade41bef365aa95491c469e18aa91aef64908a4263c905","ebcf0bdb3541c8bfb7c9a53f632329b77341cba6f1a2fa0dc9704acfa3276dca","edc160a11c07dda8072748b66db7f27b6cd8efbd1faa3f6c826a0fe445859c17","edfcbe4773eac1fe2964179a4ad21294efede89568f2efd8e283ac18bc5693b1","f0f90dee84db760cc1bb0f6e6983d4de0e3d5d9f4adf7b2b52f0d3dbe6d585a4","f1d4a6e98f41ab3f6cfd67cddeab9d0ed287b92cb3dbe575e3ce61925510a792","f21c3a9267110e469f224ac7eb76ca5bb084fc90df014f1ca6791d5770483944","f379a1b9e29aa7fc25c4c0c897eaa3c0e90d66a201a0ade8cbf523a5cdc8cf50","f3e04891c79b604f9235f438adfa49ee27db43d25c7be0d1cc06ae53b8f6d2d8","f46904e701174fe2850798d9e1b077bdac42fcac01dbc385298da01118c82aa6","f4de28905adbfe6ae4bc38f8bf5f47a444aa8d0f2023faaa431d6f72f9a3edea","f53265f53af0b0856911ab08b373736964d0c443e8ba61d7f1d45f5e5b04edf3","f686173d310f41e26e3fe8a7c1dbf4313e4d793323335348badbcf4633f5d699","f6f5046c1263095a69e774716b0cd0907f6795af8ad683c5f41846d4c54a3449","f700bd87d4a758bb71f47731121a9b2259a9ffbd50b584b82f4e6a1f205c276a","f704c9c9e2cab1ed44578f48d161320b5fb4384ecdd8b40a5e22c4078a8594da","f7993302f695430a0ee938b1b3684fdfec4055bddb378b52c81785c0319e8c98","f89156489d35f9992d5971a52a6e03a7d7f095e15c2c782e85efb1408a2bd6be","f99ef6fa3c9c6bf572ec69eb6eeea9f88ce6590d3a5565bec62b001b6f2a376a","fa2dfc22b4fdbcf402a822e8dd376925655d997a0f96284a60f10665ba3581ba","fa3df5f8349aec4805bbcd279b88697def63f2462d8ada0b5fe1d9983d9a6daa","fa6b97cbca1d4f09662e706293b0aec1eb76b8e2277441f54ab6c548b5423236","faac0c3fa7cdf67b452d407e9a1db5cbe1e9140ecfe300200b0b0a6279c97c66","fbc8b53b5c6f3727c084e5e0429e410a3fed5a17e1a0144692fd196d9836a4bb","fbd74e4b8dc748b2efdd70aaab07adb80d7f15a38c1261de85bdfd9591ff106a","fd04d7588bb9e6ca0a8b65ed0c9635082a9ee5f46b2d1b5b25866a072236c1fc","fd60f2a432086c6fc4a4c39d8d2d6edf5794c763c05a6401db2bb5fa2c601775","fd618761103380d690cb98804e8f116b6c66ef049fbf67c1a059ce49188658b3","ff532716738e2fc716c10797d9717f324cca3a1234320a84a73a0b89569f11ab","ffd0fe3449e449c7b9fcdcc7e2c1ffb677e57ad935a252de88a0122d437efa67","ffde5c700732beac27a9b5162213d387422ce199400e56d9cefe550005b6a542"],"schema":"fsgg.atlas/1"} +{"records":["000ada42299601fba29016e5c0e0d4012876fb42670bb10fa0b1315477254ba4","003893cc49855d17a15295d7adbe57ee301ea20281dff216461baee0810853ff","0052dfb9eafceabaa590f4497e4d42f19020718c84b981d265edefd432ccf8dd","00641d046d6869fdd0023ab3df99e0e67a6ea28f0dcb701f622b1cec8b3e07c6","0066d4a624c02398f21b4d7a736a9fb5101ed8b6b13ceeab46907e9401af98ff","026a241141ee10eb829aa6ce461969242d5c1d45fe9ca19f08ef4ea880877676","026b08fb343aefe19177e95b759560d340d372def4b71acf613fefee3438ade2","0357495d23fac4fad210b6dd7ed7cc57dd33d107e1659a81f085cad78300797f","036c148f6d0e89858c9bf4cf380272ca6904bb4ca277a909fb71c47f5450cef7","04d17203f03279980862496517a1f0861be5f6cc8063bfbf92f8f8ac19744fdd","04e404d89dca295564813149472b1de8e6c43357e2f6d91d169ded7600ed3a02","0509e5c6fdbd2dde0c0db8558647080560714804d00e4f9268342f2e84858a3d","06ad2c8aa0ff3b862edf3ba99e0e4e8801ee163709e66333cd06c3fc61232b05","09e90ad705af012a8c36efbf296757f35adf9c9ce3b8908791c75d72c192973f","0a6d7dc5b64970bfdadc9049ace95e8bc163fc421beea70129ff0eaa692c6d06","0a862ee40916522f8ae5f14b3e084bf5f2e6488185583346db96ced16ce7619e","0a9df276d42b56d98a7802befc2404204e0e5ee8bc7f5c032f7bb29aa4ae2091","0ad4403c8f4078dbfa543310c69bd1dfc768e305987214ffc37d7b2600c4687c","0c22360d4653eb0f450e4d3d34564875f1660cfcb2d546095d98b3faa3967cbc","0da4d093b49c0a1f654b38008bb01195e816829279ca1989bd2448194e15361b","0e560af7d9dd2e0f2f588a74cd35512973747f20bdfe0bee0bc889105ea53dc9","0ea7107c2c8edaab3ff2bae32f63cfbef6903a51cdaff257278f757ed5ef429d","0eef4d717eb03f0906aa3be7336aa71f831726afabe8a56077b76f6e82fd08e1","11fe30832d93706c60efd836b09f35f049c4a715ad6144cf277ca240c5780704","1244d27db0cf5075353bcc622d0fb3b5ca6a7d08526e2c5754e8b745c250bf3f","126c817ad25ca9cbac2a0f7446e76c79852459ac7b9c61e3ba5d5cbfe5d37dfb","13824d6bce0f961c89eef4bd3c8a72ae6ecf7a1339b9e06eec964dc5c12dc544","14156f1c6bf0fa8dfcb5cfafac09e012db446d528dad0e4301404fd693b9bed3","155fe673b8ae12549c978e1bf1d5c43e360937fcf2135cdcd5aea6f6c771da44","1945f527afc3c2930ec4d7fa57ebb2ef7dd6321c0dd3ab9233c9963e9e613165","19d657b67672257ece127f3b957674b7fb4780843148db0a36a0b329c2a418ba","1a24f6ef0c08a898f309c1b925fc19b29526f913a61a1dfe4b1a4308ebdd97ac","1b5351b2dc647aba864e387168db5128435cb80da94fc42581cd60a05fc34b9a","1cfd18d1b12b25604d818389a34bbaa746f450e70246c7f4242fc4e215fc46a4","1da011289116fe88fe92cb8f0e83ed7ccbbca251681d4e136c5a61c40364f8d3","1ec9445b242d2a2e149fe71c67bf13d8c0e4ebe5a6ed7b022656b9941973909d","1edc36731a9c76ad07d269d8b4fd84c8c956bb43d6f56de17d6208164856ffbe","1fec5a63a7b2b212e3e5d5222e49061f3b924966c9741294f5630836be8a3925","20901b579f69cc97eb56b492938864667576e1c9bfacf13f8a529c4f6e543448","21338155cb4f52c49e5072c877771be67c75590d9b238ea025fba5209fd6e018","23af79bd1e7995fc8162ddc4d830318acb054bbfcc9c7d5cb141ec306da67386","24d4f2730d94d1b7f149771ef0e59192f4936d142b21f4a56b1a391e4514d38d","252de742c26409c837ef491f55eb03ffcc99da13fb1a2f8ab66efbfb0c081a2f","253bb17320020b6a5ef8f0958856f6c565a239b4dc246d9e825f8b14da9ca8de","2591526ddabbea03fbdc38bf172bc54f42df9bc51eba7ad2b70d6e67215f08f1","26259abc7fe745f52e06f2aa2abb0e50f189bc7608065f04d5c669a0a99941cd","26290a0990d6dac0ce9448e05eb934210603356043dcf14a5d80585288e2aa92","26d6b31965013079d4db67a2c403e01f21e3c30ae65953400dbed92e289a0925","288daf614247c260cb673d8674e8b3874ccc4e269347836851f702d7ac8e2f7c","28abfaf6d50ca38af0b88aa50524200c17af9000da83ddbab3d8f9e06e020fa5","291d3db272eae084d34c04bc1305f2abb26a7e7acbc5515208469b46719a4ed1","2a38ddebfe3380232e35d5a24f9cb9f7c38abbc9c68add4ea5952c1e65d328d2","2c76ce93500601e281a41f5985fe4e3926fc8bc9d01ee687f14052cb553ad2d2","2d599c722a08306b98f2d833fb3e4a7acb9dea92e6a58820caa2f65c09803fb8","2e1bc31ff6b6fb14d0ca8703a02833db749b03e172f2e91f9423f0751e88c256","2e872e9d3ab8b553270e79673060c50c1afd68a41fcf9fdd0a13cba80be0dfaf","2ecd502add2d801eebed39411fadc9a80098ba9ce04a5f4b728a0e4e331232d6","2f7357367d921995f4c6fdaa693392adcd2df4860ef4d25c8dc47f7ddea8c755","2fb2ed7902a8e35dc36489a23245d963026d688008c92fed6fdc1f6bc27198a6","3018f389f6928af5830bdd081c9d03530a379f37d1c2f9196e6fb3c44eb337d5","310bfb5b2d061bb733771e5cb7b3b7d25db43af5eda9f806169b7ef9330c2fe7","32f69a7b8997ae98b9305ee578145d795dbcd39ca4469bf2465e57a0295cda51","335683e33b94cb86b5e426b4faed200673bf850151191a08458136ceb164fd4e","3407ec53a884d3945d86a88d6b9a883419dd426e96b1108a8e6686f30397a629","34463778cf2d29e3896a65613cf9e3eb3e9f2d8946d17f12b609e70eec63d128","348ba129b7b9c94e24fa8ddb81024e777c60448d1b5d49f7b2075591b23c13b1","35da3938b72cf3520e126ad595157104b69ab748904c7b4e12f563d6b103172b","37c8908ea2a349cd3034018027160ad810b28ad1fc203a9a353971e1f7396b4c","37e39faee019bb041627510f1f02746ba9a85696417a083b438eb4974b72c2bf","38a75fd804821f4836f0a7ba8d41af3d3a3a5f5d7dcea68487009297824258d9","38c6396e645750efcb2f187c36c383471b3b0b59290e3b42cfcb9668594cd0c3","397476cf107b48e7a662264f8fea9f880231fd3d1e0401622650f214cfaa35c7","3ad8b0398ba6c354c9e31b7438b2515579fc0b1f17de4b35a914c862a3a11e3b","3b3c6cf083b12a840565e00458e2fd4ee8a61f97cda452703a6b13d7776b6c13","3b4af144afed3d52dd2e1f64e23bc25b3475eee5f7af3bde9886761b15c33dfd","3b5d82795e9f5d1992ab67e078fcf1108247ab9b6d1baeac944d3ec0294cec5d","3d0274f77576abdbdf442c8843e955e1bbc91e9f8cbfe3646b119337cdb13c96","3dbf6d1c2c8db1a7e3988e2a84b67a4e1d7c8304661652ffa94db3b7eee08edb","3dfcea4ee3d0d0ed09b1f77bac48b33b64ab4620cbfc74fe0e4201b4cdb81ce6","3e2f66baa16c7ea936eba34720a55897438f60b343cbe8fda4eab1e5dde044eb","40de9f41f9a9f56ef6a51d065270e875b4a85cf043b7c4a0173b2510de4979ea","41c768ea17144c6ec225e9a65d4c3c127fdd7264dcba1a89aa17b20fd5d7e3ee","42aeb46fcc3d10b95e4067bc9cda875fa933b4102873f67c7bf1f8ca6799a598","4320b92712bc14dbe10b56f1cd3d1bdc093fc4be6016732839d0be4dd4d027d3","444342c21a4743af5961beeebb88088f5d2a0649f76c71973a7706a744f5efd2","46cdf2c207f79d388001f6636dfb7a98bb2ba72b9d1c6df4938f0a27691e07a6","47b5cb2b011c0f7012d75e88eb86a10f3f0bd48545db139669e654cac1f69650","480f1ede18ae031b164d49d676feeb1090fb33932676ff52e1e2eb24e8d154cd","482cd15ecd9cfbd8e1943c0fcde0bbf1d875392dc2a701b698f48bfba684a062","4855e1947afc954cb1b20bb45e7af10b098fa34714bd32e9bc77941cf58fdaaa","48797c44c92cb34fd9a57a08020b45c6920b2268dc8ad616c0f814a3710d5316","48d094622ada1806cb30335926007c1abc476b1f7b45a2e250c490afa25e847b","49e8cf09e38acefd3a0fa62d048028286d3b47b5ceccd8f51f10022978c47820","4a724a6a842a132c2185279513f341b79f9be93e42660f1255770eeae3b1323c","4aecbdfafb68feb3124c39219498241864bcf1ceaf87fbf80598b1dd87a9191d","4b364ecb35ad02b06b6b0f32b6a29202f2c835e1ac0d70b89fd0278271799dbb","4be7778c4f491d55154a028d9a9dbb35059953fbcd243e0206902a6e64645efb","4c8c327dacf345e184042092e96ad3ea02ed4cece57dac5fa68ea52fbb5a6adf","4d5a44ba07fafeab823b54a21846269330ce35b4c190f3ddd5434bc8530d9b41","4d86a2764c55b5c5f675fddad8850ce4ceab160ac5c164a299fc098899d31aa9","4da0a5be70e8af9c39623deac83822749482187f6a0fc3d186dcfddaa7111576","4ece7844e2b35705ac39fa25913f6909aad5b4b7446bd637ced46b47c0db135c","4f1e58fc658a4ceda181e2a7fa249305b09b573ffd68c2489f204f4957224957","4f2750b974c1404acb721ffc84cbd1d0756a24211dd6f6503c10ea74dbc45676","5029c7b222158ab3f325168fa543d84fd2332d2e3e38db1ce7b83899cef201d1","509ec9c08864b9dd0029f32ffeac85fbac863e2dad459994c65b7cb5264faffa","50fd7e982eb2d2813634b7c44e102788a1a1cd4910a27acbcf219f76314fa322","52049cc9cee43bb27229e6b3e983e02c6aa20dd7d153b13e3c74bc6d2b47cf92","5382c901d160ca2d79888d8acd7a690a5349826b5da486274b0800c9d7513f11","540879695d41205515aaabe5466971014cb43b960a26b8e5958e37fed63df762","548d237f42167af5cf5caa0ba20f0e7a6387deb6f27765637f078325172396a7","55267f058e9f085117765e4ca72ce875b622ceaceed964f6c396073214835c28","5560616d1e72f0a539f9ebbfea3b7d195c1ef5622f97994af1963748d4f97533","556ee783d8e2e4ca50f656c095758be613983f904d998a6534fb155510114f21","55a4711e799294d06988ab4acf77eacd7d424123082bba3ec987dff0ae13999c","55ae095961d78a1514c4dd1e63d477c60179a8662571ab5a90abd3eb2b83eb10","56e7158313357bb145bd98c5f790e569be2203fb2601565a30091a597a7e7ff5","5962dd14d3923433cf723d698d1af19ac37a270b6e88445643fc56a646faab5b","5a2064cdf51026eed65457c05f34bec919b31d96d35c29498d298685965f0b5a","5b77bd6dfa81cc339e729e4195e258facbfeb64b9c680512f742e3fb1961fdd5","5c3527e43fe24c5aa171c6fa4a3de7fe5e78f2527aed0dd19cb21d154d43da21","5c79c77f00167ca140127b00f1a79e1ffac621e46fc461089594206a7df8d7cc","5ca67643d5111fffd21deb18569162733e846965bf05fe6eb33ccd37c964025a","5d015880319af666943e68169ca906bf2f0c813d8bf2c5c0262aeb5a40366350","5f2a75b89983d1005a38afa2cabccc3a39f31989807120281d8505ffd564e0c6","5f43c837f39d207c35a58e9b36fe3144017b2012ac7da334714247606f1906d2","5f4fa6dde5930fe1b42f805895f0f5fb135c2b3ff9830f2bd30ae7526a3295a1","630fdcff1f227b5baf5d10bd78ef0fde68791ac0cd8a15f65065f5cc4501b17b","63113617f2e4ee6b827a69bce6afb3949190a282f5feaaa9e2c9f82372623bb8","63544fa69b09916d52b305700eb9816305ff22b77162a44edd13897acea3a655","6385459222fba2c3302d3f2e38c57fcfe0f1829679fead6cffa1964248767d5e","63a4394e689acf4a4762cfb4df691d05f923fdf592fd2f8ea41e6a54f98d1136","65d5b7eff9d03761c8206218159bb34883c09052d6a1959d040f711a881b4d4f","66d414618d4283838bddb6b9fd4b5221c280a7f6a715b622143d3bea76bfe1f6","6989ec486a05550633170d2aa79188ad9b03aeea6c7859dbf18790ba78c5427a","69ebfc7eb8427db3c5c59bdde652d0cb269426126f8540b1b58caa29ccf130e2","69edc4285578313d1dd2f914d69add075a7b354f7fba717606d1abe15292576b","6a34d9279cae58765d6ee4a980192c0e15f3ca217b9f1815861d472a281b3cf8","6b00dccaa7deabc750679ab085b237a2bd025bd971ee1eb7bdc333b393b19084","6c3c592efe9c684ada5661b8cc88a5c3f6e57c841db06b9e070687504cbf6236","6ce6d164c3e31463fb9e144fdf91413e55d077cfc4f25092bb02923fb538a84f","6e08a638e1e28020923effd4c65fc517dbe7b06100ff76cde74e427191503b84","6f3a7020233cd77cfe59eefec0a277f6dda323743c8d80e4e54a95cd3cbc23cf","6fccc6f0c5fa71c43211785dced8abd0f3295040eab56063f4e8d77f1c09b8ef","700cd21af9ed7e81900fad9d52de2fb11db48e64b038e4293168f85e5dd0e043","702d1dfa75e92a916a446429f474d4c296e6ea4e8c487995852d0525e8440659","704cf778db6086c3e282c81249fb0ef09c1d7c2043335ef74c7ecb69bb3e84ad","71ef1ed2d5e4bc7eebe7a73bb3e9423e5bc2f8319186380fe8b38334952d3b01","7256ba00af1cf759b95b7bf8ae3b9943f31349bd10a7652a26bb419b368d73a3","7369b339daca0fcf46ac7fe82d65ae95c75d7dbcaaae51209e6d90b6587a014e","73ec844fb3e2b9febd00ba37508b284fad141630f03cb9f74e36a195180f5054","7410de003c7b582e30470d1209eefc796a70c76fe8d61dd9ccfe01ecfa41310c","741c27b54c49167abef1d8633e3743b0e98f82a73731e744b6671e119a1c6310","75aaecf53db10459d768a6873f6783e7d7110aa510c2894378df027c1b03584c","76bf5a9c126db6eb466287a7c0d823327ee9882a70eaaa6efb03d169b5dba808","781a64598efb2a11156f07271ba1c14c4f6b3d73aa2943b26eae02063df7af70","799abc1e8d381b8d97349479139985e383bb49179b5a80f39807cb35a3ee78ce","79faec494bdd6d098c9d2a9d8559f822938c6b2104188db95321d89e7a732979","79fb2e6e6a91117b6aefbdaabda23ccfa596620f548ee5075993a8dc7a8b872f","7a032dbf0351aa32c77c8d187f7eb697500ff186c88c5946ecc15adc972246a6","7a134e7f1822183ed1c0ded720971539350feaaf92612761210cfc3ccdc55870","7aa52373f2721dd76fc8eeb3d6061794f27ea8d11e96bcb1ff25a97994a77d5c","7ad4ef4b8d3221758a9e7f9577750ee03f6cba11c8eae8bf25f74a3131bd21a2","7baa35131ece7ed9860607157d2531d4d70a061bdc9bb9876e20328f127cec53","7cbf970a11bdb91a40e248eee97ef789205910ebc913349698fc75ed35e82fdf","7d6133667f81aa66a98755d253ea43301b45ada338225df034d2ffdfc79829e7","7e89b59b456dde4bbbdbf8079665bd82c51d8e500018472981c15618b3893959","7ead0c68ffa0ced241af74dde58b3831343dff3f7eaab64bddb9954545b7ba12","7f8188b57ad3b0c28210c95954e5623376a4262dd5e75f002700c6094b8d6b6c","7f91dfc2ea1a3131c4090375db0f489c2a572e245ade6cda4ebd440446d6d60e","7fcb8cba3ed0ee9c342947aa88f0f699bb4f5c23244d21c6c739c9b66d7c6101","800060d7b4934508d0277f90a464e3112fd2fc99af4ef23825d09b0ff53f91c3","800a802a4ce9e597a102f0a566535c1f9f7adfc60c41af6bd2db4fb7fe3c0d0e","820c12fcbded9048a363b9e0ebbc48b24f85fd4a68131b5dfc1b19057bf09ddb","824bff7541ec2a4b0be126f0b0791314d568a0eb4e29073de4f9dbe0ee4918b8","82c419e5de083e423330432c9d45c744043d1bccd8eeccb41e3014ce9ae3c32f","8343a4211a4d0ffdb320d5a4305174d85bb707d15dad978f6436297d022daa11","83a97b9ebb29f5cd014ef5e178970a601ee92c44678f05d1860b383c5f63b79d","85a962a7c23c14dff8d683e738b53f422221697b213cafeb616d3a172a6c4223","8629fddeb4f273b35df69d4d28923adc14eff59d919b1a495d1a68818137c561","872ab2b2d65fe685b91e355f5af051c85b79569ece16448160d01fef38039624","87f2b3634baa504f2ed9508c6cf6a47bbfb36214a177eb13d70d6a987706818c","88b615ef6a31bd9958e98b8ea522f49f0360ccac5d9fa8deb9e3ef3fe3147d9d","89cafbb20d6029656266d8cb0f85103fa519c8032598282fea58c94cc59c4125","89f2105745b3a7cfd30e7d7c598d6c8fdde0a599f30fd0db7382cba50412445e","8b3eec010d1eae43a28c88434f2410a751f790a9d6ec4a08e75e68c171629ab2","8cecfa09651c40be4d7c11c117c80e1911dc75bf6f1cc34be64706823cc024c3","8d250acd40c8a24ba0d51cc73e65bba6856509b5fbf4c7d7a435897a01c6e764","8df1420c27503370db9382f68a0af8d2b4d56f9dbc94b24ffae450a905083a79","8e7371228a726f381fb811d1d812c39917788a3df7e53dba1a3c364e755a0c03","8fae27ba5117e202afbd523b249fc454912571900fc909f5419b8ac96c773c44","902b958b4db7d8d8bf73a82a8aa86e5485b39477047c8ad60175d118fe31d987","9056c360e59fc78edde932b54124df317f2f04a90c0c6eb7825a87b89edf1ca0","918126027fabb7947dd4ae810dd561ac22167102f9f978f86906624ebe88c9ea","91c9ced5e9ab8da897b7f69166a7d0bade5c58d511b42d60d5430d536da45d09","941f70c384905ab77cb9a88e2671301117e4df553da6fc7a09210710deb9b6ca","9442788fa51227044803f1d3efdfc1c2b2da372871a85f0f7a6bb3596a5c003f","9460f427df72c238c4b55f39c8864f1fa3685b0716a53227ea6f7b591d955c82","947a1cdd43831936480167169d30334f818bb5d882650a3547827c05204af111","95f0c5f3b9071db39fd72b88ec9fb2079ce7553fd5884fa527bc9216777d7c10","96c4c83df72e9d860e2ee51f1a74bc867c4a45efc8bf11bf88aa82e368b89aa4","971f59cc197732d0c0b6b8aabbbefca4550fb8fb04f8522bdb4257c05a28848a","98a097d6ebb754334250dfd3ccc5f3dfaf5966524758cbfc9e10adf4a0229693","98c7e4bc2f05e9b4ca703db4a02347db7355a44f04e3a4003e26c46a56bded2c","9944d1a9674e555a41d31d069d136461eb06dd4052d40f2e4ea4368dd978e01b","9b466e8fcabe551bb6292d23a359be3ea15b7627a6ad9c9e6a4ff11444c20860","9bac7daf255467f47b83723095f93fa4b574d5fc08593f48825a2b2ebb8e2dd8","9bbd03293bf53e9db51401d157b3eb2aa51e9c70449350e98b9a0a3fc9a684ce","9c3b318c461b56a8d277133a6b947ef5618690ec281c42e9de6c27f22458d4d4","9cef1feab6841836dc20527fcc8ad9979671fe811ff80a5a33bae113fcbebb97","9cf90b3aa59f3ca0e40fd9e1fec9703428752d63bded6b091d28f614c9ba99ae","9d8637e5adebaca208f21af0a254e80712988867411be560031f4b7a23cc04f6","9eb67ea41c5bcb9557ba51bbbd1b321a78f16335cadebbed848d8e6c1fc68bab","9ed400941ed49b2d90ebe3cc111d90d8bc966608ca61fe9bc315a3c1dbe8bc1b","a0ff0d0bb3a3c801b637d091293f2eeaac68e934274e4116d298ba60ec3461cc","a1baa1f699fd4ce19e8ef6cdfe346e1b0be63e16d5c5cd5feddcccb16a62f269","a3c84d76be9d891812e795dd46470c2978dceeff928d729c0d5dd6def599923b","a476183540f2e7121e533bf2dd9125dc071c81acc880e88cb435cad7a6d35b97","a514a8c0898b6697696ca6f0ed9a43bf8993085b2db4299e3e9f8e3419c4a5ee","a64e8aee389ae696d0d4b045c0153092113fa522ed5a0fd9b5658b8418db4ded","a6c531ed9bbafabfdd649f3030daf2f24461163aaf99dc73bb24dddb77bbcb90","a7ff7302e668dcea1cd1db2241ff95c0d73534539bd03fdefebbfb57f60d3849","a8b4a33078335d2811bffb78eee49aab5fcb31597dae366d43e20c7f7800994b","a91a47fb4fa5c1b1a834fa602030e435ad641240e6ceeb99eeeab7341ca09dec","a91c8a1431a4120667cd523cf56bac004794fc5b8b24275ad2f9c8a15c75fba1","a986593807953215f834ba73e7d2565659b32aa849986013f8614bb1c61ea8cf","aa131e74e695292adab9f57b3ccc5a503a836dd4b95a3b2b107c69f35dba3637","aa4103342641899dc00c22207c13ac31c0c73afd97771b0a9b249187d979625d","aa70263d079788757f176da269e554fef9240845706f87a93101591f8114e807","acae1db4aeb323f3b637fa11b087c3827a2fb6d69718362f54e3bc48f70ef7d8","acd7884bca46ea9422503cead985691da05cca25bd5ed52a199783cae7b8b01f","ad0e6d78c1e450e19bfca4a0e904644ab0ae315607811a28ac3dba20de869786","ae69fe306bf5db346ddfa4367cda24c95e44213baca27b0ee7d7167bcdd85af6","ae8c200dbcea29f43b29974cc247d70647c80d5d76385396f1c82ee9f669e2f1","aec13a075b84253397fb97e1c93a23e1aaee6d6bff2a9161bfd00a5b1d7611de","af12215a96963c1e7e5d766ed994695e423e4780ed0b3007aed87b150d090c05","af6b60ae365a6cbeb140430b030bdb667f53a2a97508ae92dfc9ed91ca73b54a","b09355a97e3aef396f681943b37a404a98fccc6bcb97781eddb2fc000d1d985d","b0ecfca0d114bae34ffa62ac3ea05159a4415fc6eb73ab1fcc4d79f657268f19","b25c41f19ba40e646fd9b6f82051ee4c38985539e445b26bd628eae98537df53","b262187aa66e8a97083bf7f79b91595bf7a4077abe7f8be5b00b4998f4579d20","b4091f93c3d96e36b0708f5dcd46e0e7a0a48f098036ccef6164e4a6429ed94c","b4093c67a9195ee7d28d2575e967ac80057b92339489c244243c7c504c669ff0","b44352445272089cf90967d4d413cf7009bed0ac19f3fa95cb831d5ebad081c3","b4ce73bea5219f1b27bffb36c6a9dee14447a710a8938db807770083db4552ac","b5102ef50e7d4ed1925af5a8b45192e737df02fafb75d7065995a2bb93d2e8e1","b5428b5775526a00645566822530fb969b82247ba83f2c80c06d34151e1f9061","b6cf3b02f36e0efa93b04667cdc5701340033a09e41a7196277cf6756999a666","b77c6669bcd54e0fa949faf2f7205f2631acfbc1ccf79f93f8dab5c5717f0e93","b7ffd6cddb12384224772e8de79aec89d8f4bca966a3c2a05763889f92a6db5c","b83f5334b85422ac110a24286d5af7003f2fb5b0d783efe257b38a2281656422","b8abe10a2a92bf537a49e8dee92baf8de3ed591848a1b25151dab0d7ab3134e5","b8b8c5cad182083f45ce2d05d036e6bfe91cde1fb63f2e5a97c683bb7ef7ea0f","b96cea09313d481dfff1ed1a2c552ea29e8fe68f52139458996a4e36157748d2","b96f9beb6d6d8fbf88c4b8b2b807a362f2640479cab6173cf64c7710817785a0","b9ad2510d8249ec4c8e7fd8b2471727aa1bd0ce8f3dde78e545fb2f8f2985a1d","ba7d7464da8e13722232c8f86273774054693681becc450a68aea21a5a0e9b91","ba87e5d43ddb10937bb17941f055f80a223d0981fbba44107aeec8530e3a7774","bac3431138e986d6426c1e81bdfe0a968394896c0751cbbcc8f36002fd0ed069","bb230236c4ab6353afb4147014c93204d3d1eb8a6d18558075df5fe79ed7f392","bb7fa81e41820d63d58313460f5a3999a1f9fc2cd2fb10cbb5b41a931d8be6a2","bd714f38c881208f1190ad714bf8fa5aa63adf302bdaa8ad8810ff279e43459e","be75cc1ee935f783be39978de91ae196c16141d4096e16eb6d07f59583296b4b","be8c3cb2d8d67e63c8b069920b74c6272922febbc6a0a2c4a0072a7a213681d2","beed0f36d9b1b9a20bfbf89c96862482b8d5b9d4284bc89539efe9c9b11f000d","bfd21b5c8eb26e9d475868bb30d66ee08f20876e9df5cd06aa8fec01ffe666df","bfe97e65f2cbe6bcd0f14ff57ea4dc1dedb2e5f0db92d04d0982cf1932ac1c3e","c055d3cfd85b2ed4607b0d9d3a15ab7204c9f149599f748347dca4afe102af0c","c112d36ba38c362da1c022945db5b6bbdc3014685ca9bb7d940f5086f00a675c","c23a43ed460117f663cec698412729fd91b5aaceb48cc4e55a785b525661bf1a","c23cf45c1dcb748145d87f5c173dd3c8becaf9e3f6fdcb3e2ca91d6726b0842a","c29b8d250a7b5e73f4ef675329da2251b8de032501e4836445b6aafd90c645fa","c329c9df0dae8a036da9be440432d045be3ee13cf5664cfa6ccf11576ed11acb","c4600cd5358b5798a075beb54539d952f200def1c9a573bd237c795fd33ba36f","c4ebd58c4ff78c9fc0cd17d80ed563520f7908f9d1106735ca0f5a7abed202a6","c6752cc3c7ad06d1e9f127365f078919ac46b77f8a8fe413650094d914838ec3","c6867ec30530fd3feca89a4e968522f783b636b165ef74f288c42dd50bd51a3d","c6bfbb004af355e96ed5b4c8c9b8b7a96d1c08d24bcde7c666728eb9497d6d71","c77c4d3f536cda10a71fe6a9cd17ea7c1408200e2f7aa7c5325d6915ff250c85","c8bd340e6fc7fa3e97415f7ad4c22c51d88c6e77f782c12923e841c04d3f882b","cad13b6653fd9f811e67d13c5f01f9dec047f8c384097cee01dd2e2db39e539f","cc24c3770587f2421514fa399d2617201752bdca145ac39058de91d45d3d19c1","cd2da00f6f1bad8fb7c1b87cff80e122eb017e44a471cdea769efc67db369038","cdbb7338988f2fd35fd92f21909b7801d9954d1c7ca78401f52c9313f21fb6dc","ce887fb65b6977a2046e7583d704863624e55909ebcc9c3ed065b3d13079a410","cf9223c369b6fb7baa52f301f904352ba8e8d5e4c2a06f70de6ef1cf76fe1b84","cfb9705939742247da0cb71fdfd8b5f7a1bef6f1c2f0979a8f42e54c4a480980","cfc3b5044af37ae7485fba8067dcb22b2438bdaa6e3a30c22ce0f9e2c00aa597","d0481d9b6111ab4afba0462e88970b863284807ff44ca97364c84952e3f88583","d0973a1aca6a118375b466d6e91821f8450110fdf042ac848ee16912012d2b0f","d0df3068db679e24d9487ee09a6462ac5cf3df30f46ee466b66feb6dd5ff71e2","d227e0a73e3c5452bc5ab41ea2c695dfc0ff9b0c1c81e59ab3173f796a4157cf","d2cba4dbbfe3d026f825a8b470a2f6011f9b8e245cf042ae8889afbb17dac6b2","d2e4c515093f8a2aa824c8b542a016e5c321065f4525931b2fac4f8af2fe52c6","d31e8aa21d1498f2d4a07c4cc89ea6f5a6d3ce54d334dbff230e0f55db35c85e","d37de74aadd5916eeae243decf347821c4e946356b9f70471658638ac3092f91","d3cf9b1433fd9a083c60baf6ade1df7f2a33e0cc7d519f491f9d6a93139a41e4","d49d02cad8bbfeac607457b08aac6068916ef45d8f6c980279d6e654407cc7be","d4f51c31a454d9abac29457cbbc21e1b5767c0eac1b37c41ee787a3efb05c80f","d52ca358246f638d0e11a061e97863697df44f43b093d6e8b84ba67b5838f2fb","d581443d0b6b42c76b816edc6946ce01a639ae42653ddc8cc2d6a89ce14fe947","d5c084e12da4a5111487c166b879042a21a056f761ee22d9237cb4f65f366341","d6077d547aa21ea10a9bdf6c752b8d1a0a6382b4b43a0fdf790f245e66a609fc","d67e8c1aaab1ce6ec1755599ecde153c47c6b90dd4c301663abe9057bc31af57","d6abcc1484c3df45bde915abf48324af1e995c3266a3c6c069e98e94c8d9a4d7","d84489933b19a8b073c65a0386e39e5067830facdc365ced6efe1948c7201771","d8ca8e025e226ad6bdd32a6a9fceae2982b0413a0ad09314558b54bdc724bf99","d8d03142030c11a0aa1012102fce2b202baf88e424a1236832937e87450dc579","d9823dfddf6c507ec030fce4bd2d98fbda18e595c2ebc563574d9196cc7a5e33","d9b0972f3406075b860ba7cd2e71d4492c826960319b10389c2c2820e2981254","da37a61fab07ec8856b725854e4064f55a59149aa69cad1bcbf89ec478b9f578","dad01e5bfb13a6c4419f4d24fa8dbb424e93a1c4be656b0e5dd48ac546e0a0d9","db049e7abb7c75b608ae25cc8a9f95959f7aedaa53e22390290319cc2eed3977","db21a75b4fa6165f75268963474f3262124795d816ba80f685bab2c6eaedb028","dc8c31e3075adeb63113852569b83dcd432485621eb77fef62cf3cce5c84a214","dd97ab52fd89f42352c595ce137684cc519c473fa17969e8a6adcde7322a4748","dda0a34d6704887eb36bbc0173334b49d755cac8cea3bbd17bfa972f04183dd4","ddbda9408727a19a4a55d516bed99331edf67d8301de9c78564716465c949619","de0f295bd0e46f29db1167d6c21bda624887c8543545d0c37d662e5b1b312341","de9a46da1f4605525b484a228f8bf356a9d900ecd16473faf77944b22575c141","e0288c94ca9c16a6de217e6baeed720fcf83e401bec45bd15ca47ba8fc9b44dd","e1667469384ec775a3df665679cb3fef057dc84dcb18ed8db8b9c5723835968a","e16c328504278cfe520d6d99990f2a4370cc48159aba86694d0f7598fd4b0611","e24df071f5325bb3a5b20f355143556bc7712535ee8b6ce4c426598f06fd2448","e28d8e6b71264d0bfab853e63178f2c151367cce0dbd16125596ff3604b6658d","e2c734504d211580b4e6674eb1c7d31fb6fb730c037210c34c980a96f9098269","e39ee882667ef28feb4971b73f9a01d3d72c557e1e56d59487af8e0f1b21edbd","e3f19c383354cdf45311f92f00b90fed25dfba7e9892ab2f5f3aa4885876b75f","e409fbfe439455330c0fe003de860e30f7093cc3cc83a32f886c9b539a29f60b","e6300ee8e6c2c4ce6d7ab02b7b06fd1cabe3c5c52b99a6ea3ea8b5acd5092e0b","e65e28b172b77d093f5425112bdae7ab93756487226fd7363057f85bb2a2556d","e734d068446591aba283d136c21b4fb0209f91352cb4fc6589bd651cdbfec163","e7556cd0bdd06760602ef78c5e3b30b4dbe175f96b7147b56ee2ec181a4c5ea3","e7a333109a7aaec2b71048868500c15e721900628eb48790dfeaa1fd4c2dabc3","e7c9175fbfd9fd84bed95d552bc0a439b07a233c3e91fb39ae2f23197ee53f1b","e7ed299ecf44d4a96c228e9aa30312f405df34d6bea99d4b0f7074c79705a671","e8bc1b4f162c4066d74e5d1b3dcbe344742279b6856736c2e1690dbaa7bcf932","ea1b8a251ecc1fd96697d0c602d3e14ec46383d27bb9485a0326cea5576ffacb","ea311dca2ef14e02b9aae563bb28dc737b04b7f01c1ceb2be3d92007d2c74ac6","ea8e5b79bbe5329ae8437677c8316f2f9fd75bb1d40c88308c269140a7e564c7","eb996138bc91c0ee63bafe1ba10b130ff5a2fc82aa4918296222e0a831a569fe","eba6e8e5a12a86f17fade41bef365aa95491c469e18aa91aef64908a4263c905","ebcf0bdb3541c8bfb7c9a53f632329b77341cba6f1a2fa0dc9704acfa3276dca","edc160a11c07dda8072748b66db7f27b6cd8efbd1faa3f6c826a0fe445859c17","edfcbe4773eac1fe2964179a4ad21294efede89568f2efd8e283ac18bc5693b1","f0f90dee84db760cc1bb0f6e6983d4de0e3d5d9f4adf7b2b52f0d3dbe6d585a4","f1d4a6e98f41ab3f6cfd67cddeab9d0ed287b92cb3dbe575e3ce61925510a792","f21c3a9267110e469f224ac7eb76ca5bb084fc90df014f1ca6791d5770483944","f379a1b9e29aa7fc25c4c0c897eaa3c0e90d66a201a0ade8cbf523a5cdc8cf50","f3e04891c79b604f9235f438adfa49ee27db43d25c7be0d1cc06ae53b8f6d2d8","f46904e701174fe2850798d9e1b077bdac42fcac01dbc385298da01118c82aa6","f4de28905adbfe6ae4bc38f8bf5f47a444aa8d0f2023faaa431d6f72f9a3edea","f53265f53af0b0856911ab08b373736964d0c443e8ba61d7f1d45f5e5b04edf3","f686173d310f41e26e3fe8a7c1dbf4313e4d793323335348badbcf4633f5d699","f6f5046c1263095a69e774716b0cd0907f6795af8ad683c5f41846d4c54a3449","f700bd87d4a758bb71f47731121a9b2259a9ffbd50b584b82f4e6a1f205c276a","f704c9c9e2cab1ed44578f48d161320b5fb4384ecdd8b40a5e22c4078a8594da","f7993302f695430a0ee938b1b3684fdfec4055bddb378b52c81785c0319e8c98","f89156489d35f9992d5971a52a6e03a7d7f095e15c2c782e85efb1408a2bd6be","f99ef6fa3c9c6bf572ec69eb6eeea9f88ce6590d3a5565bec62b001b6f2a376a","fa2dfc22b4fdbcf402a822e8dd376925655d997a0f96284a60f10665ba3581ba","fa3df5f8349aec4805bbcd279b88697def63f2462d8ada0b5fe1d9983d9a6daa","fa6b97cbca1d4f09662e706293b0aec1eb76b8e2277441f54ab6c548b5423236","faac0c3fa7cdf67b452d407e9a1db5cbe1e9140ecfe300200b0b0a6279c97c66","facb45d3084caa490d9b0ac2bcfcee89629a4c3db5926ec9256a9d27d25559ee","fbc8b53b5c6f3727c084e5e0429e410a3fed5a17e1a0144692fd196d9836a4bb","fbd74e4b8dc748b2efdd70aaab07adb80d7f15a38c1261de85bdfd9591ff106a","fd04d7588bb9e6ca0a8b65ed0c9635082a9ee5f46b2d1b5b25866a072236c1fc","fd60f2a432086c6fc4a4c39d8d2d6edf5794c763c05a6401db2bb5fa2c601775","fd618761103380d690cb98804e8f116b6c66ef049fbf67c1a059ce49188658b3","ff532716738e2fc716c10797d9717f324cca3a1234320a84a73a0b89569f11ab","ffd0fe3449e449c7b9fcdcc7e2c1ffb677e57ad935a252de88a0122d437efa67","ffde5c700732beac27a9b5162213d387422ce199400e56d9cefe550005b6a542"],"schema":"fsgg.atlas/1"} diff --git a/.claude/skills/atlas/assets/seed/records/facb45d3084caa490d9b0ac2bcfcee89629a4c3db5926ec9256a9d27d25559ee.json b/.claude/skills/atlas/assets/seed/records/facb45d3084caa490d9b0ac2bcfcee89629a4c3db5926ec9256a9d27d25559ee.json new file mode 100644 index 000000000..701e907f4 --- /dev/null +++ b/.claude/skills/atlas/assets/seed/records/facb45d3084caa490d9b0ac2bcfcee89629a4c3db5926ec9256a9d27d25559ee.json @@ -0,0 +1 @@ +{"citations":[{"path":"src/FS.GG.Coord.Cli/SkillTelemetryAdapter.fs","repository":"FS-GG/.github","revision":"6e8167ec4d7b4fd6f0cecf932a6f0811cf65b50f","sha256":"c7b46e90e78b6690e63d31ab77ceca6a38daf94a991279cd51153ff076248586"},{"path":"src/FS.GG.Coord.Cli/SkillTelemetryReaders.fs","repository":"FS-GG/.github","revision":"6e8167ec4d7b4fd6f0cecf932a6f0811cf65b50f","sha256":"f1fad4f089aa05a34b0d8a48c6c94f0005360580e59b70ab59cbb80d944b1feb"},{"path":"tests/FS.GG.Coord.Cli.Tests/WorkspaceTelemetryApplicationTests.fs","repository":"FS-GG/.github","revision":"6e8167ec4d7b4fd6f0cecf932a6f0811cf65b50f","sha256":"a0a68520ba8b80f377c29e119be33a18035fca932f06fa65b42ef2003bc89570"},{"path":"docs/roadmaps/utel-operational-completeness.md","repository":"FS-GG/.github","revision":"6e8167ec4d7b4fd6f0cecf932a6f0811cf65b50f","sha256":"318b2deacb9283ef3343c2703fe4fe8966f2cbaa2434ab1ea06dfbb53134a85e"},{"path":"src/FS.GG.Coord.Cli/WorkspaceTelemetryApplication.fs","repository":"FS-GG/.github","revision":"6e8167ec4d7b4fd6f0cecf932a6f0811cf65b50f","sha256":"7c1c889ceb8022f66650623016e6e71493b0eba6dc755272a62800095c8ef150"},{"path":"src/FS.GG.Coord.Cli/TelemetryStoreApplication.fs","repository":"FS-GG/.github","revision":"6e8167ec4d7b4fd6f0cecf932a6f0811cf65b50f","sha256":"a7eca3888fc4fb7a1c3160d4e01ec8cd1b90daa8fee17db1f61c6fcd46d65ba1"}],"conflictsWith":[],"id":"github/passive-capture-finite-state-retirement","kind":"lesson","recordedAt":"2026-10-23T10:11:04Z","repository":"FS-GG/.github","schema":"fsgg.atlas/1","status":"recorded","summary":"Through coord 0.112 and the 0.113 source of #4802, one passive association kept at most 8 source cursors and 256 response identities and never removed either. A new path past 8 gave `source-index-full-capture-deferred`; a pass whose new identities would exceed 256 deferred without advancing, so every later pass rescanned and deferred again. Measured 2026-10-23 on the fdev host (capture-only, no network): two real Claude Code 2.1.309 transcripts reached 235 observations in ten passes and then stalled; the host wrote about 152 transcripts in 24 hours. Any passive producer with many files or one long session hits this.\n\nRetiring finished state fixes the stall but moves duplicate prevention from a permanent identity index to cursors, and that is the reusable lesson: the receiver refuses a repeated identity at a revision it already holds with a different content digest (`native fact identity conflict`) and quarantines the whole batch, and passive facts carry capturedAt and sourceGeneration, so any re-read differs. Independent review found five re-read paths after retirement: a hard link, a rename, a copy under a new inode, an active file replaced by a new inode, and a hard link closing in the same pass (which also crashed on a null index entry). Each needs explicit suppression with a visible gap.\n\nThe fix (Outcome #4640, this revision): a source closes at end of descriptor on a line boundary after 15 minutes unmodified (mtime taken after the read); its cursor becomes a compact retired entry (cap 384) and its identities leave the index; an active Claude transcript keeps its newest 24 identities. Suppression: `source-alias-skipped` (same inode and continuing the owning entry's anchored cursor, so a reused inode is not an alias), `closed-source-discontinuity-skipped` (marked, not rescanned), `continuity-replay-suppressed` (at or before a per-source high-water timestamp after a continuity gap), `retired-response-suppressed` (4096 most recently retired identities, 16-hex prefixes) and `pre-horizon-record-suppressed` (unknown source at or before one second after the newest evicted entry's mtime). Retirement rides the existing intent, so a crash applies it once.\n\nDrain throughput: a drain sends at most one envelope per passive chain, because later envelopes wait behind the earliest pending head, so drain must run at least as often as capture emits batches (at most 24 responses each). At 128 ready envelopes or 8 MiB, enqueue returns `spool-overload`, the intent and cursors are retained and capture stops; nothing queued is dropped.\n\nLimits: the 24-identity window relies on observed, undocumented Claude writer ordering; a copy of an old closed file made after its identities left the recent set and before its entry is evicted can still repeat responses (about two days at 150 transcripts and 10,000 responses a day); the caller must keep selecting active paths until they close; records without timestamps are suppressed where a timestamp bound applies; active Codex rollouts keep the no-retirement rule; rolling a retired association back to 0.112 would re-read closed sources. Tests are synthetic; installed adoption and receiver ingestion (Host built from 61526e94 or later) are separate.","supersedes":[],"tags":["utel","telemetry","passive","retirement","claude","transcript","finite-profile","index-full","re-emission","drain","coord-0.113"],"title":"Passive telemetry needs bounded retirement, and retirement needs explicit suppression of every re-read path"} diff --git a/docs/atlas/catalog.json b/docs/atlas/catalog.json index 7f3e034c8..342dabb35 100644 --- a/docs/atlas/catalog.json +++ b/docs/atlas/catalog.json @@ -1 +1 @@ -{"records":["000ada42299601fba29016e5c0e0d4012876fb42670bb10fa0b1315477254ba4","003893cc49855d17a15295d7adbe57ee301ea20281dff216461baee0810853ff","0052dfb9eafceabaa590f4497e4d42f19020718c84b981d265edefd432ccf8dd","00641d046d6869fdd0023ab3df99e0e67a6ea28f0dcb701f622b1cec8b3e07c6","0066d4a624c02398f21b4d7a736a9fb5101ed8b6b13ceeab46907e9401af98ff","026a241141ee10eb829aa6ce461969242d5c1d45fe9ca19f08ef4ea880877676","026b08fb343aefe19177e95b759560d340d372def4b71acf613fefee3438ade2","0357495d23fac4fad210b6dd7ed7cc57dd33d107e1659a81f085cad78300797f","036c148f6d0e89858c9bf4cf380272ca6904bb4ca277a909fb71c47f5450cef7","04d17203f03279980862496517a1f0861be5f6cc8063bfbf92f8f8ac19744fdd","04e404d89dca295564813149472b1de8e6c43357e2f6d91d169ded7600ed3a02","0509e5c6fdbd2dde0c0db8558647080560714804d00e4f9268342f2e84858a3d","06ad2c8aa0ff3b862edf3ba99e0e4e8801ee163709e66333cd06c3fc61232b05","09e90ad705af012a8c36efbf296757f35adf9c9ce3b8908791c75d72c192973f","0a6d7dc5b64970bfdadc9049ace95e8bc163fc421beea70129ff0eaa692c6d06","0a862ee40916522f8ae5f14b3e084bf5f2e6488185583346db96ced16ce7619e","0a9df276d42b56d98a7802befc2404204e0e5ee8bc7f5c032f7bb29aa4ae2091","0ad4403c8f4078dbfa543310c69bd1dfc768e305987214ffc37d7b2600c4687c","0c22360d4653eb0f450e4d3d34564875f1660cfcb2d546095d98b3faa3967cbc","0da4d093b49c0a1f654b38008bb01195e816829279ca1989bd2448194e15361b","0e560af7d9dd2e0f2f588a74cd35512973747f20bdfe0bee0bc889105ea53dc9","0ea7107c2c8edaab3ff2bae32f63cfbef6903a51cdaff257278f757ed5ef429d","0eef4d717eb03f0906aa3be7336aa71f831726afabe8a56077b76f6e82fd08e1","11fe30832d93706c60efd836b09f35f049c4a715ad6144cf277ca240c5780704","1244d27db0cf5075353bcc622d0fb3b5ca6a7d08526e2c5754e8b745c250bf3f","126c817ad25ca9cbac2a0f7446e76c79852459ac7b9c61e3ba5d5cbfe5d37dfb","13824d6bce0f961c89eef4bd3c8a72ae6ecf7a1339b9e06eec964dc5c12dc544","14156f1c6bf0fa8dfcb5cfafac09e012db446d528dad0e4301404fd693b9bed3","155fe673b8ae12549c978e1bf1d5c43e360937fcf2135cdcd5aea6f6c771da44","1945f527afc3c2930ec4d7fa57ebb2ef7dd6321c0dd3ab9233c9963e9e613165","19d657b67672257ece127f3b957674b7fb4780843148db0a36a0b329c2a418ba","1a24f6ef0c08a898f309c1b925fc19b29526f913a61a1dfe4b1a4308ebdd97ac","1b5351b2dc647aba864e387168db5128435cb80da94fc42581cd60a05fc34b9a","1cfd18d1b12b25604d818389a34bbaa746f450e70246c7f4242fc4e215fc46a4","1da011289116fe88fe92cb8f0e83ed7ccbbca251681d4e136c5a61c40364f8d3","1ec9445b242d2a2e149fe71c67bf13d8c0e4ebe5a6ed7b022656b9941973909d","1edc36731a9c76ad07d269d8b4fd84c8c956bb43d6f56de17d6208164856ffbe","1fec5a63a7b2b212e3e5d5222e49061f3b924966c9741294f5630836be8a3925","20901b579f69cc97eb56b492938864667576e1c9bfacf13f8a529c4f6e543448","21338155cb4f52c49e5072c877771be67c75590d9b238ea025fba5209fd6e018","23af79bd1e7995fc8162ddc4d830318acb054bbfcc9c7d5cb141ec306da67386","24d4f2730d94d1b7f149771ef0e59192f4936d142b21f4a56b1a391e4514d38d","252de742c26409c837ef491f55eb03ffcc99da13fb1a2f8ab66efbfb0c081a2f","253bb17320020b6a5ef8f0958856f6c565a239b4dc246d9e825f8b14da9ca8de","2591526ddabbea03fbdc38bf172bc54f42df9bc51eba7ad2b70d6e67215f08f1","26259abc7fe745f52e06f2aa2abb0e50f189bc7608065f04d5c669a0a99941cd","26290a0990d6dac0ce9448e05eb934210603356043dcf14a5d80585288e2aa92","26d6b31965013079d4db67a2c403e01f21e3c30ae65953400dbed92e289a0925","288daf614247c260cb673d8674e8b3874ccc4e269347836851f702d7ac8e2f7c","28abfaf6d50ca38af0b88aa50524200c17af9000da83ddbab3d8f9e06e020fa5","291d3db272eae084d34c04bc1305f2abb26a7e7acbc5515208469b46719a4ed1","2a38ddebfe3380232e35d5a24f9cb9f7c38abbc9c68add4ea5952c1e65d328d2","2c76ce93500601e281a41f5985fe4e3926fc8bc9d01ee687f14052cb553ad2d2","2d599c722a08306b98f2d833fb3e4a7acb9dea92e6a58820caa2f65c09803fb8","2e1bc31ff6b6fb14d0ca8703a02833db749b03e172f2e91f9423f0751e88c256","2e872e9d3ab8b553270e79673060c50c1afd68a41fcf9fdd0a13cba80be0dfaf","2ecd502add2d801eebed39411fadc9a80098ba9ce04a5f4b728a0e4e331232d6","2f7357367d921995f4c6fdaa693392adcd2df4860ef4d25c8dc47f7ddea8c755","2fb2ed7902a8e35dc36489a23245d963026d688008c92fed6fdc1f6bc27198a6","3018f389f6928af5830bdd081c9d03530a379f37d1c2f9196e6fb3c44eb337d5","310bfb5b2d061bb733771e5cb7b3b7d25db43af5eda9f806169b7ef9330c2fe7","32f69a7b8997ae98b9305ee578145d795dbcd39ca4469bf2465e57a0295cda51","335683e33b94cb86b5e426b4faed200673bf850151191a08458136ceb164fd4e","3407ec53a884d3945d86a88d6b9a883419dd426e96b1108a8e6686f30397a629","34463778cf2d29e3896a65613cf9e3eb3e9f2d8946d17f12b609e70eec63d128","348ba129b7b9c94e24fa8ddb81024e777c60448d1b5d49f7b2075591b23c13b1","35da3938b72cf3520e126ad595157104b69ab748904c7b4e12f563d6b103172b","37c8908ea2a349cd3034018027160ad810b28ad1fc203a9a353971e1f7396b4c","37e39faee019bb041627510f1f02746ba9a85696417a083b438eb4974b72c2bf","38a75fd804821f4836f0a7ba8d41af3d3a3a5f5d7dcea68487009297824258d9","38c6396e645750efcb2f187c36c383471b3b0b59290e3b42cfcb9668594cd0c3","397476cf107b48e7a662264f8fea9f880231fd3d1e0401622650f214cfaa35c7","3ad8b0398ba6c354c9e31b7438b2515579fc0b1f17de4b35a914c862a3a11e3b","3b3c6cf083b12a840565e00458e2fd4ee8a61f97cda452703a6b13d7776b6c13","3b4af144afed3d52dd2e1f64e23bc25b3475eee5f7af3bde9886761b15c33dfd","3b5d82795e9f5d1992ab67e078fcf1108247ab9b6d1baeac944d3ec0294cec5d","3d0274f77576abdbdf442c8843e955e1bbc91e9f8cbfe3646b119337cdb13c96","3dbf6d1c2c8db1a7e3988e2a84b67a4e1d7c8304661652ffa94db3b7eee08edb","3dfcea4ee3d0d0ed09b1f77bac48b33b64ab4620cbfc74fe0e4201b4cdb81ce6","3e2f66baa16c7ea936eba34720a55897438f60b343cbe8fda4eab1e5dde044eb","40de9f41f9a9f56ef6a51d065270e875b4a85cf043b7c4a0173b2510de4979ea","41c768ea17144c6ec225e9a65d4c3c127fdd7264dcba1a89aa17b20fd5d7e3ee","42aeb46fcc3d10b95e4067bc9cda875fa933b4102873f67c7bf1f8ca6799a598","4320b92712bc14dbe10b56f1cd3d1bdc093fc4be6016732839d0be4dd4d027d3","444342c21a4743af5961beeebb88088f5d2a0649f76c71973a7706a744f5efd2","46cdf2c207f79d388001f6636dfb7a98bb2ba72b9d1c6df4938f0a27691e07a6","47b5cb2b011c0f7012d75e88eb86a10f3f0bd48545db139669e654cac1f69650","480f1ede18ae031b164d49d676feeb1090fb33932676ff52e1e2eb24e8d154cd","482cd15ecd9cfbd8e1943c0fcde0bbf1d875392dc2a701b698f48bfba684a062","4855e1947afc954cb1b20bb45e7af10b098fa34714bd32e9bc77941cf58fdaaa","48797c44c92cb34fd9a57a08020b45c6920b2268dc8ad616c0f814a3710d5316","48d094622ada1806cb30335926007c1abc476b1f7b45a2e250c490afa25e847b","49e8cf09e38acefd3a0fa62d048028286d3b47b5ceccd8f51f10022978c47820","4a724a6a842a132c2185279513f341b79f9be93e42660f1255770eeae3b1323c","4aecbdfafb68feb3124c39219498241864bcf1ceaf87fbf80598b1dd87a9191d","4b364ecb35ad02b06b6b0f32b6a29202f2c835e1ac0d70b89fd0278271799dbb","4be7778c4f491d55154a028d9a9dbb35059953fbcd243e0206902a6e64645efb","4c8c327dacf345e184042092e96ad3ea02ed4cece57dac5fa68ea52fbb5a6adf","4d5a44ba07fafeab823b54a21846269330ce35b4c190f3ddd5434bc8530d9b41","4d86a2764c55b5c5f675fddad8850ce4ceab160ac5c164a299fc098899d31aa9","4da0a5be70e8af9c39623deac83822749482187f6a0fc3d186dcfddaa7111576","4ece7844e2b35705ac39fa25913f6909aad5b4b7446bd637ced46b47c0db135c","4f1e58fc658a4ceda181e2a7fa249305b09b573ffd68c2489f204f4957224957","4f2750b974c1404acb721ffc84cbd1d0756a24211dd6f6503c10ea74dbc45676","5029c7b222158ab3f325168fa543d84fd2332d2e3e38db1ce7b83899cef201d1","509ec9c08864b9dd0029f32ffeac85fbac863e2dad459994c65b7cb5264faffa","50fd7e982eb2d2813634b7c44e102788a1a1cd4910a27acbcf219f76314fa322","52049cc9cee43bb27229e6b3e983e02c6aa20dd7d153b13e3c74bc6d2b47cf92","5382c901d160ca2d79888d8acd7a690a5349826b5da486274b0800c9d7513f11","540879695d41205515aaabe5466971014cb43b960a26b8e5958e37fed63df762","548d237f42167af5cf5caa0ba20f0e7a6387deb6f27765637f078325172396a7","55267f058e9f085117765e4ca72ce875b622ceaceed964f6c396073214835c28","5560616d1e72f0a539f9ebbfea3b7d195c1ef5622f97994af1963748d4f97533","556ee783d8e2e4ca50f656c095758be613983f904d998a6534fb155510114f21","55a4711e799294d06988ab4acf77eacd7d424123082bba3ec987dff0ae13999c","55ae095961d78a1514c4dd1e63d477c60179a8662571ab5a90abd3eb2b83eb10","56e7158313357bb145bd98c5f790e569be2203fb2601565a30091a597a7e7ff5","5962dd14d3923433cf723d698d1af19ac37a270b6e88445643fc56a646faab5b","5a2064cdf51026eed65457c05f34bec919b31d96d35c29498d298685965f0b5a","5b77bd6dfa81cc339e729e4195e258facbfeb64b9c680512f742e3fb1961fdd5","5c3527e43fe24c5aa171c6fa4a3de7fe5e78f2527aed0dd19cb21d154d43da21","5c79c77f00167ca140127b00f1a79e1ffac621e46fc461089594206a7df8d7cc","5ca67643d5111fffd21deb18569162733e846965bf05fe6eb33ccd37c964025a","5d015880319af666943e68169ca906bf2f0c813d8bf2c5c0262aeb5a40366350","5f2a75b89983d1005a38afa2cabccc3a39f31989807120281d8505ffd564e0c6","5f43c837f39d207c35a58e9b36fe3144017b2012ac7da334714247606f1906d2","5f4fa6dde5930fe1b42f805895f0f5fb135c2b3ff9830f2bd30ae7526a3295a1","630fdcff1f227b5baf5d10bd78ef0fde68791ac0cd8a15f65065f5cc4501b17b","63113617f2e4ee6b827a69bce6afb3949190a282f5feaaa9e2c9f82372623bb8","63544fa69b09916d52b305700eb9816305ff22b77162a44edd13897acea3a655","6385459222fba2c3302d3f2e38c57fcfe0f1829679fead6cffa1964248767d5e","63a4394e689acf4a4762cfb4df691d05f923fdf592fd2f8ea41e6a54f98d1136","65d5b7eff9d03761c8206218159bb34883c09052d6a1959d040f711a881b4d4f","66d414618d4283838bddb6b9fd4b5221c280a7f6a715b622143d3bea76bfe1f6","6989ec486a05550633170d2aa79188ad9b03aeea6c7859dbf18790ba78c5427a","69ebfc7eb8427db3c5c59bdde652d0cb269426126f8540b1b58caa29ccf130e2","69edc4285578313d1dd2f914d69add075a7b354f7fba717606d1abe15292576b","6a34d9279cae58765d6ee4a980192c0e15f3ca217b9f1815861d472a281b3cf8","6b00dccaa7deabc750679ab085b237a2bd025bd971ee1eb7bdc333b393b19084","6c3c592efe9c684ada5661b8cc88a5c3f6e57c841db06b9e070687504cbf6236","6ce6d164c3e31463fb9e144fdf91413e55d077cfc4f25092bb02923fb538a84f","6e08a638e1e28020923effd4c65fc517dbe7b06100ff76cde74e427191503b84","6f3a7020233cd77cfe59eefec0a277f6dda323743c8d80e4e54a95cd3cbc23cf","6fccc6f0c5fa71c43211785dced8abd0f3295040eab56063f4e8d77f1c09b8ef","700cd21af9ed7e81900fad9d52de2fb11db48e64b038e4293168f85e5dd0e043","702d1dfa75e92a916a446429f474d4c296e6ea4e8c487995852d0525e8440659","704cf778db6086c3e282c81249fb0ef09c1d7c2043335ef74c7ecb69bb3e84ad","71ef1ed2d5e4bc7eebe7a73bb3e9423e5bc2f8319186380fe8b38334952d3b01","7256ba00af1cf759b95b7bf8ae3b9943f31349bd10a7652a26bb419b368d73a3","7369b339daca0fcf46ac7fe82d65ae95c75d7dbcaaae51209e6d90b6587a014e","73ec844fb3e2b9febd00ba37508b284fad141630f03cb9f74e36a195180f5054","7410de003c7b582e30470d1209eefc796a70c76fe8d61dd9ccfe01ecfa41310c","741c27b54c49167abef1d8633e3743b0e98f82a73731e744b6671e119a1c6310","75aaecf53db10459d768a6873f6783e7d7110aa510c2894378df027c1b03584c","76bf5a9c126db6eb466287a7c0d823327ee9882a70eaaa6efb03d169b5dba808","781a64598efb2a11156f07271ba1c14c4f6b3d73aa2943b26eae02063df7af70","799abc1e8d381b8d97349479139985e383bb49179b5a80f39807cb35a3ee78ce","79faec494bdd6d098c9d2a9d8559f822938c6b2104188db95321d89e7a732979","79fb2e6e6a91117b6aefbdaabda23ccfa596620f548ee5075993a8dc7a8b872f","7a032dbf0351aa32c77c8d187f7eb697500ff186c88c5946ecc15adc972246a6","7a134e7f1822183ed1c0ded720971539350feaaf92612761210cfc3ccdc55870","7aa52373f2721dd76fc8eeb3d6061794f27ea8d11e96bcb1ff25a97994a77d5c","7ad4ef4b8d3221758a9e7f9577750ee03f6cba11c8eae8bf25f74a3131bd21a2","7baa35131ece7ed9860607157d2531d4d70a061bdc9bb9876e20328f127cec53","7cbf970a11bdb91a40e248eee97ef789205910ebc913349698fc75ed35e82fdf","7d6133667f81aa66a98755d253ea43301b45ada338225df034d2ffdfc79829e7","7e89b59b456dde4bbbdbf8079665bd82c51d8e500018472981c15618b3893959","7ead0c68ffa0ced241af74dde58b3831343dff3f7eaab64bddb9954545b7ba12","7f8188b57ad3b0c28210c95954e5623376a4262dd5e75f002700c6094b8d6b6c","7f91dfc2ea1a3131c4090375db0f489c2a572e245ade6cda4ebd440446d6d60e","7fcb8cba3ed0ee9c342947aa88f0f699bb4f5c23244d21c6c739c9b66d7c6101","800060d7b4934508d0277f90a464e3112fd2fc99af4ef23825d09b0ff53f91c3","800a802a4ce9e597a102f0a566535c1f9f7adfc60c41af6bd2db4fb7fe3c0d0e","820c12fcbded9048a363b9e0ebbc48b24f85fd4a68131b5dfc1b19057bf09ddb","824bff7541ec2a4b0be126f0b0791314d568a0eb4e29073de4f9dbe0ee4918b8","82c419e5de083e423330432c9d45c744043d1bccd8eeccb41e3014ce9ae3c32f","8343a4211a4d0ffdb320d5a4305174d85bb707d15dad978f6436297d022daa11","83a97b9ebb29f5cd014ef5e178970a601ee92c44678f05d1860b383c5f63b79d","85a962a7c23c14dff8d683e738b53f422221697b213cafeb616d3a172a6c4223","8629fddeb4f273b35df69d4d28923adc14eff59d919b1a495d1a68818137c561","872ab2b2d65fe685b91e355f5af051c85b79569ece16448160d01fef38039624","87f2b3634baa504f2ed9508c6cf6a47bbfb36214a177eb13d70d6a987706818c","88b615ef6a31bd9958e98b8ea522f49f0360ccac5d9fa8deb9e3ef3fe3147d9d","89cafbb20d6029656266d8cb0f85103fa519c8032598282fea58c94cc59c4125","89f2105745b3a7cfd30e7d7c598d6c8fdde0a599f30fd0db7382cba50412445e","8b3eec010d1eae43a28c88434f2410a751f790a9d6ec4a08e75e68c171629ab2","8cecfa09651c40be4d7c11c117c80e1911dc75bf6f1cc34be64706823cc024c3","8d250acd40c8a24ba0d51cc73e65bba6856509b5fbf4c7d7a435897a01c6e764","8df1420c27503370db9382f68a0af8d2b4d56f9dbc94b24ffae450a905083a79","8e7371228a726f381fb811d1d812c39917788a3df7e53dba1a3c364e755a0c03","8fae27ba5117e202afbd523b249fc454912571900fc909f5419b8ac96c773c44","902b958b4db7d8d8bf73a82a8aa86e5485b39477047c8ad60175d118fe31d987","9056c360e59fc78edde932b54124df317f2f04a90c0c6eb7825a87b89edf1ca0","918126027fabb7947dd4ae810dd561ac22167102f9f978f86906624ebe88c9ea","91c9ced5e9ab8da897b7f69166a7d0bade5c58d511b42d60d5430d536da45d09","941f70c384905ab77cb9a88e2671301117e4df553da6fc7a09210710deb9b6ca","9442788fa51227044803f1d3efdfc1c2b2da372871a85f0f7a6bb3596a5c003f","9460f427df72c238c4b55f39c8864f1fa3685b0716a53227ea6f7b591d955c82","947a1cdd43831936480167169d30334f818bb5d882650a3547827c05204af111","95f0c5f3b9071db39fd72b88ec9fb2079ce7553fd5884fa527bc9216777d7c10","96c4c83df72e9d860e2ee51f1a74bc867c4a45efc8bf11bf88aa82e368b89aa4","971f59cc197732d0c0b6b8aabbbefca4550fb8fb04f8522bdb4257c05a28848a","98a097d6ebb754334250dfd3ccc5f3dfaf5966524758cbfc9e10adf4a0229693","98c7e4bc2f05e9b4ca703db4a02347db7355a44f04e3a4003e26c46a56bded2c","9944d1a9674e555a41d31d069d136461eb06dd4052d40f2e4ea4368dd978e01b","9b466e8fcabe551bb6292d23a359be3ea15b7627a6ad9c9e6a4ff11444c20860","9bac7daf255467f47b83723095f93fa4b574d5fc08593f48825a2b2ebb8e2dd8","9bbd03293bf53e9db51401d157b3eb2aa51e9c70449350e98b9a0a3fc9a684ce","9c3b318c461b56a8d277133a6b947ef5618690ec281c42e9de6c27f22458d4d4","9cef1feab6841836dc20527fcc8ad9979671fe811ff80a5a33bae113fcbebb97","9cf90b3aa59f3ca0e40fd9e1fec9703428752d63bded6b091d28f614c9ba99ae","9d8637e5adebaca208f21af0a254e80712988867411be560031f4b7a23cc04f6","9eb67ea41c5bcb9557ba51bbbd1b321a78f16335cadebbed848d8e6c1fc68bab","9ed400941ed49b2d90ebe3cc111d90d8bc966608ca61fe9bc315a3c1dbe8bc1b","a0ff0d0bb3a3c801b637d091293f2eeaac68e934274e4116d298ba60ec3461cc","a1baa1f699fd4ce19e8ef6cdfe346e1b0be63e16d5c5cd5feddcccb16a62f269","a3c84d76be9d891812e795dd46470c2978dceeff928d729c0d5dd6def599923b","a476183540f2e7121e533bf2dd9125dc071c81acc880e88cb435cad7a6d35b97","a514a8c0898b6697696ca6f0ed9a43bf8993085b2db4299e3e9f8e3419c4a5ee","a64e8aee389ae696d0d4b045c0153092113fa522ed5a0fd9b5658b8418db4ded","a6c531ed9bbafabfdd649f3030daf2f24461163aaf99dc73bb24dddb77bbcb90","a7ff7302e668dcea1cd1db2241ff95c0d73534539bd03fdefebbfb57f60d3849","a8b4a33078335d2811bffb78eee49aab5fcb31597dae366d43e20c7f7800994b","a91a47fb4fa5c1b1a834fa602030e435ad641240e6ceeb99eeeab7341ca09dec","a91c8a1431a4120667cd523cf56bac004794fc5b8b24275ad2f9c8a15c75fba1","a986593807953215f834ba73e7d2565659b32aa849986013f8614bb1c61ea8cf","aa131e74e695292adab9f57b3ccc5a503a836dd4b95a3b2b107c69f35dba3637","aa4103342641899dc00c22207c13ac31c0c73afd97771b0a9b249187d979625d","aa70263d079788757f176da269e554fef9240845706f87a93101591f8114e807","acae1db4aeb323f3b637fa11b087c3827a2fb6d69718362f54e3bc48f70ef7d8","acd7884bca46ea9422503cead985691da05cca25bd5ed52a199783cae7b8b01f","ad0e6d78c1e450e19bfca4a0e904644ab0ae315607811a28ac3dba20de869786","ae69fe306bf5db346ddfa4367cda24c95e44213baca27b0ee7d7167bcdd85af6","ae8c200dbcea29f43b29974cc247d70647c80d5d76385396f1c82ee9f669e2f1","aec13a075b84253397fb97e1c93a23e1aaee6d6bff2a9161bfd00a5b1d7611de","af12215a96963c1e7e5d766ed994695e423e4780ed0b3007aed87b150d090c05","af6b60ae365a6cbeb140430b030bdb667f53a2a97508ae92dfc9ed91ca73b54a","b09355a97e3aef396f681943b37a404a98fccc6bcb97781eddb2fc000d1d985d","b0ecfca0d114bae34ffa62ac3ea05159a4415fc6eb73ab1fcc4d79f657268f19","b25c41f19ba40e646fd9b6f82051ee4c38985539e445b26bd628eae98537df53","b262187aa66e8a97083bf7f79b91595bf7a4077abe7f8be5b00b4998f4579d20","b4091f93c3d96e36b0708f5dcd46e0e7a0a48f098036ccef6164e4a6429ed94c","b4093c67a9195ee7d28d2575e967ac80057b92339489c244243c7c504c669ff0","b44352445272089cf90967d4d413cf7009bed0ac19f3fa95cb831d5ebad081c3","b4ce73bea5219f1b27bffb36c6a9dee14447a710a8938db807770083db4552ac","b5102ef50e7d4ed1925af5a8b45192e737df02fafb75d7065995a2bb93d2e8e1","b5428b5775526a00645566822530fb969b82247ba83f2c80c06d34151e1f9061","b6cf3b02f36e0efa93b04667cdc5701340033a09e41a7196277cf6756999a666","b77c6669bcd54e0fa949faf2f7205f2631acfbc1ccf79f93f8dab5c5717f0e93","b7ffd6cddb12384224772e8de79aec89d8f4bca966a3c2a05763889f92a6db5c","b83f5334b85422ac110a24286d5af7003f2fb5b0d783efe257b38a2281656422","b8abe10a2a92bf537a49e8dee92baf8de3ed591848a1b25151dab0d7ab3134e5","b8b8c5cad182083f45ce2d05d036e6bfe91cde1fb63f2e5a97c683bb7ef7ea0f","b96cea09313d481dfff1ed1a2c552ea29e8fe68f52139458996a4e36157748d2","b96f9beb6d6d8fbf88c4b8b2b807a362f2640479cab6173cf64c7710817785a0","b9ad2510d8249ec4c8e7fd8b2471727aa1bd0ce8f3dde78e545fb2f8f2985a1d","ba7d7464da8e13722232c8f86273774054693681becc450a68aea21a5a0e9b91","ba87e5d43ddb10937bb17941f055f80a223d0981fbba44107aeec8530e3a7774","bac3431138e986d6426c1e81bdfe0a968394896c0751cbbcc8f36002fd0ed069","bb230236c4ab6353afb4147014c93204d3d1eb8a6d18558075df5fe79ed7f392","bb7fa81e41820d63d58313460f5a3999a1f9fc2cd2fb10cbb5b41a931d8be6a2","bd714f38c881208f1190ad714bf8fa5aa63adf302bdaa8ad8810ff279e43459e","be75cc1ee935f783be39978de91ae196c16141d4096e16eb6d07f59583296b4b","be8c3cb2d8d67e63c8b069920b74c6272922febbc6a0a2c4a0072a7a213681d2","beed0f36d9b1b9a20bfbf89c96862482b8d5b9d4284bc89539efe9c9b11f000d","bfd21b5c8eb26e9d475868bb30d66ee08f20876e9df5cd06aa8fec01ffe666df","bfe97e65f2cbe6bcd0f14ff57ea4dc1dedb2e5f0db92d04d0982cf1932ac1c3e","c055d3cfd85b2ed4607b0d9d3a15ab7204c9f149599f748347dca4afe102af0c","c112d36ba38c362da1c022945db5b6bbdc3014685ca9bb7d940f5086f00a675c","c23a43ed460117f663cec698412729fd91b5aaceb48cc4e55a785b525661bf1a","c23cf45c1dcb748145d87f5c173dd3c8becaf9e3f6fdcb3e2ca91d6726b0842a","c29b8d250a7b5e73f4ef675329da2251b8de032501e4836445b6aafd90c645fa","c329c9df0dae8a036da9be440432d045be3ee13cf5664cfa6ccf11576ed11acb","c4600cd5358b5798a075beb54539d952f200def1c9a573bd237c795fd33ba36f","c4ebd58c4ff78c9fc0cd17d80ed563520f7908f9d1106735ca0f5a7abed202a6","c6752cc3c7ad06d1e9f127365f078919ac46b77f8a8fe413650094d914838ec3","c6867ec30530fd3feca89a4e968522f783b636b165ef74f288c42dd50bd51a3d","c6bfbb004af355e96ed5b4c8c9b8b7a96d1c08d24bcde7c666728eb9497d6d71","c77c4d3f536cda10a71fe6a9cd17ea7c1408200e2f7aa7c5325d6915ff250c85","c8bd340e6fc7fa3e97415f7ad4c22c51d88c6e77f782c12923e841c04d3f882b","cad13b6653fd9f811e67d13c5f01f9dec047f8c384097cee01dd2e2db39e539f","cc24c3770587f2421514fa399d2617201752bdca145ac39058de91d45d3d19c1","cd2da00f6f1bad8fb7c1b87cff80e122eb017e44a471cdea769efc67db369038","cdbb7338988f2fd35fd92f21909b7801d9954d1c7ca78401f52c9313f21fb6dc","ce887fb65b6977a2046e7583d704863624e55909ebcc9c3ed065b3d13079a410","cf9223c369b6fb7baa52f301f904352ba8e8d5e4c2a06f70de6ef1cf76fe1b84","cfb9705939742247da0cb71fdfd8b5f7a1bef6f1c2f0979a8f42e54c4a480980","cfc3b5044af37ae7485fba8067dcb22b2438bdaa6e3a30c22ce0f9e2c00aa597","d0481d9b6111ab4afba0462e88970b863284807ff44ca97364c84952e3f88583","d0973a1aca6a118375b466d6e91821f8450110fdf042ac848ee16912012d2b0f","d0df3068db679e24d9487ee09a6462ac5cf3df30f46ee466b66feb6dd5ff71e2","d227e0a73e3c5452bc5ab41ea2c695dfc0ff9b0c1c81e59ab3173f796a4157cf","d2cba4dbbfe3d026f825a8b470a2f6011f9b8e245cf042ae8889afbb17dac6b2","d2e4c515093f8a2aa824c8b542a016e5c321065f4525931b2fac4f8af2fe52c6","d31e8aa21d1498f2d4a07c4cc89ea6f5a6d3ce54d334dbff230e0f55db35c85e","d37de74aadd5916eeae243decf347821c4e946356b9f70471658638ac3092f91","d3cf9b1433fd9a083c60baf6ade1df7f2a33e0cc7d519f491f9d6a93139a41e4","d49d02cad8bbfeac607457b08aac6068916ef45d8f6c980279d6e654407cc7be","d4f51c31a454d9abac29457cbbc21e1b5767c0eac1b37c41ee787a3efb05c80f","d52ca358246f638d0e11a061e97863697df44f43b093d6e8b84ba67b5838f2fb","d581443d0b6b42c76b816edc6946ce01a639ae42653ddc8cc2d6a89ce14fe947","d5c084e12da4a5111487c166b879042a21a056f761ee22d9237cb4f65f366341","d6077d547aa21ea10a9bdf6c752b8d1a0a6382b4b43a0fdf790f245e66a609fc","d67e8c1aaab1ce6ec1755599ecde153c47c6b90dd4c301663abe9057bc31af57","d6abcc1484c3df45bde915abf48324af1e995c3266a3c6c069e98e94c8d9a4d7","d84489933b19a8b073c65a0386e39e5067830facdc365ced6efe1948c7201771","d8ca8e025e226ad6bdd32a6a9fceae2982b0413a0ad09314558b54bdc724bf99","d8d03142030c11a0aa1012102fce2b202baf88e424a1236832937e87450dc579","d9823dfddf6c507ec030fce4bd2d98fbda18e595c2ebc563574d9196cc7a5e33","d9b0972f3406075b860ba7cd2e71d4492c826960319b10389c2c2820e2981254","da37a61fab07ec8856b725854e4064f55a59149aa69cad1bcbf89ec478b9f578","dad01e5bfb13a6c4419f4d24fa8dbb424e93a1c4be656b0e5dd48ac546e0a0d9","db049e7abb7c75b608ae25cc8a9f95959f7aedaa53e22390290319cc2eed3977","db21a75b4fa6165f75268963474f3262124795d816ba80f685bab2c6eaedb028","dc8c31e3075adeb63113852569b83dcd432485621eb77fef62cf3cce5c84a214","dd97ab52fd89f42352c595ce137684cc519c473fa17969e8a6adcde7322a4748","dda0a34d6704887eb36bbc0173334b49d755cac8cea3bbd17bfa972f04183dd4","ddbda9408727a19a4a55d516bed99331edf67d8301de9c78564716465c949619","de0f295bd0e46f29db1167d6c21bda624887c8543545d0c37d662e5b1b312341","de9a46da1f4605525b484a228f8bf356a9d900ecd16473faf77944b22575c141","e0288c94ca9c16a6de217e6baeed720fcf83e401bec45bd15ca47ba8fc9b44dd","e1667469384ec775a3df665679cb3fef057dc84dcb18ed8db8b9c5723835968a","e16c328504278cfe520d6d99990f2a4370cc48159aba86694d0f7598fd4b0611","e24df071f5325bb3a5b20f355143556bc7712535ee8b6ce4c426598f06fd2448","e28d8e6b71264d0bfab853e63178f2c151367cce0dbd16125596ff3604b6658d","e2c734504d211580b4e6674eb1c7d31fb6fb730c037210c34c980a96f9098269","e39ee882667ef28feb4971b73f9a01d3d72c557e1e56d59487af8e0f1b21edbd","e3f19c383354cdf45311f92f00b90fed25dfba7e9892ab2f5f3aa4885876b75f","e409fbfe439455330c0fe003de860e30f7093cc3cc83a32f886c9b539a29f60b","e6300ee8e6c2c4ce6d7ab02b7b06fd1cabe3c5c52b99a6ea3ea8b5acd5092e0b","e65e28b172b77d093f5425112bdae7ab93756487226fd7363057f85bb2a2556d","e734d068446591aba283d136c21b4fb0209f91352cb4fc6589bd651cdbfec163","e7556cd0bdd06760602ef78c5e3b30b4dbe175f96b7147b56ee2ec181a4c5ea3","e7a333109a7aaec2b71048868500c15e721900628eb48790dfeaa1fd4c2dabc3","e7c9175fbfd9fd84bed95d552bc0a439b07a233c3e91fb39ae2f23197ee53f1b","e7ed299ecf44d4a96c228e9aa30312f405df34d6bea99d4b0f7074c79705a671","e8bc1b4f162c4066d74e5d1b3dcbe344742279b6856736c2e1690dbaa7bcf932","ea1b8a251ecc1fd96697d0c602d3e14ec46383d27bb9485a0326cea5576ffacb","ea311dca2ef14e02b9aae563bb28dc737b04b7f01c1ceb2be3d92007d2c74ac6","ea8e5b79bbe5329ae8437677c8316f2f9fd75bb1d40c88308c269140a7e564c7","eb996138bc91c0ee63bafe1ba10b130ff5a2fc82aa4918296222e0a831a569fe","eba6e8e5a12a86f17fade41bef365aa95491c469e18aa91aef64908a4263c905","ebcf0bdb3541c8bfb7c9a53f632329b77341cba6f1a2fa0dc9704acfa3276dca","edc160a11c07dda8072748b66db7f27b6cd8efbd1faa3f6c826a0fe445859c17","edfcbe4773eac1fe2964179a4ad21294efede89568f2efd8e283ac18bc5693b1","f0f90dee84db760cc1bb0f6e6983d4de0e3d5d9f4adf7b2b52f0d3dbe6d585a4","f1d4a6e98f41ab3f6cfd67cddeab9d0ed287b92cb3dbe575e3ce61925510a792","f21c3a9267110e469f224ac7eb76ca5bb084fc90df014f1ca6791d5770483944","f379a1b9e29aa7fc25c4c0c897eaa3c0e90d66a201a0ade8cbf523a5cdc8cf50","f3e04891c79b604f9235f438adfa49ee27db43d25c7be0d1cc06ae53b8f6d2d8","f46904e701174fe2850798d9e1b077bdac42fcac01dbc385298da01118c82aa6","f4de28905adbfe6ae4bc38f8bf5f47a444aa8d0f2023faaa431d6f72f9a3edea","f53265f53af0b0856911ab08b373736964d0c443e8ba61d7f1d45f5e5b04edf3","f686173d310f41e26e3fe8a7c1dbf4313e4d793323335348badbcf4633f5d699","f6f5046c1263095a69e774716b0cd0907f6795af8ad683c5f41846d4c54a3449","f700bd87d4a758bb71f47731121a9b2259a9ffbd50b584b82f4e6a1f205c276a","f704c9c9e2cab1ed44578f48d161320b5fb4384ecdd8b40a5e22c4078a8594da","f7993302f695430a0ee938b1b3684fdfec4055bddb378b52c81785c0319e8c98","f89156489d35f9992d5971a52a6e03a7d7f095e15c2c782e85efb1408a2bd6be","f99ef6fa3c9c6bf572ec69eb6eeea9f88ce6590d3a5565bec62b001b6f2a376a","fa2dfc22b4fdbcf402a822e8dd376925655d997a0f96284a60f10665ba3581ba","fa3df5f8349aec4805bbcd279b88697def63f2462d8ada0b5fe1d9983d9a6daa","fa6b97cbca1d4f09662e706293b0aec1eb76b8e2277441f54ab6c548b5423236","faac0c3fa7cdf67b452d407e9a1db5cbe1e9140ecfe300200b0b0a6279c97c66","fbc8b53b5c6f3727c084e5e0429e410a3fed5a17e1a0144692fd196d9836a4bb","fbd74e4b8dc748b2efdd70aaab07adb80d7f15a38c1261de85bdfd9591ff106a","fd04d7588bb9e6ca0a8b65ed0c9635082a9ee5f46b2d1b5b25866a072236c1fc","fd60f2a432086c6fc4a4c39d8d2d6edf5794c763c05a6401db2bb5fa2c601775","fd618761103380d690cb98804e8f116b6c66ef049fbf67c1a059ce49188658b3","ff532716738e2fc716c10797d9717f324cca3a1234320a84a73a0b89569f11ab","ffd0fe3449e449c7b9fcdcc7e2c1ffb677e57ad935a252de88a0122d437efa67","ffde5c700732beac27a9b5162213d387422ce199400e56d9cefe550005b6a542"],"schema":"fsgg.atlas/1"} +{"records":["000ada42299601fba29016e5c0e0d4012876fb42670bb10fa0b1315477254ba4","003893cc49855d17a15295d7adbe57ee301ea20281dff216461baee0810853ff","0052dfb9eafceabaa590f4497e4d42f19020718c84b981d265edefd432ccf8dd","00641d046d6869fdd0023ab3df99e0e67a6ea28f0dcb701f622b1cec8b3e07c6","0066d4a624c02398f21b4d7a736a9fb5101ed8b6b13ceeab46907e9401af98ff","026a241141ee10eb829aa6ce461969242d5c1d45fe9ca19f08ef4ea880877676","026b08fb343aefe19177e95b759560d340d372def4b71acf613fefee3438ade2","0357495d23fac4fad210b6dd7ed7cc57dd33d107e1659a81f085cad78300797f","036c148f6d0e89858c9bf4cf380272ca6904bb4ca277a909fb71c47f5450cef7","04d17203f03279980862496517a1f0861be5f6cc8063bfbf92f8f8ac19744fdd","04e404d89dca295564813149472b1de8e6c43357e2f6d91d169ded7600ed3a02","0509e5c6fdbd2dde0c0db8558647080560714804d00e4f9268342f2e84858a3d","06ad2c8aa0ff3b862edf3ba99e0e4e8801ee163709e66333cd06c3fc61232b05","09e90ad705af012a8c36efbf296757f35adf9c9ce3b8908791c75d72c192973f","0a6d7dc5b64970bfdadc9049ace95e8bc163fc421beea70129ff0eaa692c6d06","0a862ee40916522f8ae5f14b3e084bf5f2e6488185583346db96ced16ce7619e","0a9df276d42b56d98a7802befc2404204e0e5ee8bc7f5c032f7bb29aa4ae2091","0ad4403c8f4078dbfa543310c69bd1dfc768e305987214ffc37d7b2600c4687c","0c22360d4653eb0f450e4d3d34564875f1660cfcb2d546095d98b3faa3967cbc","0da4d093b49c0a1f654b38008bb01195e816829279ca1989bd2448194e15361b","0e560af7d9dd2e0f2f588a74cd35512973747f20bdfe0bee0bc889105ea53dc9","0ea7107c2c8edaab3ff2bae32f63cfbef6903a51cdaff257278f757ed5ef429d","0eef4d717eb03f0906aa3be7336aa71f831726afabe8a56077b76f6e82fd08e1","11fe30832d93706c60efd836b09f35f049c4a715ad6144cf277ca240c5780704","1244d27db0cf5075353bcc622d0fb3b5ca6a7d08526e2c5754e8b745c250bf3f","126c817ad25ca9cbac2a0f7446e76c79852459ac7b9c61e3ba5d5cbfe5d37dfb","13824d6bce0f961c89eef4bd3c8a72ae6ecf7a1339b9e06eec964dc5c12dc544","14156f1c6bf0fa8dfcb5cfafac09e012db446d528dad0e4301404fd693b9bed3","155fe673b8ae12549c978e1bf1d5c43e360937fcf2135cdcd5aea6f6c771da44","1945f527afc3c2930ec4d7fa57ebb2ef7dd6321c0dd3ab9233c9963e9e613165","19d657b67672257ece127f3b957674b7fb4780843148db0a36a0b329c2a418ba","1a24f6ef0c08a898f309c1b925fc19b29526f913a61a1dfe4b1a4308ebdd97ac","1b5351b2dc647aba864e387168db5128435cb80da94fc42581cd60a05fc34b9a","1cfd18d1b12b25604d818389a34bbaa746f450e70246c7f4242fc4e215fc46a4","1da011289116fe88fe92cb8f0e83ed7ccbbca251681d4e136c5a61c40364f8d3","1ec9445b242d2a2e149fe71c67bf13d8c0e4ebe5a6ed7b022656b9941973909d","1edc36731a9c76ad07d269d8b4fd84c8c956bb43d6f56de17d6208164856ffbe","1fec5a63a7b2b212e3e5d5222e49061f3b924966c9741294f5630836be8a3925","20901b579f69cc97eb56b492938864667576e1c9bfacf13f8a529c4f6e543448","21338155cb4f52c49e5072c877771be67c75590d9b238ea025fba5209fd6e018","23af79bd1e7995fc8162ddc4d830318acb054bbfcc9c7d5cb141ec306da67386","24d4f2730d94d1b7f149771ef0e59192f4936d142b21f4a56b1a391e4514d38d","252de742c26409c837ef491f55eb03ffcc99da13fb1a2f8ab66efbfb0c081a2f","253bb17320020b6a5ef8f0958856f6c565a239b4dc246d9e825f8b14da9ca8de","2591526ddabbea03fbdc38bf172bc54f42df9bc51eba7ad2b70d6e67215f08f1","26259abc7fe745f52e06f2aa2abb0e50f189bc7608065f04d5c669a0a99941cd","26290a0990d6dac0ce9448e05eb934210603356043dcf14a5d80585288e2aa92","26d6b31965013079d4db67a2c403e01f21e3c30ae65953400dbed92e289a0925","288daf614247c260cb673d8674e8b3874ccc4e269347836851f702d7ac8e2f7c","28abfaf6d50ca38af0b88aa50524200c17af9000da83ddbab3d8f9e06e020fa5","291d3db272eae084d34c04bc1305f2abb26a7e7acbc5515208469b46719a4ed1","2a38ddebfe3380232e35d5a24f9cb9f7c38abbc9c68add4ea5952c1e65d328d2","2c76ce93500601e281a41f5985fe4e3926fc8bc9d01ee687f14052cb553ad2d2","2d599c722a08306b98f2d833fb3e4a7acb9dea92e6a58820caa2f65c09803fb8","2e1bc31ff6b6fb14d0ca8703a02833db749b03e172f2e91f9423f0751e88c256","2e872e9d3ab8b553270e79673060c50c1afd68a41fcf9fdd0a13cba80be0dfaf","2ecd502add2d801eebed39411fadc9a80098ba9ce04a5f4b728a0e4e331232d6","2f7357367d921995f4c6fdaa693392adcd2df4860ef4d25c8dc47f7ddea8c755","2fb2ed7902a8e35dc36489a23245d963026d688008c92fed6fdc1f6bc27198a6","3018f389f6928af5830bdd081c9d03530a379f37d1c2f9196e6fb3c44eb337d5","310bfb5b2d061bb733771e5cb7b3b7d25db43af5eda9f806169b7ef9330c2fe7","32f69a7b8997ae98b9305ee578145d795dbcd39ca4469bf2465e57a0295cda51","335683e33b94cb86b5e426b4faed200673bf850151191a08458136ceb164fd4e","3407ec53a884d3945d86a88d6b9a883419dd426e96b1108a8e6686f30397a629","34463778cf2d29e3896a65613cf9e3eb3e9f2d8946d17f12b609e70eec63d128","348ba129b7b9c94e24fa8ddb81024e777c60448d1b5d49f7b2075591b23c13b1","35da3938b72cf3520e126ad595157104b69ab748904c7b4e12f563d6b103172b","37c8908ea2a349cd3034018027160ad810b28ad1fc203a9a353971e1f7396b4c","37e39faee019bb041627510f1f02746ba9a85696417a083b438eb4974b72c2bf","38a75fd804821f4836f0a7ba8d41af3d3a3a5f5d7dcea68487009297824258d9","38c6396e645750efcb2f187c36c383471b3b0b59290e3b42cfcb9668594cd0c3","397476cf107b48e7a662264f8fea9f880231fd3d1e0401622650f214cfaa35c7","3ad8b0398ba6c354c9e31b7438b2515579fc0b1f17de4b35a914c862a3a11e3b","3b3c6cf083b12a840565e00458e2fd4ee8a61f97cda452703a6b13d7776b6c13","3b4af144afed3d52dd2e1f64e23bc25b3475eee5f7af3bde9886761b15c33dfd","3b5d82795e9f5d1992ab67e078fcf1108247ab9b6d1baeac944d3ec0294cec5d","3d0274f77576abdbdf442c8843e955e1bbc91e9f8cbfe3646b119337cdb13c96","3dbf6d1c2c8db1a7e3988e2a84b67a4e1d7c8304661652ffa94db3b7eee08edb","3dfcea4ee3d0d0ed09b1f77bac48b33b64ab4620cbfc74fe0e4201b4cdb81ce6","3e2f66baa16c7ea936eba34720a55897438f60b343cbe8fda4eab1e5dde044eb","40de9f41f9a9f56ef6a51d065270e875b4a85cf043b7c4a0173b2510de4979ea","41c768ea17144c6ec225e9a65d4c3c127fdd7264dcba1a89aa17b20fd5d7e3ee","42aeb46fcc3d10b95e4067bc9cda875fa933b4102873f67c7bf1f8ca6799a598","4320b92712bc14dbe10b56f1cd3d1bdc093fc4be6016732839d0be4dd4d027d3","444342c21a4743af5961beeebb88088f5d2a0649f76c71973a7706a744f5efd2","46cdf2c207f79d388001f6636dfb7a98bb2ba72b9d1c6df4938f0a27691e07a6","47b5cb2b011c0f7012d75e88eb86a10f3f0bd48545db139669e654cac1f69650","480f1ede18ae031b164d49d676feeb1090fb33932676ff52e1e2eb24e8d154cd","482cd15ecd9cfbd8e1943c0fcde0bbf1d875392dc2a701b698f48bfba684a062","4855e1947afc954cb1b20bb45e7af10b098fa34714bd32e9bc77941cf58fdaaa","48797c44c92cb34fd9a57a08020b45c6920b2268dc8ad616c0f814a3710d5316","48d094622ada1806cb30335926007c1abc476b1f7b45a2e250c490afa25e847b","49e8cf09e38acefd3a0fa62d048028286d3b47b5ceccd8f51f10022978c47820","4a724a6a842a132c2185279513f341b79f9be93e42660f1255770eeae3b1323c","4aecbdfafb68feb3124c39219498241864bcf1ceaf87fbf80598b1dd87a9191d","4b364ecb35ad02b06b6b0f32b6a29202f2c835e1ac0d70b89fd0278271799dbb","4be7778c4f491d55154a028d9a9dbb35059953fbcd243e0206902a6e64645efb","4c8c327dacf345e184042092e96ad3ea02ed4cece57dac5fa68ea52fbb5a6adf","4d5a44ba07fafeab823b54a21846269330ce35b4c190f3ddd5434bc8530d9b41","4d86a2764c55b5c5f675fddad8850ce4ceab160ac5c164a299fc098899d31aa9","4da0a5be70e8af9c39623deac83822749482187f6a0fc3d186dcfddaa7111576","4ece7844e2b35705ac39fa25913f6909aad5b4b7446bd637ced46b47c0db135c","4f1e58fc658a4ceda181e2a7fa249305b09b573ffd68c2489f204f4957224957","4f2750b974c1404acb721ffc84cbd1d0756a24211dd6f6503c10ea74dbc45676","5029c7b222158ab3f325168fa543d84fd2332d2e3e38db1ce7b83899cef201d1","509ec9c08864b9dd0029f32ffeac85fbac863e2dad459994c65b7cb5264faffa","50fd7e982eb2d2813634b7c44e102788a1a1cd4910a27acbcf219f76314fa322","52049cc9cee43bb27229e6b3e983e02c6aa20dd7d153b13e3c74bc6d2b47cf92","5382c901d160ca2d79888d8acd7a690a5349826b5da486274b0800c9d7513f11","540879695d41205515aaabe5466971014cb43b960a26b8e5958e37fed63df762","548d237f42167af5cf5caa0ba20f0e7a6387deb6f27765637f078325172396a7","55267f058e9f085117765e4ca72ce875b622ceaceed964f6c396073214835c28","5560616d1e72f0a539f9ebbfea3b7d195c1ef5622f97994af1963748d4f97533","556ee783d8e2e4ca50f656c095758be613983f904d998a6534fb155510114f21","55a4711e799294d06988ab4acf77eacd7d424123082bba3ec987dff0ae13999c","55ae095961d78a1514c4dd1e63d477c60179a8662571ab5a90abd3eb2b83eb10","56e7158313357bb145bd98c5f790e569be2203fb2601565a30091a597a7e7ff5","5962dd14d3923433cf723d698d1af19ac37a270b6e88445643fc56a646faab5b","5a2064cdf51026eed65457c05f34bec919b31d96d35c29498d298685965f0b5a","5b77bd6dfa81cc339e729e4195e258facbfeb64b9c680512f742e3fb1961fdd5","5c3527e43fe24c5aa171c6fa4a3de7fe5e78f2527aed0dd19cb21d154d43da21","5c79c77f00167ca140127b00f1a79e1ffac621e46fc461089594206a7df8d7cc","5ca67643d5111fffd21deb18569162733e846965bf05fe6eb33ccd37c964025a","5d015880319af666943e68169ca906bf2f0c813d8bf2c5c0262aeb5a40366350","5f2a75b89983d1005a38afa2cabccc3a39f31989807120281d8505ffd564e0c6","5f43c837f39d207c35a58e9b36fe3144017b2012ac7da334714247606f1906d2","5f4fa6dde5930fe1b42f805895f0f5fb135c2b3ff9830f2bd30ae7526a3295a1","630fdcff1f227b5baf5d10bd78ef0fde68791ac0cd8a15f65065f5cc4501b17b","63113617f2e4ee6b827a69bce6afb3949190a282f5feaaa9e2c9f82372623bb8","63544fa69b09916d52b305700eb9816305ff22b77162a44edd13897acea3a655","6385459222fba2c3302d3f2e38c57fcfe0f1829679fead6cffa1964248767d5e","63a4394e689acf4a4762cfb4df691d05f923fdf592fd2f8ea41e6a54f98d1136","65d5b7eff9d03761c8206218159bb34883c09052d6a1959d040f711a881b4d4f","66d414618d4283838bddb6b9fd4b5221c280a7f6a715b622143d3bea76bfe1f6","6989ec486a05550633170d2aa79188ad9b03aeea6c7859dbf18790ba78c5427a","69ebfc7eb8427db3c5c59bdde652d0cb269426126f8540b1b58caa29ccf130e2","69edc4285578313d1dd2f914d69add075a7b354f7fba717606d1abe15292576b","6a34d9279cae58765d6ee4a980192c0e15f3ca217b9f1815861d472a281b3cf8","6b00dccaa7deabc750679ab085b237a2bd025bd971ee1eb7bdc333b393b19084","6c3c592efe9c684ada5661b8cc88a5c3f6e57c841db06b9e070687504cbf6236","6ce6d164c3e31463fb9e144fdf91413e55d077cfc4f25092bb02923fb538a84f","6e08a638e1e28020923effd4c65fc517dbe7b06100ff76cde74e427191503b84","6f3a7020233cd77cfe59eefec0a277f6dda323743c8d80e4e54a95cd3cbc23cf","6fccc6f0c5fa71c43211785dced8abd0f3295040eab56063f4e8d77f1c09b8ef","700cd21af9ed7e81900fad9d52de2fb11db48e64b038e4293168f85e5dd0e043","702d1dfa75e92a916a446429f474d4c296e6ea4e8c487995852d0525e8440659","704cf778db6086c3e282c81249fb0ef09c1d7c2043335ef74c7ecb69bb3e84ad","71ef1ed2d5e4bc7eebe7a73bb3e9423e5bc2f8319186380fe8b38334952d3b01","7256ba00af1cf759b95b7bf8ae3b9943f31349bd10a7652a26bb419b368d73a3","7369b339daca0fcf46ac7fe82d65ae95c75d7dbcaaae51209e6d90b6587a014e","73ec844fb3e2b9febd00ba37508b284fad141630f03cb9f74e36a195180f5054","7410de003c7b582e30470d1209eefc796a70c76fe8d61dd9ccfe01ecfa41310c","741c27b54c49167abef1d8633e3743b0e98f82a73731e744b6671e119a1c6310","75aaecf53db10459d768a6873f6783e7d7110aa510c2894378df027c1b03584c","76bf5a9c126db6eb466287a7c0d823327ee9882a70eaaa6efb03d169b5dba808","781a64598efb2a11156f07271ba1c14c4f6b3d73aa2943b26eae02063df7af70","799abc1e8d381b8d97349479139985e383bb49179b5a80f39807cb35a3ee78ce","79faec494bdd6d098c9d2a9d8559f822938c6b2104188db95321d89e7a732979","79fb2e6e6a91117b6aefbdaabda23ccfa596620f548ee5075993a8dc7a8b872f","7a032dbf0351aa32c77c8d187f7eb697500ff186c88c5946ecc15adc972246a6","7a134e7f1822183ed1c0ded720971539350feaaf92612761210cfc3ccdc55870","7aa52373f2721dd76fc8eeb3d6061794f27ea8d11e96bcb1ff25a97994a77d5c","7ad4ef4b8d3221758a9e7f9577750ee03f6cba11c8eae8bf25f74a3131bd21a2","7baa35131ece7ed9860607157d2531d4d70a061bdc9bb9876e20328f127cec53","7cbf970a11bdb91a40e248eee97ef789205910ebc913349698fc75ed35e82fdf","7d6133667f81aa66a98755d253ea43301b45ada338225df034d2ffdfc79829e7","7e89b59b456dde4bbbdbf8079665bd82c51d8e500018472981c15618b3893959","7ead0c68ffa0ced241af74dde58b3831343dff3f7eaab64bddb9954545b7ba12","7f8188b57ad3b0c28210c95954e5623376a4262dd5e75f002700c6094b8d6b6c","7f91dfc2ea1a3131c4090375db0f489c2a572e245ade6cda4ebd440446d6d60e","7fcb8cba3ed0ee9c342947aa88f0f699bb4f5c23244d21c6c739c9b66d7c6101","800060d7b4934508d0277f90a464e3112fd2fc99af4ef23825d09b0ff53f91c3","800a802a4ce9e597a102f0a566535c1f9f7adfc60c41af6bd2db4fb7fe3c0d0e","820c12fcbded9048a363b9e0ebbc48b24f85fd4a68131b5dfc1b19057bf09ddb","824bff7541ec2a4b0be126f0b0791314d568a0eb4e29073de4f9dbe0ee4918b8","82c419e5de083e423330432c9d45c744043d1bccd8eeccb41e3014ce9ae3c32f","8343a4211a4d0ffdb320d5a4305174d85bb707d15dad978f6436297d022daa11","83a97b9ebb29f5cd014ef5e178970a601ee92c44678f05d1860b383c5f63b79d","85a962a7c23c14dff8d683e738b53f422221697b213cafeb616d3a172a6c4223","8629fddeb4f273b35df69d4d28923adc14eff59d919b1a495d1a68818137c561","872ab2b2d65fe685b91e355f5af051c85b79569ece16448160d01fef38039624","87f2b3634baa504f2ed9508c6cf6a47bbfb36214a177eb13d70d6a987706818c","88b615ef6a31bd9958e98b8ea522f49f0360ccac5d9fa8deb9e3ef3fe3147d9d","89cafbb20d6029656266d8cb0f85103fa519c8032598282fea58c94cc59c4125","89f2105745b3a7cfd30e7d7c598d6c8fdde0a599f30fd0db7382cba50412445e","8b3eec010d1eae43a28c88434f2410a751f790a9d6ec4a08e75e68c171629ab2","8cecfa09651c40be4d7c11c117c80e1911dc75bf6f1cc34be64706823cc024c3","8d250acd40c8a24ba0d51cc73e65bba6856509b5fbf4c7d7a435897a01c6e764","8df1420c27503370db9382f68a0af8d2b4d56f9dbc94b24ffae450a905083a79","8e7371228a726f381fb811d1d812c39917788a3df7e53dba1a3c364e755a0c03","8fae27ba5117e202afbd523b249fc454912571900fc909f5419b8ac96c773c44","902b958b4db7d8d8bf73a82a8aa86e5485b39477047c8ad60175d118fe31d987","9056c360e59fc78edde932b54124df317f2f04a90c0c6eb7825a87b89edf1ca0","918126027fabb7947dd4ae810dd561ac22167102f9f978f86906624ebe88c9ea","91c9ced5e9ab8da897b7f69166a7d0bade5c58d511b42d60d5430d536da45d09","941f70c384905ab77cb9a88e2671301117e4df553da6fc7a09210710deb9b6ca","9442788fa51227044803f1d3efdfc1c2b2da372871a85f0f7a6bb3596a5c003f","9460f427df72c238c4b55f39c8864f1fa3685b0716a53227ea6f7b591d955c82","947a1cdd43831936480167169d30334f818bb5d882650a3547827c05204af111","95f0c5f3b9071db39fd72b88ec9fb2079ce7553fd5884fa527bc9216777d7c10","96c4c83df72e9d860e2ee51f1a74bc867c4a45efc8bf11bf88aa82e368b89aa4","971f59cc197732d0c0b6b8aabbbefca4550fb8fb04f8522bdb4257c05a28848a","98a097d6ebb754334250dfd3ccc5f3dfaf5966524758cbfc9e10adf4a0229693","98c7e4bc2f05e9b4ca703db4a02347db7355a44f04e3a4003e26c46a56bded2c","9944d1a9674e555a41d31d069d136461eb06dd4052d40f2e4ea4368dd978e01b","9b466e8fcabe551bb6292d23a359be3ea15b7627a6ad9c9e6a4ff11444c20860","9bac7daf255467f47b83723095f93fa4b574d5fc08593f48825a2b2ebb8e2dd8","9bbd03293bf53e9db51401d157b3eb2aa51e9c70449350e98b9a0a3fc9a684ce","9c3b318c461b56a8d277133a6b947ef5618690ec281c42e9de6c27f22458d4d4","9cef1feab6841836dc20527fcc8ad9979671fe811ff80a5a33bae113fcbebb97","9cf90b3aa59f3ca0e40fd9e1fec9703428752d63bded6b091d28f614c9ba99ae","9d8637e5adebaca208f21af0a254e80712988867411be560031f4b7a23cc04f6","9eb67ea41c5bcb9557ba51bbbd1b321a78f16335cadebbed848d8e6c1fc68bab","9ed400941ed49b2d90ebe3cc111d90d8bc966608ca61fe9bc315a3c1dbe8bc1b","a0ff0d0bb3a3c801b637d091293f2eeaac68e934274e4116d298ba60ec3461cc","a1baa1f699fd4ce19e8ef6cdfe346e1b0be63e16d5c5cd5feddcccb16a62f269","a3c84d76be9d891812e795dd46470c2978dceeff928d729c0d5dd6def599923b","a476183540f2e7121e533bf2dd9125dc071c81acc880e88cb435cad7a6d35b97","a514a8c0898b6697696ca6f0ed9a43bf8993085b2db4299e3e9f8e3419c4a5ee","a64e8aee389ae696d0d4b045c0153092113fa522ed5a0fd9b5658b8418db4ded","a6c531ed9bbafabfdd649f3030daf2f24461163aaf99dc73bb24dddb77bbcb90","a7ff7302e668dcea1cd1db2241ff95c0d73534539bd03fdefebbfb57f60d3849","a8b4a33078335d2811bffb78eee49aab5fcb31597dae366d43e20c7f7800994b","a91a47fb4fa5c1b1a834fa602030e435ad641240e6ceeb99eeeab7341ca09dec","a91c8a1431a4120667cd523cf56bac004794fc5b8b24275ad2f9c8a15c75fba1","a986593807953215f834ba73e7d2565659b32aa849986013f8614bb1c61ea8cf","aa131e74e695292adab9f57b3ccc5a503a836dd4b95a3b2b107c69f35dba3637","aa4103342641899dc00c22207c13ac31c0c73afd97771b0a9b249187d979625d","aa70263d079788757f176da269e554fef9240845706f87a93101591f8114e807","acae1db4aeb323f3b637fa11b087c3827a2fb6d69718362f54e3bc48f70ef7d8","acd7884bca46ea9422503cead985691da05cca25bd5ed52a199783cae7b8b01f","ad0e6d78c1e450e19bfca4a0e904644ab0ae315607811a28ac3dba20de869786","ae69fe306bf5db346ddfa4367cda24c95e44213baca27b0ee7d7167bcdd85af6","ae8c200dbcea29f43b29974cc247d70647c80d5d76385396f1c82ee9f669e2f1","aec13a075b84253397fb97e1c93a23e1aaee6d6bff2a9161bfd00a5b1d7611de","af12215a96963c1e7e5d766ed994695e423e4780ed0b3007aed87b150d090c05","af6b60ae365a6cbeb140430b030bdb667f53a2a97508ae92dfc9ed91ca73b54a","b09355a97e3aef396f681943b37a404a98fccc6bcb97781eddb2fc000d1d985d","b0ecfca0d114bae34ffa62ac3ea05159a4415fc6eb73ab1fcc4d79f657268f19","b25c41f19ba40e646fd9b6f82051ee4c38985539e445b26bd628eae98537df53","b262187aa66e8a97083bf7f79b91595bf7a4077abe7f8be5b00b4998f4579d20","b4091f93c3d96e36b0708f5dcd46e0e7a0a48f098036ccef6164e4a6429ed94c","b4093c67a9195ee7d28d2575e967ac80057b92339489c244243c7c504c669ff0","b44352445272089cf90967d4d413cf7009bed0ac19f3fa95cb831d5ebad081c3","b4ce73bea5219f1b27bffb36c6a9dee14447a710a8938db807770083db4552ac","b5102ef50e7d4ed1925af5a8b45192e737df02fafb75d7065995a2bb93d2e8e1","b5428b5775526a00645566822530fb969b82247ba83f2c80c06d34151e1f9061","b6cf3b02f36e0efa93b04667cdc5701340033a09e41a7196277cf6756999a666","b77c6669bcd54e0fa949faf2f7205f2631acfbc1ccf79f93f8dab5c5717f0e93","b7ffd6cddb12384224772e8de79aec89d8f4bca966a3c2a05763889f92a6db5c","b83f5334b85422ac110a24286d5af7003f2fb5b0d783efe257b38a2281656422","b8abe10a2a92bf537a49e8dee92baf8de3ed591848a1b25151dab0d7ab3134e5","b8b8c5cad182083f45ce2d05d036e6bfe91cde1fb63f2e5a97c683bb7ef7ea0f","b96cea09313d481dfff1ed1a2c552ea29e8fe68f52139458996a4e36157748d2","b96f9beb6d6d8fbf88c4b8b2b807a362f2640479cab6173cf64c7710817785a0","b9ad2510d8249ec4c8e7fd8b2471727aa1bd0ce8f3dde78e545fb2f8f2985a1d","ba7d7464da8e13722232c8f86273774054693681becc450a68aea21a5a0e9b91","ba87e5d43ddb10937bb17941f055f80a223d0981fbba44107aeec8530e3a7774","bac3431138e986d6426c1e81bdfe0a968394896c0751cbbcc8f36002fd0ed069","bb230236c4ab6353afb4147014c93204d3d1eb8a6d18558075df5fe79ed7f392","bb7fa81e41820d63d58313460f5a3999a1f9fc2cd2fb10cbb5b41a931d8be6a2","bd714f38c881208f1190ad714bf8fa5aa63adf302bdaa8ad8810ff279e43459e","be75cc1ee935f783be39978de91ae196c16141d4096e16eb6d07f59583296b4b","be8c3cb2d8d67e63c8b069920b74c6272922febbc6a0a2c4a0072a7a213681d2","beed0f36d9b1b9a20bfbf89c96862482b8d5b9d4284bc89539efe9c9b11f000d","bfd21b5c8eb26e9d475868bb30d66ee08f20876e9df5cd06aa8fec01ffe666df","bfe97e65f2cbe6bcd0f14ff57ea4dc1dedb2e5f0db92d04d0982cf1932ac1c3e","c055d3cfd85b2ed4607b0d9d3a15ab7204c9f149599f748347dca4afe102af0c","c112d36ba38c362da1c022945db5b6bbdc3014685ca9bb7d940f5086f00a675c","c23a43ed460117f663cec698412729fd91b5aaceb48cc4e55a785b525661bf1a","c23cf45c1dcb748145d87f5c173dd3c8becaf9e3f6fdcb3e2ca91d6726b0842a","c29b8d250a7b5e73f4ef675329da2251b8de032501e4836445b6aafd90c645fa","c329c9df0dae8a036da9be440432d045be3ee13cf5664cfa6ccf11576ed11acb","c4600cd5358b5798a075beb54539d952f200def1c9a573bd237c795fd33ba36f","c4ebd58c4ff78c9fc0cd17d80ed563520f7908f9d1106735ca0f5a7abed202a6","c6752cc3c7ad06d1e9f127365f078919ac46b77f8a8fe413650094d914838ec3","c6867ec30530fd3feca89a4e968522f783b636b165ef74f288c42dd50bd51a3d","c6bfbb004af355e96ed5b4c8c9b8b7a96d1c08d24bcde7c666728eb9497d6d71","c77c4d3f536cda10a71fe6a9cd17ea7c1408200e2f7aa7c5325d6915ff250c85","c8bd340e6fc7fa3e97415f7ad4c22c51d88c6e77f782c12923e841c04d3f882b","cad13b6653fd9f811e67d13c5f01f9dec047f8c384097cee01dd2e2db39e539f","cc24c3770587f2421514fa399d2617201752bdca145ac39058de91d45d3d19c1","cd2da00f6f1bad8fb7c1b87cff80e122eb017e44a471cdea769efc67db369038","cdbb7338988f2fd35fd92f21909b7801d9954d1c7ca78401f52c9313f21fb6dc","ce887fb65b6977a2046e7583d704863624e55909ebcc9c3ed065b3d13079a410","cf9223c369b6fb7baa52f301f904352ba8e8d5e4c2a06f70de6ef1cf76fe1b84","cfb9705939742247da0cb71fdfd8b5f7a1bef6f1c2f0979a8f42e54c4a480980","cfc3b5044af37ae7485fba8067dcb22b2438bdaa6e3a30c22ce0f9e2c00aa597","d0481d9b6111ab4afba0462e88970b863284807ff44ca97364c84952e3f88583","d0973a1aca6a118375b466d6e91821f8450110fdf042ac848ee16912012d2b0f","d0df3068db679e24d9487ee09a6462ac5cf3df30f46ee466b66feb6dd5ff71e2","d227e0a73e3c5452bc5ab41ea2c695dfc0ff9b0c1c81e59ab3173f796a4157cf","d2cba4dbbfe3d026f825a8b470a2f6011f9b8e245cf042ae8889afbb17dac6b2","d2e4c515093f8a2aa824c8b542a016e5c321065f4525931b2fac4f8af2fe52c6","d31e8aa21d1498f2d4a07c4cc89ea6f5a6d3ce54d334dbff230e0f55db35c85e","d37de74aadd5916eeae243decf347821c4e946356b9f70471658638ac3092f91","d3cf9b1433fd9a083c60baf6ade1df7f2a33e0cc7d519f491f9d6a93139a41e4","d49d02cad8bbfeac607457b08aac6068916ef45d8f6c980279d6e654407cc7be","d4f51c31a454d9abac29457cbbc21e1b5767c0eac1b37c41ee787a3efb05c80f","d52ca358246f638d0e11a061e97863697df44f43b093d6e8b84ba67b5838f2fb","d581443d0b6b42c76b816edc6946ce01a639ae42653ddc8cc2d6a89ce14fe947","d5c084e12da4a5111487c166b879042a21a056f761ee22d9237cb4f65f366341","d6077d547aa21ea10a9bdf6c752b8d1a0a6382b4b43a0fdf790f245e66a609fc","d67e8c1aaab1ce6ec1755599ecde153c47c6b90dd4c301663abe9057bc31af57","d6abcc1484c3df45bde915abf48324af1e995c3266a3c6c069e98e94c8d9a4d7","d84489933b19a8b073c65a0386e39e5067830facdc365ced6efe1948c7201771","d8ca8e025e226ad6bdd32a6a9fceae2982b0413a0ad09314558b54bdc724bf99","d8d03142030c11a0aa1012102fce2b202baf88e424a1236832937e87450dc579","d9823dfddf6c507ec030fce4bd2d98fbda18e595c2ebc563574d9196cc7a5e33","d9b0972f3406075b860ba7cd2e71d4492c826960319b10389c2c2820e2981254","da37a61fab07ec8856b725854e4064f55a59149aa69cad1bcbf89ec478b9f578","dad01e5bfb13a6c4419f4d24fa8dbb424e93a1c4be656b0e5dd48ac546e0a0d9","db049e7abb7c75b608ae25cc8a9f95959f7aedaa53e22390290319cc2eed3977","db21a75b4fa6165f75268963474f3262124795d816ba80f685bab2c6eaedb028","dc8c31e3075adeb63113852569b83dcd432485621eb77fef62cf3cce5c84a214","dd97ab52fd89f42352c595ce137684cc519c473fa17969e8a6adcde7322a4748","dda0a34d6704887eb36bbc0173334b49d755cac8cea3bbd17bfa972f04183dd4","ddbda9408727a19a4a55d516bed99331edf67d8301de9c78564716465c949619","de0f295bd0e46f29db1167d6c21bda624887c8543545d0c37d662e5b1b312341","de9a46da1f4605525b484a228f8bf356a9d900ecd16473faf77944b22575c141","e0288c94ca9c16a6de217e6baeed720fcf83e401bec45bd15ca47ba8fc9b44dd","e1667469384ec775a3df665679cb3fef057dc84dcb18ed8db8b9c5723835968a","e16c328504278cfe520d6d99990f2a4370cc48159aba86694d0f7598fd4b0611","e24df071f5325bb3a5b20f355143556bc7712535ee8b6ce4c426598f06fd2448","e28d8e6b71264d0bfab853e63178f2c151367cce0dbd16125596ff3604b6658d","e2c734504d211580b4e6674eb1c7d31fb6fb730c037210c34c980a96f9098269","e39ee882667ef28feb4971b73f9a01d3d72c557e1e56d59487af8e0f1b21edbd","e3f19c383354cdf45311f92f00b90fed25dfba7e9892ab2f5f3aa4885876b75f","e409fbfe439455330c0fe003de860e30f7093cc3cc83a32f886c9b539a29f60b","e6300ee8e6c2c4ce6d7ab02b7b06fd1cabe3c5c52b99a6ea3ea8b5acd5092e0b","e65e28b172b77d093f5425112bdae7ab93756487226fd7363057f85bb2a2556d","e734d068446591aba283d136c21b4fb0209f91352cb4fc6589bd651cdbfec163","e7556cd0bdd06760602ef78c5e3b30b4dbe175f96b7147b56ee2ec181a4c5ea3","e7a333109a7aaec2b71048868500c15e721900628eb48790dfeaa1fd4c2dabc3","e7c9175fbfd9fd84bed95d552bc0a439b07a233c3e91fb39ae2f23197ee53f1b","e7ed299ecf44d4a96c228e9aa30312f405df34d6bea99d4b0f7074c79705a671","e8bc1b4f162c4066d74e5d1b3dcbe344742279b6856736c2e1690dbaa7bcf932","ea1b8a251ecc1fd96697d0c602d3e14ec46383d27bb9485a0326cea5576ffacb","ea311dca2ef14e02b9aae563bb28dc737b04b7f01c1ceb2be3d92007d2c74ac6","ea8e5b79bbe5329ae8437677c8316f2f9fd75bb1d40c88308c269140a7e564c7","eb996138bc91c0ee63bafe1ba10b130ff5a2fc82aa4918296222e0a831a569fe","eba6e8e5a12a86f17fade41bef365aa95491c469e18aa91aef64908a4263c905","ebcf0bdb3541c8bfb7c9a53f632329b77341cba6f1a2fa0dc9704acfa3276dca","edc160a11c07dda8072748b66db7f27b6cd8efbd1faa3f6c826a0fe445859c17","edfcbe4773eac1fe2964179a4ad21294efede89568f2efd8e283ac18bc5693b1","f0f90dee84db760cc1bb0f6e6983d4de0e3d5d9f4adf7b2b52f0d3dbe6d585a4","f1d4a6e98f41ab3f6cfd67cddeab9d0ed287b92cb3dbe575e3ce61925510a792","f21c3a9267110e469f224ac7eb76ca5bb084fc90df014f1ca6791d5770483944","f379a1b9e29aa7fc25c4c0c897eaa3c0e90d66a201a0ade8cbf523a5cdc8cf50","f3e04891c79b604f9235f438adfa49ee27db43d25c7be0d1cc06ae53b8f6d2d8","f46904e701174fe2850798d9e1b077bdac42fcac01dbc385298da01118c82aa6","f4de28905adbfe6ae4bc38f8bf5f47a444aa8d0f2023faaa431d6f72f9a3edea","f53265f53af0b0856911ab08b373736964d0c443e8ba61d7f1d45f5e5b04edf3","f686173d310f41e26e3fe8a7c1dbf4313e4d793323335348badbcf4633f5d699","f6f5046c1263095a69e774716b0cd0907f6795af8ad683c5f41846d4c54a3449","f700bd87d4a758bb71f47731121a9b2259a9ffbd50b584b82f4e6a1f205c276a","f704c9c9e2cab1ed44578f48d161320b5fb4384ecdd8b40a5e22c4078a8594da","f7993302f695430a0ee938b1b3684fdfec4055bddb378b52c81785c0319e8c98","f89156489d35f9992d5971a52a6e03a7d7f095e15c2c782e85efb1408a2bd6be","f99ef6fa3c9c6bf572ec69eb6eeea9f88ce6590d3a5565bec62b001b6f2a376a","fa2dfc22b4fdbcf402a822e8dd376925655d997a0f96284a60f10665ba3581ba","fa3df5f8349aec4805bbcd279b88697def63f2462d8ada0b5fe1d9983d9a6daa","fa6b97cbca1d4f09662e706293b0aec1eb76b8e2277441f54ab6c548b5423236","faac0c3fa7cdf67b452d407e9a1db5cbe1e9140ecfe300200b0b0a6279c97c66","facb45d3084caa490d9b0ac2bcfcee89629a4c3db5926ec9256a9d27d25559ee","fbc8b53b5c6f3727c084e5e0429e410a3fed5a17e1a0144692fd196d9836a4bb","fbd74e4b8dc748b2efdd70aaab07adb80d7f15a38c1261de85bdfd9591ff106a","fd04d7588bb9e6ca0a8b65ed0c9635082a9ee5f46b2d1b5b25866a072236c1fc","fd60f2a432086c6fc4a4c39d8d2d6edf5794c763c05a6401db2bb5fa2c601775","fd618761103380d690cb98804e8f116b6c66ef049fbf67c1a059ce49188658b3","ff532716738e2fc716c10797d9717f324cca3a1234320a84a73a0b89569f11ab","ffd0fe3449e449c7b9fcdcc7e2c1ffb677e57ad935a252de88a0122d437efa67","ffde5c700732beac27a9b5162213d387422ce199400e56d9cefe550005b6a542"],"schema":"fsgg.atlas/1"} diff --git a/docs/atlas/records/facb45d3084caa490d9b0ac2bcfcee89629a4c3db5926ec9256a9d27d25559ee.json b/docs/atlas/records/facb45d3084caa490d9b0ac2bcfcee89629a4c3db5926ec9256a9d27d25559ee.json new file mode 100644 index 000000000..701e907f4 --- /dev/null +++ b/docs/atlas/records/facb45d3084caa490d9b0ac2bcfcee89629a4c3db5926ec9256a9d27d25559ee.json @@ -0,0 +1 @@ +{"citations":[{"path":"src/FS.GG.Coord.Cli/SkillTelemetryAdapter.fs","repository":"FS-GG/.github","revision":"6e8167ec4d7b4fd6f0cecf932a6f0811cf65b50f","sha256":"c7b46e90e78b6690e63d31ab77ceca6a38daf94a991279cd51153ff076248586"},{"path":"src/FS.GG.Coord.Cli/SkillTelemetryReaders.fs","repository":"FS-GG/.github","revision":"6e8167ec4d7b4fd6f0cecf932a6f0811cf65b50f","sha256":"f1fad4f089aa05a34b0d8a48c6c94f0005360580e59b70ab59cbb80d944b1feb"},{"path":"tests/FS.GG.Coord.Cli.Tests/WorkspaceTelemetryApplicationTests.fs","repository":"FS-GG/.github","revision":"6e8167ec4d7b4fd6f0cecf932a6f0811cf65b50f","sha256":"a0a68520ba8b80f377c29e119be33a18035fca932f06fa65b42ef2003bc89570"},{"path":"docs/roadmaps/utel-operational-completeness.md","repository":"FS-GG/.github","revision":"6e8167ec4d7b4fd6f0cecf932a6f0811cf65b50f","sha256":"318b2deacb9283ef3343c2703fe4fe8966f2cbaa2434ab1ea06dfbb53134a85e"},{"path":"src/FS.GG.Coord.Cli/WorkspaceTelemetryApplication.fs","repository":"FS-GG/.github","revision":"6e8167ec4d7b4fd6f0cecf932a6f0811cf65b50f","sha256":"7c1c889ceb8022f66650623016e6e71493b0eba6dc755272a62800095c8ef150"},{"path":"src/FS.GG.Coord.Cli/TelemetryStoreApplication.fs","repository":"FS-GG/.github","revision":"6e8167ec4d7b4fd6f0cecf932a6f0811cf65b50f","sha256":"a7eca3888fc4fb7a1c3160d4e01ec8cd1b90daa8fee17db1f61c6fcd46d65ba1"}],"conflictsWith":[],"id":"github/passive-capture-finite-state-retirement","kind":"lesson","recordedAt":"2026-10-23T10:11:04Z","repository":"FS-GG/.github","schema":"fsgg.atlas/1","status":"recorded","summary":"Through coord 0.112 and the 0.113 source of #4802, one passive association kept at most 8 source cursors and 256 response identities and never removed either. A new path past 8 gave `source-index-full-capture-deferred`; a pass whose new identities would exceed 256 deferred without advancing, so every later pass rescanned and deferred again. Measured 2026-10-23 on the fdev host (capture-only, no network): two real Claude Code 2.1.309 transcripts reached 235 observations in ten passes and then stalled; the host wrote about 152 transcripts in 24 hours. Any passive producer with many files or one long session hits this.\n\nRetiring finished state fixes the stall but moves duplicate prevention from a permanent identity index to cursors, and that is the reusable lesson: the receiver refuses a repeated identity at a revision it already holds with a different content digest (`native fact identity conflict`) and quarantines the whole batch, and passive facts carry capturedAt and sourceGeneration, so any re-read differs. Independent review found five re-read paths after retirement: a hard link, a rename, a copy under a new inode, an active file replaced by a new inode, and a hard link closing in the same pass (which also crashed on a null index entry). Each needs explicit suppression with a visible gap.\n\nThe fix (Outcome #4640, this revision): a source closes at end of descriptor on a line boundary after 15 minutes unmodified (mtime taken after the read); its cursor becomes a compact retired entry (cap 384) and its identities leave the index; an active Claude transcript keeps its newest 24 identities. Suppression: `source-alias-skipped` (same inode and continuing the owning entry's anchored cursor, so a reused inode is not an alias), `closed-source-discontinuity-skipped` (marked, not rescanned), `continuity-replay-suppressed` (at or before a per-source high-water timestamp after a continuity gap), `retired-response-suppressed` (4096 most recently retired identities, 16-hex prefixes) and `pre-horizon-record-suppressed` (unknown source at or before one second after the newest evicted entry's mtime). Retirement rides the existing intent, so a crash applies it once.\n\nDrain throughput: a drain sends at most one envelope per passive chain, because later envelopes wait behind the earliest pending head, so drain must run at least as often as capture emits batches (at most 24 responses each). At 128 ready envelopes or 8 MiB, enqueue returns `spool-overload`, the intent and cursors are retained and capture stops; nothing queued is dropped.\n\nLimits: the 24-identity window relies on observed, undocumented Claude writer ordering; a copy of an old closed file made after its identities left the recent set and before its entry is evicted can still repeat responses (about two days at 150 transcripts and 10,000 responses a day); the caller must keep selecting active paths until they close; records without timestamps are suppressed where a timestamp bound applies; active Codex rollouts keep the no-retirement rule; rolling a retired association back to 0.112 would re-read closed sources. Tests are synthetic; installed adoption and receiver ingestion (Host built from 61526e94 or later) are separate.","supersedes":[],"tags":["utel","telemetry","passive","retirement","claude","transcript","finite-profile","index-full","re-emission","drain","coord-0.113"],"title":"Passive telemetry needs bounded retirement, and retirement needs explicit suppression of every re-read path"} diff --git a/docs/roadmaps/utel-operational-completeness.md b/docs/roadmaps/utel-operational-completeness.md index 2293c46d2..f20bf39c0 100644 --- a/docs/roadmaps/utel-operational-completeness.md +++ b/docs/roadmaps/utel-operational-completeness.md @@ -56,6 +56,42 @@ a 256-response revision index and 1 MiB private state. Existing spool bounds rem envelopes/8 MiB with bounded outcome retention. Partial tails defer; truncation/replacement creates a new source generation and continuity gap. Cumulative turn snapshots never become response spend. +Finished-source retirement (2026-10-23, Outcome #4640) keeps one long-running association inside +these bounds. A source closes when a pass reads its descriptor to the end on a line boundary and the +file has been unmodified for 15 minutes. Its cursor moves to a compact retired entry and its response +identities leave the index. A later append resumes from that entry. An active Claude transcript keeps only +its newest 24 response identities, relying on the observed (undocumented) writer order in which every content +block of one API response precedes the next response; active Codex rollouts keep the original rule. + +Re-emitting a retired identity would be refused by the receiver as an identity conflict and quarantine the +whole batch, so each re-read path suppresses records instead, with a visible gap: +`source-alias-skipped` for the same file under another path (same inode and continuing the owning entry's +anchored cursor, so a reused inode is not mistaken for an alias); `closed-source-discontinuity-skipped` for a +closed file that no longer continues its entry (marked, and not rescanned); `continuity-replay-suppressed` +for an active file re-read after a continuity gap, at or before its high-water timestamp; +`retired-response-suppressed` for any identity in the bounded set of the 4096 most recently retired; and +`pre-horizon-record-suppressed` for an unknown source's records at or before the eviction horizon, which is +one second after the modification time of the newest evicted entry (at most 384 entries are kept). +Records without a timestamp are suppressed wherever a timestamp bound applies. One case remains: a copy of +an old closed file under a new inode, made after its identities left the recent set but before its entry is +evicted, can repeat responses and would be quarantined at the receiver. At about 150 transcripts and +10,000 responses a day, the recent set covers roughly nine hours and the retired entries roughly two and a +half days, so that window is about two days. A source leaves the active set only when a pass closes it, so +the caller must keep selecting each active path until it closes; eight abandoned active paths (for example, +deleted while active) block new sources with `source-index-full-capture-deferred`. Retirement travels in the existing +intent, so a crash applies it once. Measured before the change, two real transcripts filled the +256-identity index in ten passes and every later pass deferred. + +Spool backpressure never drops queued observations. At 128 ready envelopes or 8 MiB the local enqueue +returns `spool-overload`; the pass keeps its intent, records `enqueue-deferred-cursor-retained` and the +failure, and advances no cursor, so capture stops and resumes from the same records after a drain. Ready +envelopes are never evicted; only settled (applied, rejected or expired) outcome receipts rotate. A pass emits +at most one batch of 24 responses, while a drain sends at most one envelope of each passive chain, because a +later envelope waits behind its earliest pending predecessor. Drain must therefore run at least as often as +capture produces a batch. Observations can still be lost, visibly, when a source file disappears while +capture is held (`source-unavailable-cursor-retained`), through the suppressions above, or when a conflicting +batch is quarantined by the receiver. + Existing `activate-remote --capture-only` is an explicit initial local setup option. It retains configuration, permission, conflict and lock checks while skipping credential presence; its result is capture-configured/receiver-unverified. Default activation and later credential/receipt checks remain diff --git a/registry/driver-skill-manifest.json b/registry/driver-skill-manifest.json index 7aacbcd65..3ee1c8592 100644 --- a/registry/driver-skill-manifest.json +++ b/registry/driver-skill-manifest.json @@ -5,7 +5,7 @@ "id": "atlas", "scope": "driver", "sha256": "c18e56fcc56abf80903e2fc6829cd94b44f42947724a26318ebcbf1ac5e1b35b", - "tree-sha256": "c13db61290d2460ecf55145161a98b47625cde775d454130ad3a92614988b858", + "tree-sha256": "b15e35449896a7c48520ceee147c2a72638ab60a3de246919dca8494f3469c13", "files": [ { "path": "SKILL.md", @@ -24,7 +24,7 @@ }, { "path": "assets/seed/catalog.json", - "sha256": "4afca5926b42fb4d86340e6b36bd95c8948e12166fead848e5f38ccaf8be4de4", + "sha256": "ffba539952aa80e6bcb26fb8d2ef60c9c3cfaee35efdbbfbd8b804c9a53fbaea", "executable": false }, { @@ -1847,6 +1847,11 @@ "sha256": "faac0c3fa7cdf67b452d407e9a1db5cbe1e9140ecfe300200b0b0a6279c97c66", "executable": false }, + { + "path": "assets/seed/records/facb45d3084caa490d9b0ac2bcfcee89629a4c3db5926ec9256a9d27d25559ee.json", + "sha256": "facb45d3084caa490d9b0ac2bcfcee89629a4c3db5926ec9256a9d27d25559ee", + "executable": false + }, { "path": "assets/seed/records/fbc8b53b5c6f3727c084e5e0429e410a3fed5a17e1a0144692fd196d9836a4bb.json", "sha256": "fbc8b53b5c6f3727c084e5e0429e410a3fed5a17e1a0144692fd196d9836a4bb", diff --git a/src/FS.GG.Coord.Cli/FS.GG.Coord.Cli.fsproj b/src/FS.GG.Coord.Cli/FS.GG.Coord.Cli.fsproj index 3b0f1eebf..6614aa090 100644 --- a/src/FS.GG.Coord.Cli/FS.GG.Coord.Cli.fsproj +++ b/src/FS.GG.Coord.Cli/FS.GG.Coord.Cli.fsproj @@ -130,8 +130,8 @@ bytes under 0.52.0 would make the same version identify different artifacts. Ado coherent set cut from corrected source. All three partial sets are recorded in `registry/dependencies.yml`. - 0.113.0 — Add Claude Code transcript usage capture: `telemetry usage collect claude --session-file` and passive `claude-local-transcript/1` observations through the existing provider-usage path. -Carry corrected pnext-item/work-roadmap guidance naming the working Claude route. Codex behavior is unchanged; publication, installed adoption and Host ingestion remain separate; published112 is unchanged. + 0.113.0 — Add Claude Code transcript usage capture: `telemetry usage collect claude --session-file` and passive `claude-local-transcript/1` observations through the existing provider-usage path. Passive capture retires finished sources and responses, so one association stays within its bounds over days of transcripts; do not roll an association that 0.113.0 has retired back to 0.112.0, which would re-read closed sources. +Carry corrected pnext-item/work-roadmap guidance naming the working Claude route. Codex reading is unchanged apart from closed-source retirement; publication, installed adoption and Host ingestion remain separate; published112 is unchanged. $(FsggStandingAdvisories) diff --git a/src/FS.GG.Coord.Cli/SkillTelemetryAdapter.fs b/src/FS.GG.Coord.Cli/SkillTelemetryAdapter.fs index 83f550478..9f5696c8f 100644 --- a/src/FS.GG.Coord.Cli/SkillTelemetryAdapter.fs +++ b/src/FS.GG.Coord.Cli/SkillTelemetryAdapter.fs @@ -1084,6 +1084,33 @@ module SkillTelemetryAdapter = let private maximumPassiveIdentities = 256 let private passiveStateSchema = "fsgg.telemetry.passive-producer-state/1" + // Finished-source retirement keeps one long-running association inside its finite profile. A source closes + // only when a pass has read its descriptor to the end on a line boundary and the file has been unmodified for the + // quiet period. Its cursor moves to a compact retired entry, so a later append resumes continuously, and its + // response identities leave the index. Retired entries are bounded. Evicting the oldest raises a horizon below which + // records from an unknown source are suppressed rather than counted twice. + // Re-emitting a retired identity would be refused by the receiver as an identity conflict and quarantine its batch, + // so every re-read path suppresses instead: an alias (same inode under another path), a closed file that no longer + // continues its entry, an active file re-read after a continuity gap (records at or before its high-water mark), + // and any record whose identity is in the bounded recently-retired set. Outside those windows, a copy of an old + // closed file under a new inode, made before its entry is evicted, can still repeat responses. + [] + let private maximumRetiredSources = 384 + // An active Claude transcript retains only its newest completed responses. Observed Claude Code writers (not a + // documented contract) emit every content block of one API response before the next response begins; a later + // correction to an older response would be suppressed by the recently-retired set and reported as a gap. + [] + let private claudeRetainedResponsesPerSource = 24 + [] + let private passiveQuietSeconds = 900L + // Recently retired identities, as 16-hex prefixes, suppress a later re-read of the same response through a + // copy, alias or rewrite. The window is bounded; the horizon covers sources older than the retired entries. + [] + let private maximumRetiredIdentities = 4096 + + let private retiredIdentityKey (identity: string) = + if identity.StartsWith("passive-", StringComparison.Ordinal) && identity.Length >= 24 then identity.Substring(8, 16) else identity + let private passiveStateDirectory (root: string) = Path.Combine(root, "orchestrator-passive") let private savePassive (directory: string) (state: JsonObject) = @@ -1101,7 +1128,10 @@ module SkillTelemetryAdapter = fail "passive producer stream already has a different serialized owner" if state["sources"].AsObject().Count > NativeUsage.PassiveMaximumFiles || state["responses"].AsObject().Count > maximumPassiveIdentities - || state["gaps"].AsArray().Count > 32 || requiredInt "sequence" state < 0 then + || state["gaps"].AsArray().Count > 32 || requiredInt "sequence" state < 0 + || (not (isNull state["retired"]) && state["retired"].AsObject().Count > maximumRetiredSources) + || (not (isNull state["retiredResponses"]) && state["retiredResponses"].GetValue() < 0L) + || (not (isNull state["retiredIds"]) && state["retiredIds"].AsArray().Count > maximumRetiredIdentities) then fail "passive producer state exceeds its finite profile" state else @@ -1130,6 +1160,38 @@ module SkillTelemetryAdapter = cursor.Context |> Option.iter (fun context -> value["context"] <- node context) value + let private retiredNode (cursor: PassiveCursor) (closedAt: string) (modifiedAt: int64) = + let value = + jsonObject [ "i", node cursor.SourceInstance; "g", node cursor.Generation; "o", node cursor.Offset + "a", node cursor.AnchorDigest; "t", node closedAt; "m", node modifiedAt ] + cursor.Context |> Option.iter (fun context -> value["c"] <- node context) + value + + let private retiredCursor (value: JsonNode) = + let value = value.AsObject() + { SourceInstance = requiredString "i" value; Generation = requiredString "g" value + Offset = value["o"].GetValue(); AnchorDigest = requiredString "a" value + SkippingOversized = false + Context = if isNull value["c"] then None else Some(value["c"].GetValue()) } + + let private parseInstant (text: string) = + DateTimeOffset.Parse(text, Globalization.CultureInfo.InvariantCulture, Globalization.DateTimeStyles.RoundtripKind) + + // Absolute values only, so replaying an intent after a crash applies the same retirement once. + let private applyRetirement (state: JsonObject) (delta: JsonNode) = + if not (isNull delta) then + let retired = if isNull state["retired"] then JsonObject() else state["retired"].AsObject() + for key in delta["remove"].AsArray() do retired.Remove(key.GetValue()) |> ignore + for pair in delta["add"].AsObject() do retired[pair.Key] <- pair.Value.DeepClone() + state["retired"] <- retired.DeepClone() + state["retiredHorizon"] <- (if isNull delta["horizon"] then nullNode else delta["horizon"].DeepClone()) + state["retiredResponses"] <- delta["retiredResponses"].DeepClone() + // Appended to the persisted pre-state exactly once: the same write clears the intent that carries it. + let ids = if isNull state["retiredIds"] then [] else state["retiredIds"].AsArray() |> Seq.map _.GetValue() |> Seq.toList + let added = if isNull delta["retiredIdsAdded"] then [] else delta["retiredIdsAdded"].AsArray() |> Seq.map _.GetValue() |> Seq.toList + let combined = ids @ added + state["retiredIds"] <- combined |> List.skip (max 0 (combined.Length - maximumRetiredIdentities)) |> List.map node |> jsonArray + let private passiveGap (state: JsonObject) (code: string) = // One reserved bounded status slot; original distinct reasons survive subsequent passes. let gaps = state["gaps"].AsArray() @@ -1161,6 +1223,8 @@ module SkillTelemetryAdapter = "capture", node (if values.Count = 0 then "no-counters-retained" else "locally-retained"); "attribution", node "unknown" "delivery", node "unknown"; "populationCoverage", node "partial" "pendingIntent", node (not (isNull state["pending"])) + "closedSources", node (if isNull state["retired"] then 0 else state["retired"].AsObject().Count) + "retiredResponses", node (if isNull state["retiredResponses"] then 0L else state["retiredResponses"].GetValue()) "observations", observations; "gaps", state["gaps"].DeepClone() "firstEnqueueFailure", (if isNull state["firstEnqueueFailure"] then nullNode else state["firstEnqueueFailure"].DeepClone()) "lastEnqueueFailure", (if isNull state["lastEnqueueFailure"] then nullNode else state["lastEnqueueFailure"].DeepClone()) ] @@ -1187,6 +1251,7 @@ module SkillTelemetryAdapter = // Only local enqueue/readback authorizes cursor/index commit. Remote acceptance is independent. state["sources"] <- pending["sourcesAfter"].DeepClone() state["responses"] <- pending["responsesAfter"].DeepClone() + applyRetirement state pending["retirementAfter"] state["sequence"] <- pending["sequenceAfter"].DeepClone() state["pending"] <- nullNode state["lastEnqueueFailure"] <- nullNode @@ -1234,6 +1299,29 @@ module SkillTelemetryAdapter = let capturedAt = timestamp () let mutable budget = NativeUsage.PassiveMaximumScanBytes let mutable indexFull = false + let retired = (if isNull state["retired"] then JsonObject() else state["retired"].DeepClone().AsObject()) + let mutable horizon = if isNull state["retiredHorizon"] then None else Some(state["retiredHorizon"].GetValue()) + let mutable retiredResponses = if isNull state["retiredResponses"] then 0L else state["retiredResponses"].GetValue() + let nowUnix = DateTimeOffset.UtcNow.ToUnixTimeSeconds() + let retiredIds = + Collections.Generic.HashSet( + (if isNull state["retiredIds"] then Seq.empty else state["retiredIds"].AsArray() |> Seq.map _.GetValue()), + StringComparer.Ordinal) + let retiredIdsAdded = ResizeArray() + let forget (identity: string) = + let key = retiredIdentityKey identity + if retiredIds.Add key then retiredIdsAdded.Add key + let retireInstance (instance: string) (generation: string option) = + let doomed = + responses |> Seq.filter (fun pair -> + let fact = pair.Value["fact"] + fact["sourceInstance"].GetValue() = instance + && generation |> Option.forall (fun value -> fact["sourceGeneration"].GetValue() = value)) + |> Seq.map _.Key |> Seq.toList + for identity in doomed do + responses.Remove identity |> ignore + forget identity + retiredResponses <- retiredResponses + int64 doomed.Length // Rotate the finite caller-selected list; no recursive history discovery or starvation. let sequence = requiredInt "sequence" state let selected = paths |> List.sort @@ -1242,13 +1330,80 @@ module SkillTelemetryAdapter = for path in ordered do if budget >= 16384 && events.Count < 24 && not indexFull then let key = sha256(utf8.GetBytes(Path.GetFullPath path)) - if not (sources.ContainsKey key) && sources.Count >= NativeUsage.PassiveMaximumFiles then + let active = sources.ContainsKey key + let closed = if active then null else retired[key] + if not active && isNull closed && sources.Count >= NativeUsage.PassiveMaximumFiles then passiveGap state "source-index-full-capture-deferred" + elif not (isNull closed) && not (isNull closed["x"]) then + // A closed source already found discontinuous is not rescanned on every pass. + passiveGap state "closed-source-discontinuity-skipped" else - match NativeUsage.scanPassiveFrom sourceRoot path (passiveCursor sources[key]) budget (24 - events.Count) with + let prior = if active then passiveCursor sources[key] elif isNull closed then None else Some(retiredCursor closed) + match NativeUsage.scanPassiveFrom sourceRoot path prior budget (24 - events.Count) with | Error _ -> passiveGap state "source-unavailable-cursor-retained" - | Ok scan -> - budget <- budget - scan.ScannedBytes + | Ok raw when not (isNull closed) && List.contains "source-continuity-gap" raw.Diagnostics -> + // A closed source that no longer continues its retained cursor is never re-read from the start. + budget <- budget - raw.ScannedBytes + let marked = closed.DeepClone() + marked["x"] <- node true + retired[key] <- marked + passiveGap state "closed-source-discontinuity-skipped" + | Ok raw when not (isNull closed) && raw.Records.IsEmpty -> + budget <- budget - raw.ScannedBytes + | Ok raw when not (isNull closed) && sources.Count >= NativeUsage.PassiveMaximumFiles -> + budget <- budget - raw.ScannedBytes + passiveGap state "source-index-full-capture-deferred" + | Ok raw -> + budget <- budget - raw.ScannedBytes + let instance = raw.Cursor.SourceInstance + // A hard link or rename of a source this association already owns is the same file + // under another key; reading it again would re-emit retired identities. The inode + // alone is not enough, because a deleted transcript's inode can be reused by a new + // file: the candidate must also continue the owning entry's anchored cursor. + let owner = + (sources |> Seq.tryFind (fun pair -> pair.Key <> key && pair.Value["sourceInstance"].GetValue() = instance) + |> Option.map (fun pair -> (passiveCursor pair.Value).Value)) + |> Option.orElse ( + retired |> Seq.tryFind (fun pair -> pair.Key <> key && pair.Value["i"].GetValue() = instance) + |> Option.map (fun pair -> retiredCursor pair.Value)) + let alias = + match owner with + | None -> false + | Some cursor -> + match NativeUsage.scanPassiveFrom sourceRoot path (Some cursor) 16384 1 with + | Ok probe -> + budget <- budget - probe.ScannedBytes + not (List.contains "source-continuity-gap" probe.Diagnostics) + // An unreadable probe keeps the conservative answer. + | Error _ -> true + if alias then passiveGap state "source-alias-skipped" + else + let suppress code (keep: PassiveNativeRecord -> bool) (scan: PassiveScan) = + let kept = scan.Records |> List.filter keep + if kept.Length <> scan.Records.Length then passiveGap state code + { scan with Records = kept } + let after (limit: string) (row: PassiveNativeRecord) = + row.OccurredAt |> Option.exists (fun value -> parseInstant value > parseInstant limit) + let highWater = + if active && not (isNull (sources[key]["highWater"])) then Some((sources[key]["highWater"]).GetValue()) else None + let scan = + raw + |> (fun scan -> + match horizon with + // An unknown source may be a closed source whose retired entry was evicted; only + // records after the eviction horizon can be new to this association. + | Some limit when isNull closed && not active -> suppress "pre-horizon-record-suppressed" (after limit) scan + | _ -> scan) + |> (fun scan -> + match highWater with + // An active source re-read from its start after a continuity gap may repeat responses that + // already left its window; only records after its high-water mark are new. + | Some limit when List.contains "source-continuity-gap" scan.Diagnostics -> + suppress "continuity-replay-suppressed" (after limit) scan + | _ -> scan) + |> suppress "retired-response-suppressed" (fun row -> + let identity = NativeUsage.passiveRecordIdentity row + responses.ContainsKey identity || not (retiredIds.Contains(retiredIdentityKey identity))) scan.Diagnostics |> List.iter (passiveGap state) // Reserve all new response identities before advancing any source cursor. let fresh = @@ -1259,8 +1414,9 @@ module SkillTelemetryAdapter = let crossesCorrection = scan.Records |> List.exists (fun row -> let identity = NativeUsage.passiveRecordIdentity row + let held = responses[identity] (events |> Seq.exists (fun fact -> fact["identity"].GetValue() = identity)) - && (responses[identity]["digest"]).GetValue() <> row.SourceDigest) + && (isNull held || held["digest"].GetValue() <> row.SourceDigest)) if responses.Count + fresh.Length > maximumPassiveIdentities then indexFull <- true passiveGap state "response-index-full-capture-deferred" @@ -1276,7 +1432,7 @@ module SkillTelemetryAdapter = let fact = passiveFact capturedAt scan.Cursor record revision responses[identity] <- jsonObject [ "digest", node record.SourceDigest; "revision", node revision; "fact", fact.DeepClone() ] events.Add fact - let previousCursor = passiveCursor sources[key] + let previousCursor = prior if previousCursor |> Option.forall (fun previous -> previous.Generation <> scan.Cursor.Generation) then let sourceKey = digest "passive-source-" [ scan.Cursor.SourceInstance; scan.Cursor.Generation ] events.Add(event "source" sourceKey None @@ -1285,10 +1441,65 @@ module SkillTelemetryAdapter = if previousCursor.IsSome then events.Add(event "diagnostic" (sourceKey + "-gap") None [ "code", node "passive-source-continuity-gap"; "severity", node "warning" ]) - sources[key] <- cursorNode scan.Cursor + if not (isNull closed) then retired.Remove key |> ignore + let cursor = cursorNode scan.Cursor + let latest = + raw.Records |> List.choose _.OccurredAt + |> List.append (Option.toList highWater) + |> List.sortByDescending parseInstant |> List.tryHead + latest |> Option.iter (fun value -> cursor["highWater"] <- node value) + sources[key] <- cursor + let quiescent = + scan.Cursor.Offset = scan.SourceLength && not scan.Cursor.SkippingOversized + && nowUnix - scan.ModifiedAtUnixSeconds >= passiveQuietSeconds + && not (scan.Diagnostics |> List.exists (fun code -> + code = "line-boundary-deferred" || code = "partial-tail-deferred" + || code = "response-boundary-deferred" || code = "observation-pass-budget")) + if quiescent then + sources.Remove key |> ignore + retired[key] <- retiredNode scan.Cursor capturedAt scan.ModifiedAtUnixSeconds + retireInstance scan.Cursor.SourceInstance None + for pair in sources |> Seq.toList do + let cursor = (passiveCursor pair.Value).Value + let own = + responses |> Seq.filter (fun entry -> + let fact = entry.Value["fact"] + fact["provenance"].GetValue() = NativeUsage.ClaudePassiveProvenance + && fact["sourceInstance"].GetValue() = cursor.SourceInstance + && fact["sourceGeneration"].GetValue() = cursor.Generation) + |> Seq.sortByDescending (fun entry -> (entry.Value["fact"]["position"]).GetValue()) + |> Seq.toList + if own.Length > claudeRetainedResponsesPerSource then + for entry in own |> List.skip claudeRetainedResponsesPerSource do + responses.Remove entry.Key |> ignore + forget entry.Key + retiredResponses <- retiredResponses + int64 (own.Length - claudeRetainedResponsesPerSource) + while retired.Count > maximumRetiredSources do + let oldest = retired |> Seq.minBy (fun pair -> pair.Value["t"].GetValue(), pair.Key) + // Every record of the evicted file was written no later than its modification time; the + // horizon is the next whole second, so sub-second record timestamps stay below it. + let bound = DateTimeOffset.FromUnixTimeSeconds(oldest.Value["m"].GetValue() + 1L) + if horizon |> Option.forall (fun value -> bound > parseInstant value) then + horizon <- Some(bound.ToString("O").Replace("+00:00", "Z")) + retired.Remove oldest.Key |> ignore + let previous = if isNull state["retired"] then JsonObject() else state["retired"].AsObject() + let retirement = + let added = + retired + |> Seq.filter (fun pair -> isNull previous[pair.Key] || previous[pair.Key].ToJsonString compact <> pair.Value.ToJsonString compact) + |> Seq.map (fun pair -> pair.Key, pair.Value.DeepClone()) + |> Seq.toList + let removed = previous |> Seq.filter (fun pair -> not (retired.ContainsKey pair.Key)) |> Seq.map (fun pair -> node pair.Key) |> Seq.toList + jsonObject [ "add", (jsonObject added :> JsonNode) + "remove", (jsonArray removed :> JsonNode) + "horizon", (horizon |> Option.map node |> Option.defaultValue nullNode) + "retiredResponses", node retiredResponses + "retiredIdsAdded", (retiredIdsAdded |> Seq.map node |> jsonArray :> JsonNode) ] if events.Count = 0 then // No unretained counters exist: persist complete line boundaries and bounded gaps directly. state["sources"] <- sources + state["responses"] <- responses + applyRetirement state retirement state["sequence"] <- node (sequence + 1) hook "before-status-write" savePassive directory state @@ -1304,7 +1515,8 @@ module SkillTelemetryAdapter = else FS.GG.Coord.TelemetryStore.parseBatch bytes |> Result.defaultWith (fun _ -> fail "passive batch validation failed") |> ignore state["pending"] <- jsonObject [ "batchBase64", node (Convert.ToBase64String bytes); "batchDigest", node (sha256 bytes); - "sourcesAfter", sources; "responsesAfter", responses; "sequenceAfter", node (sequence + 1) ] + "sourcesAfter", sources; "responsesAfter", responses; "retirementAfter", retirement; + "sequenceAfter", node (sequence + 1) ] // Intent is written before enqueue. A crash at either subsequent write replays identical bytes. hook "before-intent-write" savePassive directory state diff --git a/src/FS.GG.Coord.Cli/SkillTelemetryReaders.fs b/src/FS.GG.Coord.Cli/SkillTelemetryReaders.fs index a041484c4..a906f8be2 100644 --- a/src/FS.GG.Coord.Cli/SkillTelemetryReaders.fs +++ b/src/FS.GG.Coord.Cli/SkillTelemetryReaders.fs @@ -126,7 +126,11 @@ module SkillTelemetryReaders = { Records: PassiveNativeRecord list Cursor: PassiveCursor ScannedBytes: int - Diagnostics: string list } + Diagnostics: string list + // Length of the opened descriptor when the pass ended; a cursor at this offset has read the whole file. + SourceLength: int64 + // Modification time of the opened descriptor, in Unix seconds, used only to recognize a quiescent source. + ModifiedAtUnixSeconds: int64 } type NativeCounters = { @@ -1589,11 +1593,18 @@ module SkillTelemetryReaders = if bytesSinceLine > 0 && not skipping then diagnostics.Add (if doneReading then "partial-tail-deferred" else "line-boundary-deferred") |> ignore if not doneReading && records.Count < maximumRecords then diagnostics.Add "scan-pass-budget" |> ignore let finalAnchor = anchor committed + // Quiescence uses the descriptor's state after the read, so an append during this pass keeps it open. + let mutable final = Unchecked.defaultof + let modifiedAt = + if NativeFile.fstat(file.SafeFileHandle.DangerousGetHandle().ToInt32(), &final) = 0 then final.ModifySeconds + else DateTimeOffset.UtcNow.ToUnixTimeSeconds() Ok { Records = records |> Seq.toList Cursor = { SourceInstance = instance; Generation = generation; Offset = committed; AnchorDigest = finalAnchor SkippingOversized = skipping; Context = context } ScannedBytes = scanned - Diagnostics = diagnostics |> Seq.sort |> Seq.toList } + Diagnostics = diagnostics |> Seq.sort |> Seq.toList + SourceLength = source.Length + ModifiedAtUnixSeconds = modifiedAt } with _ -> failure "passive native source read failed; cursor retained" let scanPassive (codexHome: string) (path: string) (prior: PassiveCursor option) (maximumBytes: int) (maximumRecords: int) = diff --git a/src/FS.GG.Coord.Cli/SkillTelemetryReaders.fsi b/src/FS.GG.Coord.Cli/SkillTelemetryReaders.fsi index 3f8f91576..8fcd1d82d 100644 --- a/src/FS.GG.Coord.Cli/SkillTelemetryReaders.fsi +++ b/src/FS.GG.Coord.Cli/SkillTelemetryReaders.fsi @@ -110,7 +110,11 @@ module SkillTelemetryReaders = { Records: PassiveNativeRecord list Cursor: PassiveCursor ScannedBytes: int - Diagnostics: string list } + Diagnostics: string list + /// Length of the opened descriptor when the pass ended; a cursor at this offset has read the whole file. + SourceLength: int64 + /// Modification time of the opened descriptor, in Unix seconds, used only to recognize a quiescent source. + ModifiedAtUnixSeconds: int64 } type NativeCounters = { diff --git a/tests/FS.GG.Coord.Cli.Tests/WorkspaceTelemetryApplicationTests.fs b/tests/FS.GG.Coord.Cli.Tests/WorkspaceTelemetryApplicationTests.fs index 62e5ef8a4..3cc753de7 100644 --- a/tests/FS.GG.Coord.Cli.Tests/WorkspaceTelemetryApplicationTests.fs +++ b/tests/FS.GG.Coord.Cli.Tests/WorkspaceTelemetryApplicationTests.fs @@ -1370,3 +1370,273 @@ module WorkspaceTelemetryApplicationTests = Assert.Equal(0, canceledEntries) Assert.Equal(0, unexpectedSubmits) Assert.Equal(52, Directory.GetFiles(spool, "*.ready").Length) + + // Retirement of finished passive state. Synthetic transcripts only; every response is written as two identical + // per-block records, as the Claude main-thread writer does. + let private retirementStamp (at: DateTimeOffset) = at.UtcDateTime.ToString("yyyy-MM-ddTHH:mm:ss.fffZ", Globalization.CultureInfo.InvariantCulture) + + let private retirementPrompt (session: string) (prompt: string) (at: DateTimeOffset) = + $"""{{"parentUuid":null,"isSidechain":false,"promptId":"{prompt}","type":"user","message":{{"role":"user","content":"synthetic"}},"uuid":"{Guid.NewGuid()}","timestamp":"{retirementStamp at}","cwd":"/work","sessionId":"{session}","version":"2.1.309"}}""" + "\n" + + let private retirementResponse (session: string) (messageId: string) (at: DateTimeOffset) = + let record = + $"""{{"parentUuid":null,"isSidechain":false,"message":{{"model":"claude-opus-5-5","id":"{messageId}","type":"message","role":"assistant","content":[{{"type":"text","text":"synthetic"}}],"stop_reason":"tool_use","usage":{{"input_tokens":3,"cache_creation_input_tokens":20,"cache_read_input_tokens":400,"output_tokens":11}}}},"requestId":"req_{messageId}","type":"assistant","uuid":"{Guid.NewGuid()}","timestamp":"{retirementStamp at}","cwd":"/work","sessionId":"{session}","version":"2.1.309"}}""" + "\n" + record + record + + /// One prompt followed by `count` completed responses; returns the text and the response ids. + let private retirementTurn (session: string) (prefix: string) (count: int) (at: DateTimeOffset) = + let ids = [ for index in 1..count -> $"{prefix}-{index:D4}" ] + let text = retirementPrompt session (Guid.NewGuid().ToString()) at + (ids |> List.mapi (fun index id -> retirementResponse session id (at.AddSeconds(float (index + 1)))) |> String.concat "") + text, ids + + /// Marks a file as last written shortly after its final record, as an idle transcript would be. + let private age (path: string) (lastRecord: DateTimeOffset) = File.SetLastWriteTimeUtc(path, lastRecord.AddMinutes(1.0).UtcDateTime) + + type private RetirementLedger() = + let seen = Collections.Generic.Dictionary(StringComparer.Ordinal) + member val Duplicates = 0 with get, set + member val Batches = Collections.Generic.HashSet(StringComparer.Ordinal) + member this.Enqueue(bytes: byte array) = + let batch = TelemetryStore.parseBatch bytes |> Result.defaultWith (sprintf "%A" >> failwith) + // Replaying an identical retained intent after a crash is the spool's exact-bytes idempotence, not a re-emission. + let digest = Convert.ToHexString(Security.Cryptography.SHA256.HashData bytes) + if this.Batches.Add digest then + for fact in batch.Facts |> List.filter (fun value -> value.Kind = "provider-usage-observation/1") do + // A retired identity re-emitted at a revision the receiver already holds would be refused as a conflict. + match seen.TryGetValue fact.Identity with + | true, revision when fact.Revision <= revision -> this.Duplicates <- this.Duplicates + 1 + | _ -> seen[fact.Identity] <- fact.Revision + Ok "locally-retained" + member _.Count = seen.Count + + let private retirementCapture root home (ledger: RetirementLedger) (paths: string list) = + SkillTelemetryAdapter.capturePassiveFrom root "owner" "passive-stream" (SkillTelemetryReaders.ClaudeHome home) paths ledger.Enqueue |> parseCapture + + let private passiveStateFile root = + System.Text.Json.Nodes.JsonNode.Parse(File.ReadAllBytes(Path.Combine(root, "orchestrator-passive", "producer.json"))) + + [] + let ``passive retirement lets one active Claude session exceed the response index without re-emission`` () = + if OperatingSystem.IsLinux() && Runtime.InteropServices.RuntimeInformation.ProcessArchitecture = Runtime.InteropServices.Architecture.X64 then + let cleanup, root = temp () + use cleanup = cleanup + let home, path = claudeSource root "long-session" + let session = Guid.NewGuid().ToString() + let start = DateTimeOffset.UtcNow.AddDays -1.0 + let first, _ = retirementTurn session "first" 300 start + File.WriteAllText(path, first) + let ledger = RetirementLedger() + let mutable last = Unchecked.defaultof + for _ in 1..14 do last <- retirementCapture root home ledger [ path ] + // A second prompt arrives while the session stays active (fresh modification time). + let second, _ = retirementTurn session "second" 300 (start.AddHours 1.0) + File.AppendAllText(path, second) + for _ in 1..14 do last <- retirementCapture root home ledger [ path ] + Assert.Equal(600, ledger.Count) + Assert.Equal(0, ledger.Duplicates) + Assert.DoesNotContain("response-index-full-capture-deferred", last["gaps"].ToJsonString()) + // Control: the active source is still open, and only its newest responses stay indexed. + let state = passiveStateFile root + Assert.Equal(1, state["sources"].AsObject().Count) + Assert.Equal(24, state["responses"].AsObject().Count) + Assert.Equal(576L, last["retiredResponses"].GetValue()) + Assert.Equal(0, last["closedSources"].GetValue()) + + [] + let ``passive retirement closes finished files beyond eight resumes appends and never re-reads a rewrite`` () = + if OperatingSystem.IsLinux() && Runtime.InteropServices.RuntimeInformation.ProcessArchitecture = Runtime.InteropServices.Architecture.X64 then + let cleanup, root = temp () + use cleanup = cleanup + let home, _ = claudeSource root "unused" + let start = DateTimeOffset.UtcNow.AddDays -1.0 + let files = + [ for index in 0..19 -> + let _, path = claudeSource root $"subagent-{index:D2}" + let session = Guid.NewGuid().ToString() + let at = start.AddMinutes(float index) + let text, _ = retirementTurn session $"file{index:D2}" 10 at + File.WriteAllText(path, text) + age path (at.AddSeconds 11.0) + session, path ] + let paths = files |> List.map snd + let ledger = RetirementLedger() + let mutable last = Unchecked.defaultof + for pass in 0..29 do + let group = [ for offset in 0..7 -> paths[(pass * 8 + offset) % paths.Length] ] |> List.distinct + last <- retirementCapture root home ledger group + Assert.Equal(200, ledger.Count) + Assert.Equal(0, ledger.Duplicates) + Assert.DoesNotContain("source-index-full-capture-deferred", last["gaps"].ToJsonString()) + Assert.Equal(20, last["closedSources"].GetValue()) + Assert.Equal(0, ((passiveStateFile root)["sources"]).AsObject().Count) + Assert.Equal(0, ((passiveStateFile root)["responses"]).AsObject().Count) + // A resumed session appends to its closed file: only the new responses are observed. + let session0, path0 = files[0] + let resumed, _ = retirementTurn session0 "resumed" 3 (start.AddHours 2.0) + File.AppendAllText(path0, resumed) + retirementCapture root home ledger [ path0 ] |> ignore + Assert.Equal(203, ledger.Count) + Assert.Equal(0, ledger.Duplicates) + // A closed file rewritten in place is never re-read from its start. + let _, path1 = files[1] + let rewritten, _ = retirementTurn (fst files[1]) "rewritten" 4 (start.AddHours 3.0) + File.WriteAllText(path1, rewritten) + let skipped = retirementCapture root home ledger [ path1 ] + Assert.Equal(203, ledger.Count) + Assert.Contains("closed-source-discontinuity-skipped", skipped["gaps"].ToJsonString()) + + [] + let ``passive retirement keeps a multi-day Claude host inside its finite profile`` () = + if OperatingSystem.IsLinux() && Runtime.InteropServices.RuntimeInformation.ProcessArchitecture = Runtime.InteropServices.Architecture.X64 then + let cleanup, root = temp () + use cleanup = cleanup + let home, mainPath = claudeSource root "main-session" + let mainSession = Guid.NewGuid().ToString() + let ledger = RetirementLedger() + let mutable expected = 0 + let mutable last = Unchecked.defaultof + let dayOneFiles = ResizeArray() + let firstDay = DateTimeOffset.UtcNow.AddDays -4.0 + for day in 0..2 do + let dayStart = firstDay.AddDays(float day) + // The long main session grows each day and is active while it grows. + let text, _ = retirementTurn mainSession $"main-day{day}" 120 dayStart + File.AppendAllText(mainPath, text) + expected <- expected + 120 + let dayFiles = + [ for index in 0..149 -> + let _, path = claudeSource root $"day{day}-agent-{index:D3}" + let at = dayStart.AddMinutes(float index) + let text, _ = retirementTurn (Guid.NewGuid().ToString()) $"d{day}a{index:D3}" 3 at + File.WriteAllText(path, text) + age path (at.AddSeconds 4.0) + path ] + if day = 0 then dayOneFiles.AddRange dayFiles + expected <- expected + 450 + // Each selection is captured until a pass observes nothing new, as a periodic caller would. + let drain paths = + let mutable progressing = true + while progressing do + let before = ledger.Count + last <- retirementCapture root home ledger paths + progressing <- ledger.Count > before + for group in dayFiles |> List.chunkBySize 7 do drain (mainPath :: group) + drain [ mainPath ] + // Overnight the main session goes quiet and closes on the next pass. + age mainPath (dayStart.AddSeconds 121.0) + last <- retirementCapture root home ledger [ mainPath ] + Assert.Equal(expected, ledger.Count) + Assert.Equal(0, ledger.Duplicates) + let gaps = last["gaps"].ToJsonString() + Assert.DoesNotContain("response-index-full-capture-deferred", gaps) + Assert.DoesNotContain("source-index-full-capture-deferred", gaps) + Assert.DoesNotContain("passive-state-overload", gaps) + let statePath = Path.Combine(root, "orchestrator-passive", "producer.json") + Assert.True(FileInfo(statePath).Length < 1024L * 1024L) + let state = passiveStateFile root + Assert.True(state["retired"].AsObject().Count <= 384) + Assert.True(state["responses"].AsObject().Count <= 256) + Assert.NotNull(state["retiredHorizon"]) + // An evicted day-one file selected again is suppressed below the horizon instead of being counted twice. + let evicted = dayOneFiles |> Seq.find (fun path -> isNull state["retired"].[Convert.ToHexString(Security.Cryptography.SHA256.HashData(Encoding.UTF8.GetBytes(Path.GetFullPath path))).ToLowerInvariant()]) + let suppressed = retirementCapture root home ledger [ evicted ] + Assert.Equal(expected, ledger.Count) + Assert.Contains("pre-horizon-record-suppressed", suppressed["gaps"].ToJsonString()) + // Control: a genuinely new transcript after the horizon is still observed. + let _, fresh = claudeSource root "after-horizon" + let text, _ = retirementTurn (Guid.NewGuid().ToString()) "fresh" 5 (DateTimeOffset.UtcNow.AddMinutes 5.0) + File.WriteAllText(fresh, text) + retirementCapture root home ledger [ fresh ] |> ignore + Assert.Equal(expected + 5, ledger.Count) + Assert.Equal(0, ledger.Duplicates) + + [] + let ``passive retirement in an interrupted closing pass is applied exactly once on recovery`` () = + if OperatingSystem.IsLinux() && Runtime.InteropServices.RuntimeInformation.ProcessArchitecture = Runtime.InteropServices.Architecture.X64 then + for cut in [ "before-intent-write"; "after-intent-write"; "before-local-enqueue"; "after-local-enqueue"; "before-cursor-write"; "after-cursor-write" ] do + let cleanup, root = temp () + use cleanup = cleanup + let home, path = claudeSource root "closing" + let at = DateTimeOffset.UtcNow.AddDays -1.0 + let text, _ = retirementTurn (Guid.NewGuid().ToString()) "closing" 5 at + File.WriteAllText(path, text) + age path (at.AddSeconds 6.0) + let ledger = RetirementLedger() + let hook (stage: string) = if stage = cut then raise (IOException "inert crash cut") + let interrupted = SkillTelemetryAdapter.capturePassiveFromWithHook root "owner" "passive-stream" (SkillTelemetryReaders.ClaudeHome home) [ path ] ledger.Enqueue hook + Assert.Equal(1, interrupted.ExitCode) + let recovered = retirementCapture root home ledger [ path ] + // The source is closed once, its five responses are retired once, and nothing is emitted twice. + Assert.Equal(5, ledger.Count) + Assert.Equal(0, ledger.Duplicates) + Assert.Equal(1, recovered["closedSources"].GetValue()) + Assert.Equal(5L, recovered["retiredResponses"].GetValue()) + Assert.False(recovered["pendingIntent"].GetValue()) + let again = retirementCapture root home ledger [ path ] + Assert.Equal(5, ledger.Count) + Assert.Equal(5L, again["retiredResponses"].GetValue()) + + let private hardLink (target: string) (link: string) = + use linker = Process.Start(ProcessStartInfo("ln", [| target; link |], UseShellExecute = false)) + linker.WaitForExit() + Assert.Equal(0, linker.ExitCode) + + [] + let ``passive retirement never re-emits a response through an alias copy or rewrite`` () = + if OperatingSystem.IsLinux() && Runtime.InteropServices.RuntimeInformation.ProcessArchitecture = Runtime.InteropServices.Architecture.X64 then + let cleanup, root = temp () + use cleanup = cleanup + let home, _ = claudeSource root "unused" + let start = DateTimeOffset.UtcNow.AddDays -1.0 + let ledger = RetirementLedger() + let write name count (at: DateTimeOffset) = + let _, path = claudeSource root name + let text, _ = retirementTurn (Guid.NewGuid().ToString()) name count at + File.WriteAllText(path, text) + path, text + // A hard link to a quiescent file in the same selection, closing in the same pass, is skipped as an alias. + let closing, _ = write "closing" 5 start + age closing (start.AddSeconds 6.0) + let closingLink = Path.Combine(Path.GetDirectoryName closing, "closing-link.jsonl") + hardLink closing closingLink + let aliased = retirementCapture root home ledger [ closing; closingLink ] + Assert.Equal(5, ledger.Count) + Assert.Contains("source-alias-skipped", aliased["gaps"].ToJsonString()) + retirementCapture root home ledger [ closingLink ] |> ignore + Assert.Equal(0, ledger.Duplicates) + // A rename of the closed file keeps its inode and is still the same source. + let renamed = Path.Combine(Path.GetDirectoryName closing, "closing-renamed.jsonl") + File.Move(closing, renamed) + retirementCapture root home ledger [ renamed ] |> ignore + Assert.Equal(5, ledger.Count) + Assert.Equal(0, ledger.Duplicates) + // A copy of the closed file under a new inode repeats only retired responses. + let copied = Path.Combine(Path.GetDirectoryName closing, "closing-copy.jsonl") + File.Copy(renamed, copied) + let copy = retirementCapture root home ledger [ copied ] + Assert.Equal(5, ledger.Count) + Assert.Equal(0, ledger.Duplicates) + Assert.Contains("retired-response-suppressed", copy["gaps"].ToJsonString()) + // An active windowed source replaced by a new inode with the same bytes is re-read from its start, and + // a hard link to it is an alias; neither repeats a response that left its window. + let active, activeText = write "active" 40 (start.AddHours 1.0) + for _ in 1..3 do retirementCapture root home ledger [ active ] |> ignore + Assert.Equal(45, ledger.Count) + let activeLink = Path.Combine(Path.GetDirectoryName active, "active-link.jsonl") + hardLink active activeLink + retirementCapture root home ledger [ active; activeLink ] |> ignore + File.Delete activeLink + // Rename a fresh file over the original, which guarantees a new inode on every filesystem. + let replacement = active + ".replacement" + File.WriteAllText(replacement, activeText) + File.Move(replacement, active, true) + let replaced = retirementCapture root home ledger [ active ] + Assert.Equal(45, ledger.Count) + Assert.Equal(0, ledger.Duplicates) + Assert.Contains("source-continuity-gap", replaced["gaps"].ToJsonString()) + // Control: a later response appended to the replaced file is still observed. + let tail, _ = retirementTurn (Guid.NewGuid().ToString()) "tail" 1 (start.AddHours 2.0) + File.AppendAllText(active, tail) + retirementCapture root home ledger [ active ] |> ignore + Assert.Equal(46, ledger.Count) + Assert.Equal(0, ledger.Duplicates)