)]}'
{"doc/source/overview_ring_format.rst":[{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"29ea2bf9d08d2f38f9804170ed2fe30fccea9fe9","unresolved":true,"context_lines":[{"line_number":131,"context_line":"in the order Swift will read them back out as, just to make it as inline as"},{"line_number":132,"context_line":"possible."},{"line_number":133,"context_line":"The final blob however needs to be the index blob which is a json serialized"},{"line_number":134,"context_line":"dictionary of blobs in the stored in the file in the form::"},{"line_number":135,"context_line":""},{"line_number":136,"context_line":"    {"},{"line_number":137,"context_line":"    section: ["}],"source_content_type":"text/x-rst","patch_set":2,"id":"ec4121dc_4cca56ba","line":134,"range":{"start_line":134,"start_character":20,"end_line":134,"end_character":26},"updated":"2022-11-15 19:46:33.000000000","message":"that are","commit_id":"3fb719739576f4886582331d0025a53e0cc0a0e1"},{"author":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"change_message_id":"4cfac566ccf90397f527663160731442945aec83","unresolved":false,"context_lines":[{"line_number":131,"context_line":"in the order Swift will read them back out as, just to make it as inline as"},{"line_number":132,"context_line":"possible."},{"line_number":133,"context_line":"The final blob however needs to be the index blob which is a json serialized"},{"line_number":134,"context_line":"dictionary of blobs in the stored in the file in the form::"},{"line_number":135,"context_line":""},{"line_number":136,"context_line":"    {"},{"line_number":137,"context_line":"    section: ["}],"source_content_type":"text/x-rst","patch_set":2,"id":"4356fbbb_ddf45dd6","line":134,"range":{"start_line":134,"start_character":20,"end_line":134,"end_character":26},"in_reply_to":"ec4121dc_4cca56ba","updated":"2022-11-16 00:01:05.000000000","message":"Done","commit_id":"3fb719739576f4886582331d0025a53e0cc0a0e1"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"29ea2bf9d08d2f38f9804170ed2fe30fccea9fe9","unresolved":true,"context_lines":[{"line_number":152,"context_line":"before each BLOB. This enables one to seek to any blob in the file and start"},{"line_number":153,"context_line":"reading it."},{"line_number":154,"context_line":""},{"line_number":155,"context_line":"At the end of the index BLOB, the uncompressed 8 byte location of the start of"},{"line_number":156,"context_line":"the index file is written to the file. So deserialization can start by:"},{"line_number":157,"context_line":""},{"line_number":158,"context_line":"* Seek to the end of the file"}],"source_content_type":"text/x-rst","patch_set":2,"id":"72e6f42e_317c031d","line":155,"range":{"start_line":155,"start_character":70,"end_line":155,"end_character":75},"updated":"2022-11-15 19:46:33.000000000","message":"compressed start, since we\u0027ve already introduced the idea of compressed/uncompressed starting positions.","commit_id":"3fb719739576f4886582331d0025a53e0cc0a0e1"},{"author":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"change_message_id":"4cfac566ccf90397f527663160731442945aec83","unresolved":false,"context_lines":[{"line_number":152,"context_line":"before each BLOB. This enables one to seek to any blob in the file and start"},{"line_number":153,"context_line":"reading it."},{"line_number":154,"context_line":""},{"line_number":155,"context_line":"At the end of the index BLOB, the uncompressed 8 byte location of the start of"},{"line_number":156,"context_line":"the index file is written to the file. So deserialization can start by:"},{"line_number":157,"context_line":""},{"line_number":158,"context_line":"* Seek to the end of the file"}],"source_content_type":"text/x-rst","patch_set":2,"id":"a97c8192_75fac1a2","line":155,"range":{"start_line":155,"start_character":70,"end_line":155,"end_character":75},"in_reply_to":"72e6f42e_317c031d","updated":"2022-11-16 00:01:05.000000000","message":"Done","commit_id":"3fb719739576f4886582331d0025a53e0cc0a0e1"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"29ea2bf9d08d2f38f9804170ed2fe30fccea9fe9","unresolved":true,"context_lines":[{"line_number":156,"context_line":"the index file is written to the file. So deserialization can start by:"},{"line_number":157,"context_line":""},{"line_number":158,"context_line":"* Seek to the end of the file"},{"line_number":159,"context_line":"* Go back 31 bytes"},{"line_number":160,"context_line":"* Read 8 bytes to get the location of the start of the index BLOB"},{"line_number":161,"context_line":"* Seek to that location"},{"line_number":162,"context_line":"* Read the size of the index BLOB"}],"source_content_type":"text/x-rst","patch_set":2,"id":"ec398022_122ca3d1","line":159,"updated":"2022-11-15 19:46:33.000000000","message":"...in the underlying file; this should leave us at a zlib flush point","commit_id":"3fb719739576f4886582331d0025a53e0cc0a0e1"},{"author":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"change_message_id":"4cfac566ccf90397f527663160731442945aec83","unresolved":false,"context_lines":[{"line_number":156,"context_line":"the index file is written to the file. So deserialization can start by:"},{"line_number":157,"context_line":""},{"line_number":158,"context_line":"* Seek to the end of the file"},{"line_number":159,"context_line":"* Go back 31 bytes"},{"line_number":160,"context_line":"* Read 8 bytes to get the location of the start of the index BLOB"},{"line_number":161,"context_line":"* Seek to that location"},{"line_number":162,"context_line":"* Read the size of the index BLOB"}],"source_content_type":"text/x-rst","patch_set":2,"id":"526f8ca7_7a46d14a","line":159,"in_reply_to":"ec398022_122ca3d1","updated":"2022-11-16 00:01:05.000000000","message":"Done","commit_id":"3fb719739576f4886582331d0025a53e0cc0a0e1"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"29ea2bf9d08d2f38f9804170ed2fe30fccea9fe9","unresolved":true,"context_lines":[{"line_number":157,"context_line":""},{"line_number":158,"context_line":"* Seek to the end of the file"},{"line_number":159,"context_line":"* Go back 31 bytes"},{"line_number":160,"context_line":"* Read 8 bytes to get the location of the start of the index BLOB"},{"line_number":161,"context_line":"* Seek to that location"},{"line_number":162,"context_line":"* Read the size of the index BLOB"},{"line_number":163,"context_line":"* Read the json serialized index."}],"source_content_type":"text/x-rst","patch_set":2,"id":"d610c943_24a4f7f0","line":160,"updated":"2022-11-15 19:46:33.000000000","message":"Decompress 8 bytes from the zlib stream to get ...","commit_id":"3fb719739576f4886582331d0025a53e0cc0a0e1"},{"author":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"change_message_id":"4cfac566ccf90397f527663160731442945aec83","unresolved":false,"context_lines":[{"line_number":157,"context_line":""},{"line_number":158,"context_line":"* Seek to the end of the file"},{"line_number":159,"context_line":"* Go back 31 bytes"},{"line_number":160,"context_line":"* Read 8 bytes to get the location of the start of the index BLOB"},{"line_number":161,"context_line":"* Seek to that location"},{"line_number":162,"context_line":"* Read the size of the index BLOB"},{"line_number":163,"context_line":"* Read the json serialized index."}],"source_content_type":"text/x-rst","patch_set":2,"id":"7fd051a3_e997f1b4","line":160,"in_reply_to":"d610c943_24a4f7f0","updated":"2022-11-16 00:01:05.000000000","message":"Done","commit_id":"3fb719739576f4886582331d0025a53e0cc0a0e1"}]}
