{"text_format":"2","workbook":"xls","n_sheets":3,"sheets":["Sheet1","Sheet2","Sheet3"],"not_rendered":{"charts":0,"images":0,"macros":0,"external_links":0,"defined_names":0,"comments":0,"pivot_tables":0},"unopened":[],"bounds":{"document_bytes":16777216,"sheet_cells":100000,"run_cost":"one","rows_first":2000,"rows_last":500,"rows_between":2000,"halvings":0,"cell_chars":16384,"cell_head_chars":4096},"cells_cut":0,"cells_raw":0,"read":"whole","date_system":"1900","formulas":"cached_only"}

{"sheet":"Sheet1","index":0,"n_rows":22,"n_cols":14,"rows_kept":22,"cut":false,"hidden":false,"merged":[[0,0,1,0],[0,1,1,1],[0,3,0,6],[0,7,0,10],[0,11,0,13]],"flags":["formulas_cached_only"]}
["Step","Description","Server","Alice",null,null,null,"Bob",null,null,null,"Queue"]
[null,null,"Text\n....:....1....:....2....:","State","Await Buffer","Pending Buffer","Text\n....:....1....:....2....:","State","Await Buffer","Pending Buffer","Text\n....:....1....:....2....:","To Server","To Alice","To Bob"]
[1,"Initial State","Lorem ipsum","Synchronized",null,null,"Lorem ipsum","Synchronized",null,null,"Lorem ipsum"]
[2,"Alice moves the cursor to position 6, just after the 'm' and types ' A1'","Lorem ipsum","Awaiting","Author: Alice\nRevision: 0\nChangeset:\nRetain(5),\nInsert(“ “),\nRetain(6)\n","Author: Alice\nChangeset:\nRetain(6),\nInsert(“A1“),\nRetain(6)\n","Lorem A1 ipsum","Synchronized",null,null,"Lorem ipsum","Author: Alice\nRevision: 0\nChangeset:\nRetain(5),\nInsert(“ “),\nRetain(6)\n"]
[3,"Bob moves the cursor to position 6, just after the 'm' and types ' B1'","Lorem ipsum","Awaiting","Author: Alice\nRevision: 0\nChangeset:\nRetain(5),\nInsert(“ “),\nRetain(6)\n","Author: Alice\nChangeset:\nRetain(6),\nInsert(“A1“),\nRetain(6)\n","Lorem A1 ipsum","Awaiting","Author: Bob\nRevision: 0\nChangeset:\nRetain(5),\nInsert(“ “),\nRetain(6)\n","Author: Bob\nChangeset:\nRetain(6),\nInsert(“B1“),\nRetain(6)\n","Lorem B1 ipsum","Author: Alice\nRevision: 0\nChangeset:\nRetain(5),\nInsert(“ “),\nRetain(6)\n\nAuthor: Bob\nRevision: 0\nChangeset:\nRetain(5),\nInsert(“ “),\nRetain(6)\n"]
[4,"Bob moves the cursor to the end of the line after ipsum and adds ' B2'","Lorem ipsum","Awaiting","Author: Alice\nRevision: 0\nChangeset:\nRetain(5),\nInsert(“ “),\nRetain(6)\n","Author: Alice\nChangeset:\nRetain(6),\nInsert(“A1“),\nRetain(6)\n","Lorem A1 ipsum","Awaiting","Author: Bob\nRevision: 0\nChangeset:\nRetain(5),\nInsert(“ “),\nRetain(6)\n","Author: Bob\nChangeset:\nRetain(6),\nInsert(“B1“),\nRetain(6),\nInsert(“ b2”)\n","Lorem B1 ipsum B2","Author: Alice\nRevision: 0\nChangeset:\nRetain(5),\nInsert(“ “),\nRetain(6)\n\nAuthor: Bob\nRevision: 0\nChangeset:\nRetain(5),\nInsert(“ “),\nRetain(6)\n"]
[5,"Server processes Alice's first operation (see step 2)","Lorem ipsum","Awaiting","Author: Alice\nRevision: 0\nChangeset:\nRetain(5),\nInsert(“ “),\nRetain(6)\n","Author: Alice\nChangeset:\nRetain(6),\nInsert(“A1“),\nRetain(6)\n","Lorem A1 ipsum","Awaiting","Author: Bob\nRevision: 0\nChangeset:\nRetain(5),\nInsert(“ “),\nRetain(6)\n","Author: Bob\nChangeset:\nRetain(6),\nInsert(“B1“),\nRetain(6),\nInsert(“ b2”)\n","Lorem B1 ipsum B2","Author: Bob\nRevision: 0\nChangeset:\nRetain(5),\nInsert(“ “),\nRetain(6)\n","Author: Alice\nChangeset:\nRetain(5),\nInsert(“ “),\nRetain(6)\n","Author: Alice\nChangeset:\nRetain(5),\nInsert(“ “),\nRetain(6)\n"]
[6,"Alice processes first in-bound queue","Lorem ipsum","Awaiting","Author: Alice\nRevision: 1\nChangeset:\nRetain(6),\nInsert(“A1“),\nRetain(6)\n",null,"Lorem A1 ipsum","Awaiting","Author: Bob\nRevision: 0\nChangeset:\nRetain(5),\nInsert(“ “),\nRetain(6)\n","Author: Bob\nChangeset:\nRetain(6),\nInsert(“B1“),\nRetain(6),\nInsert(“ b2”)\n","Lorem B1 ipsum B2","Author: Bob\nRevision: 0\nChangeset:\nRetain(5),\nInsert(“ “),\nRetain(6)\n\nAuthor: Alice\nRevision: 1\nChangeset:\nRetain(6),\nInsert(“A1“),\nRetain(6)",null,"Author: Alice\nChangeset:\nRetain(5),\nInsert(“ “),\nRetain(6)\n"]
[7,"Alice moves cursor to the beginning of the line and types 'A2 '","Lorem ipsum","Awaiting","Author: Alice\nRevision: 1\nChangeset:\nRetain(6),\nInsert(“A1“),\nRetain(6)\n","Author: Alice\nChangeset:\nInsert(“A2 “),\nRetain(14)\n","A2 Lorem A1 ipsum","Awaiting","Author: Bob\nRevision: 0\nChangeset:\nRetain(5),\nInsert(“ “),\nRetain(6)\n","Author: Bob\nChangeset:\nRetain(6),\nInsert(“B1“),\nRetain(6),\nInsert(“ b2”)\n","Lorem B1 ipsum B2","Author: Bob\nRevision: 0\nChangeset:\nRetain(5),\nInsert(“ “),\nRetain(6)\n\nAuthor: Alice\nRevision: 1\nChangeset:\nRetain(6),\nInsert(“A1“),\nRetain(6)\n",null,"Author: Alice\nChangeset:\nRetain(5),\nInsert(“ “),\nRetain(6)\n"]
[8,"Server processes Alice's second operation (see step 2)","Lorem A1 ipsum","Awaiting","Author: Alice\nChangeset:\nRetain(6),\nInsert(“A1“),\nRetain(6)\n","Author: Alice\nChangeset:\nInsert(“A2 “),\nRetain(14)\n","A2 Lorem A1 ipsum","Awaiting","Author: Bob\nRevision: 0\nChangeset:\nRetain(5),\nInsert(“ “),\nRetain(6)\n","Author: Bob\nChangeset:\nRetain(6),\nInsert(“B1“),\nRetain(6),\nInsert(“ b2”)\n","Lorem B1 ipsum B2","Author: Bob\nRevision: 0\nChangeset:\nRetain(5),\nInsert(“ “),\nRetain(6)","Author: Alice\nChangeset:\nRetain(6),\nInsert(“A1“),\nRetain(6)\n","Author: Alice\nChangeset:\nRetain(5),\nInsert(“ “),\nRetain(6)\n\nAuthor: Alice\nChangeset:\nRetain(6),\nInsert(“A1“),\nRetain(6)\n"]
[9,"Server processes Bob's first operation (see step 3)","Lorem A1 ipsum","Awaiting","Author: Alice\nChangeset:\nRetain(6),\nInsert(“A1“),\nRetain(6)\n","Author: Alice\nChangeset:\nInsert(“A2 “),\nRetain(14)\n","A2 Lorem A1 ipsum","Awaiting","Author: Bob\nRevision: 0\nChangeset:\nRetain(5),\nInsert(“ “),\nRetain(6)\n","Author: Bob\nChangeset:\nRetain(6),\nInsert(“B1“),\nRetain(6),\nInsert(“ b2”)\n","Lorem B1 ipsum B2",null,"Author: Alice\nChangeset:\nRetain(6),\nInsert(“A1“),\nRetain(6)\n\nAuthor: Bob\nChangeset:\nRetain(5),\nInsert(“ “),\nRetain(9)\n","Author: Alice\nChangeset:\nRetain(5),\nInsert(“ “),\nRetain(6)\n\nAuthor: Alice\nChangeset:\nRetain(6),\nInsert(“A1“),\nRetain(6)\n\nAuthor: Bob\nChangeset:\nRetain(5),\nInsert(“ “),\nRetain(9)\n"]
[10,"Bob processes first of Alice's operations","Lorem A1 ipsum","Awaiting","Author: Alice\nChangeset:\nRetain(6),\nInsert(“A1“),\nRetain(6)\n","Author: Alice\nChangeset:\nInsert(“A2 “),\nRetain(14)\n","A2 Lorem A1 ipsum","Awaiting","Author: Bob\nRevision: 0\nChangeset:\nRetain(5),\nInsert(“ “),\nRetain(6)\n","Author: Bob\nChangeset:\nRetain(6),\nInsert(“B1“),\nRetain(6),\nInsert(“ b2”)\n","Lorem B1  ipsum B2",null,"Author: Alice\nChangeset:\nRetain(6),\nInsert(“A1“),\nRetain(6)\n\nAuthor: Bob\nChangeset:\nRetain(5),\nInsert(“ “),\nRetain(9)\n","Author: Alice\nChangeset:\nRetain(6),\nInsert(“A1“),\nRetain(6)\n\nAuthor: Bob\nChangeset:\nRetain(5),\nInsert(“ “),\nRetain(9)\n"]
[11,"Bob processes second of Alice's operations","Lorem A1 ipsum","Awaiting","Author: Alice\nChangeset:\nRetain(6),\nInsert(“A1“),\nRetain(6)\n","Author: Alice\nChangeset:\nInsert(“A2 “),\nRetain(14)\n","A2 Lorem A1 ipsum","Awaiting","Author: Bob\nRevision: 0\nChangeset:\nRetain(5),\nInsert(“ “),\nRetain(6)\n","Author: Bob\nChangeset:\nRetain(6),\nInsert(“B1“),\nRetain(6),\nInsert(“ b2”)\n","Lorem B1 A1 ipsum B2",null,"Author: Alice\nChangeset:\nRetain(6),\nInsert(“A1“),\nRetain(6)\n\nAuthor: Bob\nChangeset:\nRetain(5),\nInsert(“ “),\nRetain(9)\n","Author: Bob\nChangeset:\nRetain(5),\nInsert(“ “),\nRetain(9)\n"]
[12,"Alice processes third in-bound queue","Lorem A1 ipsum","Awaiting","Author: Alice\nRevision: 2\nChangeset:\nInsert(“A2 “),\nRetain(14)\n",null,"A2 Lorem A1 ipsum","Awaiting","Author: Bob\nRevision: 0\nChangeset:\nRetain(5),\nInsert(“ “),\nRetain(6)\n","Author: Bob\nChangeset:\nRetain(6),\nInsert(“B1“),\nRetain(6),\nInsert(“ b2”)\n","Lorem B1 A1 ipsum B2","Author: Alice\nRevision: 2\nChangeset:\nInsert(“A2 “),\nRetain(14)\n","Author: Bob\nChangeset:\nRetain(5),\nInsert(“ “),\nRetain(9)\n","Author: Bob\nChangeset:\nRetain(5),\nInsert(“ “),\nRetain(9)\n"]
[13,"Alice processes Bob's change from inbound queue","Lorem A1 ipsum","Awaiting","Author: Alice\nRevision: 2\nChangeset:\nInsert(“A2 “),\nRetain(14)\n",null,"A2 Lorem  A1 ipsum","Awaiting","Author: Bob\nRevision: 0\nChangeset:\nRetain(5),\nInsert(“ “),\nRetain(6)\n","Author: Bob\nChangeset:\nRetain(6),\nInsert(“B1“),\nRetain(6),\nInsert(“ b2”)\n","Lorem B1 A1 ipsum B2","Author: Alice\nRevision: 2\nChangeset:\nInsert(“A2 “),\nRetain(14)\n",null,"Author: Bob\nChangeset:\nRetain(5),\nInsert(“ “),\nRetain(9)\n"]
[14,"Server processes next Alice operation from inbound queue","A2 Lorem A1 ipsum","Awaiting","Author: Alice\nRevision: 2\nChangeset:\nInsert(“A2 “),\nRetain(14)\n",null,"A2 Lorem  A1 ipsum","Awaiting","Author: Bob\nRevision: 0\nChangeset:\nRetain(5),\nInsert(“ “),\nRetain(6)\n","Author: Bob\nChangeset:\nRetain(6),\nInsert(“B1“),\nRetain(6),\nInsert(“ b2”)\n","Lorem B1 A1 ipsum B2",null,"Author: Alice\nChangeset:\nInsert(“A2 “),\nRetain(15)\n","Author: Bob\nChangeset:\nRetain(5),\nInsert(“ “),\nRetain(9)\n\nAuthor: Alice\nChangeset:\nInsert(“A2 “),\nRetain(15)\n"]
[15,"Alice processes next inbound queue","A2 Lorem A1 ipsum","Synchronized",null,null,"A2 Lorem  A1 ipsum","Awaiting","Author: Bob\nRevision: 0\nChangeset:\nRetain(5),\nInsert(“ “),\nRetain(6)\n","Author: Bob\nChangeset:\nRetain(6),\nInsert(“B1“),\nRetain(6),\nInsert(“ b2”)\n","Lorem B1 A1 ipsum B2",null,null,"Author: Bob\nChangeset:\nRetain(5),\nInsert(“ “),\nRetain(9)\n\nAuthor: Alice\nChangeset:\nInsert(“A2 “),\nRetain(15)\n"]
[16,"Bob processes next inbound queue","A2 Lorem A1 ipsum","Synchronized",null,null,"A2 Lorem  A1 ipsum","Awaiting","Author: Bob\nRevision: 3\nChangeset:\nRetain(6),\nInsert(“B1“),\nRetain(6),\nInsert(“ b2”)\n",null,"Lorem B1 A1 ipsum B2","Author: Bob\nRevision: 3\nChangeset:\nRetain(6),\nInsert(“B1“),\nRetain(9),\nInsert(“ b2”)\n",null,"Author: Alice\nChangeset:\nInsert(“A2 “),\nRetain(15)\n"]
[17,"Bob processes next inbound queue","A2 Lorem A1 ipsum","Synchronized",null,null,"A2 Lorem  A1 ipsum","Awaiting","Author: Bob\nRevision: 3\nChangeset:\nRetain(6),\nInsert(“B1“),\nRetain(6),\nInsert(“ b2”)\n",null,"A2 Lorem B1 A1 ipsum B2","Author: Bob\nRevision: 3\nChangeset:\nRetain(6),\nInsert(“B1“),\nRetain(9),\nInsert(“ b2”)\n"]
[18,"Server processes Bob's third change","A2 Lorem B1 A1 ipsum B2\"","Synchronized",null,null,"A2 Lorem  A1 ipsum","Awaiting",null,null,"A2 Lorem B1 A1 ipsum B2",null,"Author: Bob\nChangeset:\nRetain(9),\nInsert(“B1“),\nRetain(9),\nInsert(“ b2”)\n","Author: Bob\nChangeset:\nRetain(9),\nInsert(“B1“),\nRetain(9),\nInsert(“ b2”)\n"]
[19,"Alice processes next inbound queue","A2 Lorem B1 A1 ipsum B2\"","Synchronized",null,null,"A2 Lorem B1 A1 ipsum B2","Awaiting",null,null,"A2 Lorem B1 A1 ipsum B2",null,null,"Author: Bob\nChangeset:\nRetain(9),\nInsert(“B1“),\nRetain(9),\nInsert(“ b2”)\n"]
[20,"Bob processes last inbound queue","A2 Lorem B1 A1 ipsum B2\"","Synchronized",null,null,"A2 Lorem B1 A1 ipsum B2","Synchronized",null,null,"A2 Lorem B1 A1 ipsum B2"]

{"sheet":"Sheet2","index":1,"n_rows":0,"n_cols":0,"rows_kept":0,"cut":false,"hidden":false,"merged":[],"flags":["formulas_cached_only"]}

{"sheet":"Sheet3","index":2,"n_rows":0,"n_cols":0,"rows_kept":0,"cut":false,"hidden":false,"merged":[],"flags":["formulas_cached_only"]}