GA3P7FOMATKDOGCZDYWLZJHAUNOWMRIP3BXTYFEH7PNWTTYYVLIAC LOJL4HMYG7EOVZ5MSMCORDLDSRHWO2JPHMOTLMLQA7GPJNSVDXOQC OY3CGEHQCHMCPWQAXCW2SZCDIDTE2OB6CRFIDT7E2TCFFKXQ43XAC SXEYMYF7P4RZMZ46WPL4IZUTSQ2ATBWYZX7QNVMS3SGOYXYOHAGQC VO5OQW4W2656DIYYRNZ3PO7TQ4JOKQ3GVWE5ALUTYVMX3WMXJOYQC DNQHXWRZF6EWII3RGQ6HPGFD47BOOFH4FCQHSCACBS3RLQO3DNIQC WKX5S4Z4DOB5S6A6X5V6ECZFCHQUMWRGX5XT4FBOG57P6HPWK7CAC Z6FWHKCAGF5MJCIG327JK7SYXQ53KM2UVGVE3QL64KDVOUPKQ3HQC TVVW53HZGYPODAXEQ4BFZNSPBOFG6JEDVOKIYIDZMWFAMOBKOR2QC CCLLB7OIFNFYJZTG3UCI7536TOCWSCSXR67VELSB466R24WLJSDAC self.w.write_all(s.as_bytes())?;} else {self.w.write_all(&s.as_bytes()[1..])?;
self.w.write_all(b"\n")?;}write!(self.w, "{} {}", marker, id)?;for side in sides {let h = side.to_base32();write!(self.w, " [{}]", h.split_at(8).0)?;
fn output_conflict_marker(&mut self, s: &str) -> Result<(), std::io::Error>;fn begin_conflict(&mut self) -> Result<(), std::io::Error> {self.output_conflict_marker(START_MARKER)
fn output_conflict_marker(&mut self,s: &str,id: usize,sides: &[&Hash],) -> Result<(), std::io::Error>;fn begin_conflict(&mut self, id: usize, side: &[&Hash]) -> Result<(), std::io::Error> {self.output_conflict_marker(START_MARKER, id, side)
fn begin_zombie_conflict(&mut self) -> Result<(), std::io::Error> {self.begin_conflict()
fn begin_zombie_conflict(&mut self,id: usize,add_del: &[&Hash],) -> Result<(), std::io::Error> {self.output_conflict_marker(START_MARKER, id, add_del)
fn begin_cyclic_conflict(&mut self) -> Result<(), std::io::Error> {self.begin_conflict()
fn begin_cyclic_conflict(&mut self, id: usize) -> Result<(), std::io::Error> {self.output_conflict_marker(START_MARKER, id, &[])
fn conflict_next(&mut self) -> Result<(), std::io::Error> {self.output_conflict_marker(SEPARATOR)
fn conflict_next(&mut self, id: usize, side: &[&Hash]) -> Result<(), std::io::Error> {self.output_conflict_marker(SEPARATOR, id, side)
fn end_conflict(&mut self) -> Result<(), std::io::Error> {self.output_conflict_marker(END_MARKER)
fn end_conflict(&mut self, id: usize) -> Result<(), std::io::Error> {self.output_conflict_marker(END_MARKER, id, &[])
fn end_cyclic_conflict(&mut self) -> Result<(), std::io::Error> {self.output_conflict_marker(END_MARKER)
fn end_cyclic_conflict(&mut self, id: usize) -> Result<(), std::io::Error> {self.output_conflict_marker(END_MARKER, id, &[])
debug!("{:?}", &s.as_bytes()[1..]);self.w.write_all(&s.as_bytes()[1..])?;
debug!("{:?}", s.as_bytes());}write!(self.w, "{} {}", s, id)?;for side in sides {let h = side.to_base32();write!(self.w, " [{}]", h.split_at(8).0)?;
self.w.write_all(s.as_bytes())?;} else {debug!("{:?}", &s.as_bytes()[1..]);self.w.write_all(&s.as_bytes()[1..])?;
self.w.write_all(b"\n")?;}write!(self.w, "{} {}", s, id)?;for side in sides {let h = side.to_base32();write!(self.w, " [{}]", h.split_at(8).0)?;
fn begin_conflict(&mut self) -> Result<(), std::io::Error> {self.output_conflict_marker(START_MARKER)
fn begin_conflict(&mut self, id: usize, side: &[&Hash]) -> Result<(), std::io::Error> {self.output_conflict_marker(START_MARKER, id, side)
fn begin_cyclic_conflict(&mut self) -> Result<(), std::io::Error> {self.output_conflict_marker(START_MARKER)
fn begin_cyclic_conflict(&mut self, id: usize) -> Result<(), std::io::Error> {self.output_conflict_marker(START_MARKER, id, &[])
let pos = match self.contents_a.last() {Some(&b'\n') | None => {let len = self.contents_a.len();self.contents_a.extend(marker.as_bytes().iter().skip(1));len}_ => {let len = self.contents_a.len() + 1;self.contents_a.extend(marker.as_bytes().iter());len}};
match self.contents_a.last() {Some(&b'\n') | None => {}_ => self.contents_a.push(b'\n'),}let pos = self.contents_a.len();use std::io::Write;write!(self.contents_a, "{} {}", marker, id)?;for side in sides {let h = side.to_base32();write!(self.contents_a, " [{}]", h.split_at(8).0)?;}self.contents_a.write_all(b"\n")?;
line_buf.conflict_next()?;
match elt.conflict[elt.side].path[elt.idx] {PathElement::Scc { scc } => {let vid = sccs[scc][0];let ext = txn.get_external(&graph[vid].vertex.change)?.unwrap();line_buf.conflict_next(id0, &[&ext.into()])?;}_ => {line_buf.conflict_next(id0, &[])?;}}