> now make list of output byte ranges. this can be done by starting at the start and summing the lengths.
> then cut the lists so that there is no overlap at the edges. the byte > ranges turn into sequences. ok um we need the data ….. um > then we can swap the sequences one at a time to reorder the data in place. here also we’ll need to be sure the ranges update when the swap happens
