Build Statemachine Creationg for lower bound number
BIN
docs/.configotron-whiteboard.autosave.xopp
Normal file
135
src/configotron/fsm/builder/mod.rs
Normal file
@@ -0,0 +1,135 @@
|
||||
use std::{cell::RefCell, collections::HashSet, rc::{Rc, Weak}};
|
||||
|
||||
use crate::configotron::fsm::{FSMState, FSMStateRef, FSM};
|
||||
|
||||
pub mod numbers;
|
||||
|
||||
pub fn elimate_unused_states(fsm: &mut FSM) {
|
||||
let start = fsm.start.as_ref().unwrap();
|
||||
let mut used: HashSet<String> = HashSet::new();
|
||||
|
||||
pub fn explore_states(s: Weak<RefCell<FSMState>>, used: &mut HashSet<String>) -> Option<()> {
|
||||
|
||||
let s_rc = s.upgrade()?;
|
||||
let s_borrow = s_rc.borrow();
|
||||
let t = s_borrow.transition.as_ref()?;
|
||||
let name = s_borrow.name.clone();
|
||||
|
||||
if !used.contains(&name) {
|
||||
used.insert(name);
|
||||
|
||||
for i in 0..(128 as u8) {
|
||||
explore_states(t.get_next(i), used);
|
||||
}
|
||||
}
|
||||
Some(())
|
||||
}
|
||||
|
||||
explore_states(Rc::downgrade(start), &mut used);
|
||||
|
||||
let mut new_state_array: Vec<FSMStateRef> = Vec::new();
|
||||
|
||||
fsm.states.drain(..).for_each(|s| {
|
||||
let s_name = s.borrow().name.clone();
|
||||
if used.contains(&s_name) {
|
||||
new_state_array.push(s);
|
||||
}
|
||||
});
|
||||
|
||||
fsm.states = new_state_array;
|
||||
}
|
||||
|
||||
|
||||
#[cfg(test)]
|
||||
mod test {
|
||||
use std::rc::Rc;
|
||||
|
||||
use graphviz_rust::cmd::Format;
|
||||
|
||||
use crate::configotron::fsm::{builder::elimate_unused_states, masking::{MaskPresets, TransitionMask}, new_state_ref, test::debug_file_dump, transition::FSMTranistion, FSMState, FSMStateAction, FSM};
|
||||
|
||||
#[test]
|
||||
fn state_elimitnation() {
|
||||
let z0 = new_state_ref(FSMState::new(
|
||||
"z0".to_string(), FSMStateAction::Terminal,
|
||||
));
|
||||
let z1 = new_state_ref(FSMState::new(
|
||||
"z1".to_string(), FSMStateAction::Terminal,
|
||||
));
|
||||
let z2 = new_state_ref(FSMState::new(
|
||||
"z2".to_string(), FSMStateAction::Terminal,
|
||||
));
|
||||
let z3 = new_state_ref(FSMState::new(
|
||||
"z3".to_string(), FSMStateAction::Terminal,
|
||||
));
|
||||
let z4 = new_state_ref(FSMState::new(
|
||||
"z4".to_string(), FSMStateAction::Terminal,
|
||||
));
|
||||
let z5 = new_state_ref(FSMState::new(
|
||||
"z5".to_string(), FSMStateAction::Terminal,
|
||||
));
|
||||
|
||||
let start = z0.clone();
|
||||
|
||||
/*
|
||||
* Links:
|
||||
* (z0) -> (z1)
|
||||
* (z1) -> (z2), (z3)
|
||||
* (z2) -> (z2)
|
||||
* (z3) -> (z1)
|
||||
* X (z4) -> (z3)
|
||||
* X (z5) -> (z5)
|
||||
*/
|
||||
|
||||
z0.borrow_mut().set_transitions({
|
||||
let t = FSMTranistion::new(Rc::downgrade(&z1));
|
||||
t
|
||||
});
|
||||
z1.borrow_mut().set_transitions({
|
||||
let mut t = FSMTranistion::new(Rc::downgrade(&z2));
|
||||
t.apply(TransitionMask::from(MaskPresets::LowerCase), Rc::downgrade(&z3));
|
||||
t
|
||||
});
|
||||
z2.borrow_mut().set_transitions({
|
||||
let t = FSMTranistion::new(Rc::downgrade(&z2));
|
||||
t
|
||||
});
|
||||
z3.borrow_mut().set_transitions({
|
||||
let t = FSMTranistion::new(Rc::downgrade(&z1));
|
||||
t
|
||||
});
|
||||
z4.borrow_mut().set_transitions({
|
||||
let t = FSMTranistion::new(Rc::downgrade(&z3));
|
||||
t
|
||||
});
|
||||
z5.borrow_mut().set_transitions({
|
||||
let t = FSMTranistion::new(Rc::downgrade(&z5));
|
||||
t
|
||||
});
|
||||
|
||||
|
||||
let state_prev = vec![z0.clone(), z1.clone(), z2.clone(), z3.clone(), z4.clone(), z5.clone()];
|
||||
let state_after = vec![z0.clone(), z1.clone(), z2.clone(), z3.clone()];
|
||||
|
||||
let mut fsm = FSM {
|
||||
states: state_prev,
|
||||
name: "test_fsm".to_string(),
|
||||
start: Some(start)
|
||||
};
|
||||
|
||||
debug_file_dump(fsm.render_graph(Format::Svg).unwrap(), "/tmp/state_elimitiation_before.svg".to_string());
|
||||
|
||||
elimate_unused_states(&mut fsm);
|
||||
|
||||
debug_file_dump(fsm.render_graph(Format::Svg).unwrap(), "/tmp/state_elimitiation_after.svg".to_string());
|
||||
|
||||
|
||||
assert_eq!(fsm.states.len(), state_after.len());
|
||||
|
||||
for (i, j) in fsm.states.iter().zip(state_after) {
|
||||
assert_eq!(i.borrow().name, j.borrow().name)
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
203
src/configotron/fsm/builder/numbers.rs
Normal file
@@ -0,0 +1,203 @@
|
||||
use std::{rc::Rc};
|
||||
|
||||
use crate::configotron::fsm::{builder::elimate_unused_states, masking::{MaskPresets, TransitionMask}, new_state_ref, transition::FSMTranistion, FSMState, FSMStateAction, FSMStateRef};
|
||||
|
||||
use super::super::FSM;
|
||||
|
||||
fn number_of_digits(i: i32) -> u32 {
|
||||
if i == 0 {
|
||||
1
|
||||
} else {
|
||||
let mut n = i.abs();
|
||||
let mut digits = 0;
|
||||
while n > 0 { // Yes, with floating point math it does not work, sorry ;(
|
||||
n /= 10;
|
||||
digits += 1;
|
||||
}
|
||||
digits
|
||||
}
|
||||
}
|
||||
|
||||
fn nth_decimal_digit(num: u32, n: u32) -> u32 {
|
||||
let num_digits = number_of_digits(num as i32);
|
||||
if n >= num_digits {
|
||||
return 0;
|
||||
}
|
||||
let divisor = 10u32.pow(num_digits - n - 1);
|
||||
(num / divisor) % 10
|
||||
}
|
||||
|
||||
fn create_fsm_number_upperbound(max: u32) -> FSM {
|
||||
let length_of_number = number_of_digits(max as i32);
|
||||
|
||||
// Creating All states
|
||||
let error_state = new_state_ref(FSMState::new("e".to_string(), FSMStateAction::Error));
|
||||
let goal_state = new_state_ref(FSMState::new("g".to_string(), FSMStateAction::Terminal));
|
||||
|
||||
let mut main_line: Vec<FSMStateRef> = Vec::new();
|
||||
let mut side_line: Vec<FSMStateRef> = Vec::new();
|
||||
|
||||
// Create and Link Main to side
|
||||
for i in 0..length_of_number {
|
||||
let digit = nth_decimal_digit(max, i);
|
||||
|
||||
let new_main_state = new_state_ref(FSMState::new(
|
||||
format!("m{}", i), FSMStateAction::Terminal));
|
||||
let new_side_state = new_state_ref(FSMState::new(
|
||||
format!("s{}", i), FSMStateAction::Terminal));
|
||||
|
||||
let mut main_state_transition = FSMTranistion::new(Rc::downgrade(&error_state));
|
||||
|
||||
if digit > 0 {
|
||||
main_state_transition.apply(TransitionMask::from(MaskPresets::NumberRange(0..=(digit as u8 - 1))), Rc::downgrade(&new_side_state));
|
||||
}
|
||||
|
||||
new_main_state.borrow_mut().set_transitions(
|
||||
main_state_transition
|
||||
);
|
||||
|
||||
new_side_state.borrow_mut().set_transitions(
|
||||
FSMTranistion::new(Rc::downgrade(&error_state))
|
||||
);
|
||||
|
||||
main_line.push(new_main_state.clone());
|
||||
side_line.push(new_side_state.clone());
|
||||
};
|
||||
|
||||
// Link Main to main, side to side
|
||||
for (i,
|
||||
(
|
||||
(prev_main, next_main),
|
||||
(prev_side, next_side)
|
||||
)
|
||||
) in
|
||||
main_line.iter().zip(main_line.iter().skip(1))
|
||||
.zip(side_line.iter().zip(side_line.iter().skip(1)))
|
||||
.enumerate() {
|
||||
let digit = nth_decimal_digit(max, i as u32);
|
||||
|
||||
match &mut prev_main.borrow_mut().transition {
|
||||
None => {},
|
||||
Some(t) => {
|
||||
|
||||
if digit < 9 {
|
||||
t.apply(
|
||||
TransitionMask::from(MaskPresets::NumberRange((digit as u8 + 1)..=9)),
|
||||
Rc::downgrade(next_side)
|
||||
);
|
||||
}
|
||||
|
||||
t.apply(
|
||||
TransitionMask::from(MaskPresets::Char(std::char::from_digit(digit, 10).unwrap())),
|
||||
Rc::downgrade(next_main)
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
match &mut prev_side.borrow_mut().transition {
|
||||
None => {},
|
||||
Some(t) => {
|
||||
t.apply(
|
||||
TransitionMask::from(MaskPresets::Numbers),
|
||||
Rc::downgrade(next_side)
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Link last main to side, goal
|
||||
match &mut main_line.last() {
|
||||
Some(main_last) => {
|
||||
let last_digit = max % 10;
|
||||
match &mut main_last.borrow_mut().transition {
|
||||
Some(t) => {
|
||||
t.apply(TransitionMask::from(MaskPresets::Char(
|
||||
std::char::from_digit(last_digit, 10).unwrap()
|
||||
)), Rc::downgrade(&goal_state));
|
||||
|
||||
t.apply(TransitionMask::from(MaskPresets::NumberRange(0..=(last_digit as u8))),
|
||||
Rc::downgrade(&goal_state)
|
||||
);
|
||||
},
|
||||
_ => {}
|
||||
}
|
||||
},
|
||||
_ => {}
|
||||
}
|
||||
|
||||
// Link goal to error
|
||||
goal_state.borrow_mut().set_transitions(FSMTranistion::new(Rc::downgrade(&error_state)));
|
||||
|
||||
// Linking error to error
|
||||
error_state.borrow_mut().set_transitions(FSMTranistion::new(Rc::downgrade(&error_state)));
|
||||
|
||||
// Combinding in one array
|
||||
let mut states: Vec<Rc<std::cell::RefCell<FSMState>>> = vec![error_state, goal_state];
|
||||
let first_state: Option<FSMStateRef> = match main_line.first() {
|
||||
None => None,
|
||||
Some(first) => {
|
||||
Some(first.clone())
|
||||
}
|
||||
};
|
||||
states.append(&mut main_line);
|
||||
states.append(&mut side_line);
|
||||
|
||||
let mut fsm = FSM {
|
||||
name: format!("FSM_UpperBound_{}", max),
|
||||
states: states,
|
||||
start: first_state
|
||||
};
|
||||
|
||||
elimate_unused_states(&mut fsm);
|
||||
|
||||
fsm
|
||||
}
|
||||
|
||||
|
||||
#[cfg(test)]
|
||||
mod test {
|
||||
use graphviz_rust::cmd::Format;
|
||||
|
||||
use crate::configotron::fsm::{builder::numbers::{create_fsm_number_upperbound, number_of_digits}, run::run_fsm, test::debug_file_dump, FSMStateAction};
|
||||
|
||||
|
||||
#[test]
|
||||
fn build_upper_bound() {
|
||||
|
||||
for max in vec![4026, 124, 9999, 1000, 0, 42398] {
|
||||
let fsm = create_fsm_number_upperbound(max);
|
||||
let data = fsm.render_graph(Format::Svg).unwrap();
|
||||
println!("Testing Lower Bound FSM {}", max);
|
||||
|
||||
for i in 0..=(if max == 0 {10} else {max * 10} ) {
|
||||
|
||||
assert_eq!(run_fsm(&i.to_string(), &fsm), if i <= max {
|
||||
FSMStateAction::Terminal
|
||||
} else {
|
||||
FSMStateAction::Error
|
||||
});
|
||||
}
|
||||
|
||||
// Testing against refernce machine
|
||||
let file_name = format!("build_number_upper_bound_{}.svg", max);
|
||||
debug_file_dump(data.clone(), format!("/tmp/{}", file_name).to_string());
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn number_of_digits_test() {
|
||||
assert_eq!(number_of_digits(0), 1);
|
||||
assert_eq!(number_of_digits(9), 1);
|
||||
assert_eq!(number_of_digits(10), 2);
|
||||
assert_eq!(number_of_digits(99), 2);
|
||||
assert_eq!(number_of_digits(100), 3);
|
||||
assert_eq!(number_of_digits(-1), 1);
|
||||
assert_eq!(number_of_digits(-9), 1);
|
||||
assert_eq!(number_of_digits(-10), 2);
|
||||
assert_eq!(number_of_digits(-99), 2);
|
||||
assert_eq!(number_of_digits(-100), 3);
|
||||
assert_eq!(number_of_digits(123456), 6);
|
||||
assert_eq!(number_of_digits(-123456), 6);
|
||||
}
|
||||
}
|
||||
@@ -9,6 +9,7 @@ pub enum MaskPresets {
|
||||
UpperCase,
|
||||
AllHumanReadable,
|
||||
Numbers,
|
||||
NumberRange(RangeInclusive<u8>),
|
||||
SpecialChars,
|
||||
WhiteSpace,
|
||||
LineTermination,
|
||||
@@ -33,6 +34,11 @@ impl From<MaskPresets> for TransitionMask {
|
||||
MaskPresets::AnyCase => {
|
||||
set_range(0x41..=0x5a); // UpperCase
|
||||
set_range(0x61..=0x7a); // LowerCase
|
||||
},
|
||||
MaskPresets::NumberRange(r) => {
|
||||
let start = (*r.start() as i32) + 0x30;
|
||||
let end = (*r.end() as i32) + 0x30;
|
||||
set_range(start..=end);
|
||||
}
|
||||
MaskPresets::LowerCase => {
|
||||
set_range(0x61..=0x7a); // LowerCase
|
||||
|
||||
@@ -1,25 +1,33 @@
|
||||
pub mod masking;
|
||||
pub mod transition;
|
||||
pub mod builder;
|
||||
pub mod run;
|
||||
|
||||
use graphviz_rust::{
|
||||
dot_structures::{Attribute, Edge, EdgeTy, Graph, Id, NodeId, Stmt, Vertex},
|
||||
exec,
|
||||
printer::PrinterContext,
|
||||
cmd::Layout, dot_structures::{Attribute, Edge, EdgeTy, Graph, Id, NodeId, Stmt, Vertex}, exec, printer::PrinterContext
|
||||
};
|
||||
use transition::FSMTranistion;
|
||||
use std::{cell::RefCell, rc::Rc};
|
||||
|
||||
pub type FSMStateRef = Rc<RefCell<FSMState>>;
|
||||
|
||||
pub fn new_state_ref(s: FSMState) -> FSMStateRef {
|
||||
Rc::new(RefCell::new(s))
|
||||
}
|
||||
|
||||
#[derive(Debug, Clone)]
|
||||
pub struct FSM {
|
||||
name: String,
|
||||
states: Vec<Rc<RefCell<FSMState>>>,
|
||||
states: Vec<FSMStateRef>,
|
||||
start: Option<FSMStateRef>
|
||||
}
|
||||
|
||||
impl FSM {
|
||||
pub fn new(state: Vec<Rc<RefCell<FSMState>>>, name: &str) -> Self {
|
||||
pub fn new(state: Vec<FSMStateRef>, name: &str) -> Self {
|
||||
FSM {
|
||||
states: state,
|
||||
name: name.to_string(),
|
||||
start: None
|
||||
}
|
||||
}
|
||||
|
||||
@@ -34,24 +42,43 @@ impl FSM {
|
||||
stmts.push(Stmt::Node(graphviz_rust::dot_structures::Node {
|
||||
id: NodeId(Id::Plain(s_borrowed.to_graph_label()), None),
|
||||
attributes: {
|
||||
let mut res = vec![Attribute(
|
||||
Id::Plain("label".to_string()),
|
||||
Id::Plain(s_borrowed.to_graph_label()),
|
||||
)];
|
||||
let mut res = vec![];
|
||||
let label = s_borrowed.to_graph_label();
|
||||
|
||||
match s_borrowed.action {
|
||||
FSMStateAction::NONE => {
|
||||
FSMStateAction::None => {
|
||||
res.push(Attribute(
|
||||
Id::Plain("shape".to_string()),
|
||||
Id::Plain("circle".to_string()),
|
||||
));
|
||||
}
|
||||
FSMStateAction::TERMINAL => {
|
||||
FSMStateAction::Error => {
|
||||
res.push(Attribute(
|
||||
Id::Plain("shape".to_string()),
|
||||
Id::Plain("circle".to_string()),
|
||||
));
|
||||
}
|
||||
FSMStateAction::Reset => {
|
||||
res.push(Attribute(
|
||||
Id::Plain("shape".to_string()),
|
||||
Id::Plain("circle".to_string()),
|
||||
));
|
||||
}
|
||||
FSMStateAction::Terminal => {
|
||||
res.push(Attribute(
|
||||
Id::Plain("shape".to_string()),
|
||||
Id::Plain("doublecircle".to_string()),
|
||||
));
|
||||
}
|
||||
}
|
||||
|
||||
res.push(
|
||||
Attribute(
|
||||
Id::Plain("label".to_string()),
|
||||
Id::Plain(label),
|
||||
)
|
||||
);
|
||||
|
||||
res
|
||||
},
|
||||
}));
|
||||
@@ -100,16 +127,21 @@ impl FSM {
|
||||
|
||||
println!("{}", graphviz_rust::print(g.clone(), &mut ctx));
|
||||
|
||||
let data = exec(g, &mut ctx, vec![format.into()])?;
|
||||
let data = exec(g, &mut ctx, vec![
|
||||
format.into(),
|
||||
graphviz_rust::cmd::CommandArg::Layout(Layout::Dot)
|
||||
])?;
|
||||
|
||||
Ok(data)
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(Debug, Clone, Copy)]
|
||||
#[derive(Debug, Clone, Copy, PartialEq)]
|
||||
pub enum FSMStateAction {
|
||||
NONE,
|
||||
TERMINAL,
|
||||
None,
|
||||
Terminal,
|
||||
Error,
|
||||
Reset
|
||||
}
|
||||
|
||||
#[derive(Debug, Clone)]
|
||||
@@ -150,23 +182,28 @@ mod test {
|
||||
use super::transition::FSMTranistion;
|
||||
use super::masking::{MaskPresets, TransitionMask};
|
||||
|
||||
pub fn debug_file_dump(d: Vec<u8>, filepath: String) {
|
||||
let mut output_file = std::fs::File::create(filepath).unwrap();
|
||||
output_file.write_all(&d).unwrap();
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn simple_fsm_render() {
|
||||
let z0 = Rc::new(RefCell::new(FSMState::new(
|
||||
"z0".to_string(),
|
||||
FSMStateAction::NONE,
|
||||
FSMStateAction::None,
|
||||
)));
|
||||
let z1 = Rc::new(RefCell::new(FSMState::new(
|
||||
"z1".to_string(),
|
||||
FSMStateAction::NONE,
|
||||
FSMStateAction::None,
|
||||
)));
|
||||
let z2 = Rc::new(RefCell::new(FSMState::new(
|
||||
"z2".to_string(),
|
||||
FSMStateAction::TERMINAL,
|
||||
FSMStateAction::Terminal,
|
||||
)));
|
||||
let z3 = Rc::new(RefCell::new(FSMState::new(
|
||||
"z3".to_string(),
|
||||
FSMStateAction::NONE,
|
||||
FSMStateAction::None,
|
||||
)));
|
||||
|
||||
let mut z0_transisions = FSMTranistion::new_from_mask(
|
||||
|
||||
18
src/configotron/fsm/run.rs
Normal file
@@ -0,0 +1,18 @@
|
||||
use std::{cell::RefCell, rc::{Rc, Weak}};
|
||||
|
||||
use crate::configotron::fsm::{FSMState, FSMStateAction, FSM};
|
||||
|
||||
pub fn run_fsm(input: &str, fsm: &FSM) -> FSMStateAction {
|
||||
let mut state: Weak<RefCell<FSMState>> = Rc::downgrade(fsm.start.as_ref().unwrap());
|
||||
|
||||
for c in input.chars() {
|
||||
let n = c as u8;
|
||||
if c.is_ascii() && n <= 0x7F {
|
||||
let rc_state = state.upgrade().unwrap();
|
||||
let s = rc_state.borrow();
|
||||
state = s.transition.as_ref().unwrap().get_next(n);
|
||||
}
|
||||
};
|
||||
|
||||
state.upgrade().unwrap().borrow().action.clone()
|
||||
}
|
||||
@@ -24,6 +24,10 @@ impl FSMTranistion {
|
||||
FSMTranistion { array }
|
||||
}
|
||||
|
||||
pub fn get_next(&self, c: u8) -> StateRef {
|
||||
self.array[c as usize].clone()
|
||||
}
|
||||
|
||||
pub fn new(default: StateRef) -> Self {
|
||||
let array: [StateRef; 128] = std::array::from_fn(|_| Weak::clone(&default));
|
||||
|
||||
|
||||
61
tests/ref/build_number_upper_bound_0.svg
Normal file
@@ -0,0 +1,61 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
|
||||
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<!-- Generated by graphviz version 2.43.0 (0)
|
||||
-->
|
||||
<!-- Title: root Pages: 1 -->
|
||||
<svg width="304pt" height="110pt"
|
||||
viewBox="0.00 0.00 304.20 110.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 106)">
|
||||
<title>root</title>
|
||||
<polygon fill="white" stroke="transparent" points="-4,4 -4,-106 300.2,-106 300.2,4 -4,4"/>
|
||||
<!-- e -->
|
||||
<g id="node1" class="node">
|
||||
<title>e</title>
|
||||
<ellipse fill="none" stroke="black" cx="277.7" cy="-51" rx="18" ry="18"/>
|
||||
<text text-anchor="middle" x="277.7" y="-47.3" font-family="Times,serif" font-size="14.00">e</text>
|
||||
</g>
|
||||
<!-- e->e -->
|
||||
<g id="edge1" class="edge">
|
||||
<title>e->e</title>
|
||||
<path fill="none" stroke="black" d="M268.46,-66.54C265.86,-76.91 268.94,-87 277.7,-87 283.44,-87 286.74,-82.65 287.6,-76.74"/>
|
||||
<polygon fill="black" stroke="black" points="291.07,-76.29 286.93,-66.54 284.09,-76.75 291.07,-76.29"/>
|
||||
<text text-anchor="middle" x="277.7" y="-90.8" font-family="Times,serif" font-size="14.00">00-7f</text>
|
||||
</g>
|
||||
<!-- g -->
|
||||
<g id="node2" class="node">
|
||||
<title>g</title>
|
||||
<ellipse fill="none" stroke="black" cx="149.2" cy="-22" rx="18" ry="18"/>
|
||||
<ellipse fill="none" stroke="black" cx="149.2" cy="-22" rx="22" ry="22"/>
|
||||
<text text-anchor="middle" x="149.2" y="-18.3" font-family="Times,serif" font-size="14.00">g</text>
|
||||
</g>
|
||||
<!-- g->e -->
|
||||
<g id="edge2" class="edge">
|
||||
<title>g->e</title>
|
||||
<path fill="none" stroke="black" d="M170.8,-26.72C192.29,-31.65 226.08,-39.4 249.69,-44.81"/>
|
||||
<polygon fill="black" stroke="black" points="249.22,-48.29 259.75,-47.11 250.78,-41.47 249.22,-48.29"/>
|
||||
<text text-anchor="middle" x="223.2" y="-46.8" font-family="Times,serif" font-size="14.00">00-7f</text>
|
||||
</g>
|
||||
<!-- m0 -->
|
||||
<g id="node3" class="node">
|
||||
<title>m0</title>
|
||||
<ellipse fill="none" stroke="black" cx="29.35" cy="-51" rx="25.22" ry="25.22"/>
|
||||
<ellipse fill="none" stroke="black" cx="29.35" cy="-51" rx="29.2" ry="29.2"/>
|
||||
<text text-anchor="middle" x="29.35" y="-47.3" font-family="Times,serif" font-size="14.00">m0</text>
|
||||
</g>
|
||||
<!-- m0->e -->
|
||||
<g id="edge3" class="edge">
|
||||
<title>m0->e</title>
|
||||
<path fill="none" stroke="black" d="M58.2,-56.49C64.27,-57.5 70.68,-58.41 76.7,-59 149.69,-66.12 169.2,-73.12 241.7,-62 244.65,-61.55 247.69,-60.89 250.69,-60.12"/>
|
||||
<polygon fill="black" stroke="black" points="251.96,-63.4 260.56,-57.2 249.98,-56.68 251.96,-63.4"/>
|
||||
<text text-anchor="middle" x="149.2" y="-70.8" font-family="Times,serif" font-size="14.00">00-'/','1'-7f</text>
|
||||
</g>
|
||||
<!-- m0->g -->
|
||||
<g id="edge4" class="edge">
|
||||
<title>m0->g</title>
|
||||
<path fill="none" stroke="black" d="M57.98,-44.2C75.92,-39.79 99.31,-34.03 117.78,-29.48"/>
|
||||
<polygon fill="black" stroke="black" points="118.86,-32.82 127.74,-27.03 117.19,-26.03 118.86,-32.82"/>
|
||||
<text text-anchor="middle" x="85.2" y="-43.8" font-family="Times,serif" font-size="14.00">'0'</text>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 3.1 KiB |
229
tests/ref/build_number_upper_bound_1000.svg
Normal file
@@ -0,0 +1,229 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
|
||||
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<!-- Generated by graphviz version 2.43.0 (0)
|
||||
-->
|
||||
<!-- Title: root Pages: 1 -->
|
||||
<svg width="778pt" height="420pt"
|
||||
viewBox="0.00 0.00 777.59 420.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 416)">
|
||||
<title>root</title>
|
||||
<polygon fill="white" stroke="transparent" points="-4,4 -4,-416 773.59,-416 773.59,4 -4,4"/>
|
||||
<!-- e -->
|
||||
<g id="node1" class="node">
|
||||
<title>e</title>
|
||||
<ellipse fill="none" stroke="black" cx="751.09" cy="-193" rx="18" ry="18"/>
|
||||
<text text-anchor="middle" x="751.09" y="-189.3" font-family="Times,serif" font-size="14.00">e</text>
|
||||
</g>
|
||||
<!-- e->e -->
|
||||
<g id="edge1" class="edge">
|
||||
<title>e->e</title>
|
||||
<path fill="none" stroke="black" d="M741.85,-208.54C739.26,-218.91 742.33,-229 751.09,-229 756.83,-229 760.13,-224.65 760.99,-218.74"/>
|
||||
<polygon fill="black" stroke="black" points="764.47,-218.29 760.32,-208.54 757.48,-218.75 764.47,-218.29"/>
|
||||
<text text-anchor="middle" x="751.09" y="-232.8" font-family="Times,serif" font-size="14.00">00-7f</text>
|
||||
</g>
|
||||
<!-- g -->
|
||||
<g id="node2" class="node">
|
||||
<title>g</title>
|
||||
<ellipse fill="none" stroke="black" cx="622.59" cy="-296" rx="18" ry="18"/>
|
||||
<ellipse fill="none" stroke="black" cx="622.59" cy="-296" rx="22" ry="22"/>
|
||||
<text text-anchor="middle" x="622.59" y="-292.3" font-family="Times,serif" font-size="14.00">g</text>
|
||||
</g>
|
||||
<!-- g->e -->
|
||||
<g id="edge2" class="edge">
|
||||
<title>g->e</title>
|
||||
<path fill="none" stroke="black" d="M644.35,-292.23C664.49,-287.64 694.9,-278.14 715.09,-260 727.18,-249.13 735.77,-233.08 741.41,-219.42"/>
|
||||
<polygon fill="black" stroke="black" points="744.71,-220.59 745,-210 738.17,-218.09 744.71,-220.59"/>
|
||||
<text text-anchor="middle" x="696.59" y="-284.8" font-family="Times,serif" font-size="14.00">00-7f</text>
|
||||
</g>
|
||||
<!-- m0 -->
|
||||
<g id="node3" class="node">
|
||||
<title>m0</title>
|
||||
<ellipse fill="none" stroke="black" cx="29.35" cy="-98" rx="25.22" ry="25.22"/>
|
||||
<ellipse fill="none" stroke="black" cx="29.35" cy="-98" rx="29.2" ry="29.2"/>
|
||||
<text text-anchor="middle" x="29.35" y="-94.3" font-family="Times,serif" font-size="14.00">m0</text>
|
||||
</g>
|
||||
<!-- m0->e -->
|
||||
<g id="edge4" class="edge">
|
||||
<title>m0->e</title>
|
||||
<path fill="none" stroke="black" d="M44.31,-72.51C62.3,-43.47 96.5,0 140.04,0 140.04,0 140.04,0 623.59,0 673.73,0 686.47,-24.83 715.09,-66 735.83,-95.84 744.31,-137.57 747.75,-164.93"/>
|
||||
<polygon fill="black" stroke="black" points="744.29,-165.45 748.88,-175 751.25,-164.68 744.29,-165.45"/>
|
||||
<text text-anchor="middle" x="356.09" y="-3.8" font-family="Times,serif" font-size="14.00">00-'/',':'-7f</text>
|
||||
</g>
|
||||
<!-- s1 -->
|
||||
<g id="node4" class="node">
|
||||
<title>s1</title>
|
||||
<ellipse fill="none" stroke="black" cx="273.74" cy="-107" rx="21.4" ry="21.4"/>
|
||||
<ellipse fill="none" stroke="black" cx="273.74" cy="-107" rx="25.4" ry="25.4"/>
|
||||
<text text-anchor="middle" x="273.74" y="-103.3" font-family="Times,serif" font-size="14.00">s1</text>
|
||||
</g>
|
||||
<!-- m0->s1 -->
|
||||
<g id="edge3" class="edge">
|
||||
<title>m0->s1</title>
|
||||
<path fill="none" stroke="black" d="M59.11,-99.07C103.76,-100.73 189.63,-103.91 237.79,-105.7"/>
|
||||
<polygon fill="black" stroke="black" points="237.91,-109.21 248.03,-106.08 238.17,-102.21 237.91,-109.21"/>
|
||||
<text text-anchor="middle" x="141.04" y="-106.8" font-family="Times,serif" font-size="14.00">'2'-'9'</text>
|
||||
</g>
|
||||
<!-- s0 -->
|
||||
<g id="node5" class="node">
|
||||
<title>s0</title>
|
||||
<ellipse fill="none" stroke="black" cx="141.04" cy="-53" rx="21.4" ry="21.4"/>
|
||||
<ellipse fill="none" stroke="black" cx="141.04" cy="-53" rx="25.4" ry="25.4"/>
|
||||
<text text-anchor="middle" x="141.04" y="-49.3" font-family="Times,serif" font-size="14.00">s0</text>
|
||||
</g>
|
||||
<!-- m0->s0 -->
|
||||
<g id="edge5" class="edge">
|
||||
<title>m0->s0</title>
|
||||
<path fill="none" stroke="black" d="M56.9,-87.11C72.13,-80.86 91.36,-72.97 107.5,-66.35"/>
|
||||
<polygon fill="black" stroke="black" points="109.15,-69.45 117.08,-62.42 106.5,-62.98 109.15,-69.45"/>
|
||||
<text text-anchor="middle" x="85.2" y="-81.8" font-family="Times,serif" font-size="14.00">'0'</text>
|
||||
</g>
|
||||
<!-- m1 -->
|
||||
<g id="node6" class="node">
|
||||
<title>m1</title>
|
||||
<ellipse fill="none" stroke="black" cx="141.04" cy="-203" rx="25.22" ry="25.22"/>
|
||||
<ellipse fill="none" stroke="black" cx="141.04" cy="-203" rx="29.2" ry="29.2"/>
|
||||
<text text-anchor="middle" x="141.04" y="-199.3" font-family="Times,serif" font-size="14.00">m1</text>
|
||||
</g>
|
||||
<!-- m0->m1 -->
|
||||
<g id="edge6" class="edge">
|
||||
<title>m0->m1</title>
|
||||
<path fill="none" stroke="black" d="M51.24,-118C68.39,-134.42 92.86,-157.83 111.76,-175.93"/>
|
||||
<polygon fill="black" stroke="black" points="109.59,-178.69 119.23,-183.08 114.43,-173.63 109.59,-178.69"/>
|
||||
<text text-anchor="middle" x="85.2" y="-159.8" font-family="Times,serif" font-size="14.00">'1'</text>
|
||||
</g>
|
||||
<!-- s1->e -->
|
||||
<g id="edge18" class="edge">
|
||||
<title>s1->e</title>
|
||||
<path fill="none" stroke="black" d="M299.52,-105.41C361.38,-102.09 527.15,-97.16 660.09,-129 684.97,-134.96 694.19,-131.23 715.09,-146 723.51,-151.95 730.74,-160.56 736.42,-168.78"/>
|
||||
<polygon fill="black" stroke="black" points="733.6,-170.88 741.94,-177.41 739.5,-167.1 733.6,-170.88"/>
|
||||
<text text-anchor="middle" x="532.09" y="-115.8" font-family="Times,serif" font-size="14.00">00-'/',':'-7f</text>
|
||||
</g>
|
||||
<!-- s2 -->
|
||||
<g id="node8" class="node">
|
||||
<title>s2</title>
|
||||
<ellipse fill="none" stroke="black" cx="444.09" cy="-142" rx="21.4" ry="21.4"/>
|
||||
<ellipse fill="none" stroke="black" cx="444.09" cy="-142" rx="25.4" ry="25.4"/>
|
||||
<text text-anchor="middle" x="444.09" y="-138.3" font-family="Times,serif" font-size="14.00">s2</text>
|
||||
</g>
|
||||
<!-- s1->s2 -->
|
||||
<g id="edge17" class="edge">
|
||||
<title>s1->s2</title>
|
||||
<path fill="none" stroke="black" d="M298.86,-112.01C327.74,-118.02 376.29,-128.11 408.99,-134.91"/>
|
||||
<polygon fill="black" stroke="black" points="408.51,-138.39 419.01,-136.99 409.93,-131.53 408.51,-138.39"/>
|
||||
<text text-anchor="middle" x="356.09" y="-133.8" font-family="Times,serif" font-size="14.00">'0'-'9'</text>
|
||||
</g>
|
||||
<!-- s0->e -->
|
||||
<g id="edge15" class="edge">
|
||||
<title>s0->e</title>
|
||||
<path fill="none" stroke="black" d="M166.59,-50.9C192.84,-48.84 235.7,-46 272.74,-46 272.74,-46 272.74,-46 623.59,-46 686.55,-46 725.03,-124.44 741.19,-166.72"/>
|
||||
<polygon fill="black" stroke="black" points="737.92,-167.96 744.65,-176.14 744.49,-165.54 737.92,-167.96"/>
|
||||
<text text-anchor="middle" x="444.09" y="-49.8" font-family="Times,serif" font-size="14.00">00-'/',':'-7f</text>
|
||||
</g>
|
||||
<!-- s0->s1 -->
|
||||
<g id="edge16" class="edge">
|
||||
<title>s0->s1</title>
|
||||
<path fill="none" stroke="black" d="M165.15,-61.2C182.22,-67.39 205.93,-76.28 226.39,-85 231.18,-87.04 236.21,-89.3 241.1,-91.57"/>
|
||||
<polygon fill="black" stroke="black" points="239.74,-94.79 250.27,-95.89 242.72,-88.46 239.74,-94.79"/>
|
||||
<text text-anchor="middle" x="207.39" y="-88.8" font-family="Times,serif" font-size="14.00">'0'-'9'</text>
|
||||
</g>
|
||||
<!-- m1->e -->
|
||||
<g id="edge9" class="edge">
|
||||
<title>m1->e</title>
|
||||
<path fill="none" stroke="black" d="M147.56,-232.04C159.7,-286.16 194.16,-397 272.74,-397 272.74,-397 272.74,-397 623.59,-397 675.33,-397 686.66,-368.24 715.09,-325 735.99,-293.21 744.44,-249.39 747.84,-221.13"/>
|
||||
<polygon fill="black" stroke="black" points="751.32,-221.43 748.91,-211.12 744.36,-220.69 751.32,-221.43"/>
|
||||
<text text-anchor="middle" x="444.09" y="-400.8" font-family="Times,serif" font-size="14.00">00-'/',':'-7f</text>
|
||||
</g>
|
||||
<!-- m2 -->
|
||||
<g id="node7" class="node">
|
||||
<title>m2</title>
|
||||
<ellipse fill="none" stroke="black" cx="273.74" cy="-243" rx="25.22" ry="25.22"/>
|
||||
<ellipse fill="none" stroke="black" cx="273.74" cy="-243" rx="29.2" ry="29.2"/>
|
||||
<text text-anchor="middle" x="273.74" y="-239.3" font-family="Times,serif" font-size="14.00">m2</text>
|
||||
</g>
|
||||
<!-- m1->m2 -->
|
||||
<g id="edge7" class="edge">
|
||||
<title>m1->m2</title>
|
||||
<path fill="none" stroke="black" d="M169.44,-211.39C188.7,-217.28 214.68,-225.23 235.77,-231.69"/>
|
||||
<polygon fill="black" stroke="black" points="234.79,-235.05 245.38,-234.63 236.84,-228.35 234.79,-235.05"/>
|
||||
<text text-anchor="middle" x="207.39" y="-230.8" font-family="Times,serif" font-size="14.00">'0'</text>
|
||||
</g>
|
||||
<!-- m1->s2 -->
|
||||
<g id="edge8" class="edge">
|
||||
<title>m1->s2</title>
|
||||
<path fill="none" stroke="black" d="M170.09,-197.32C225.45,-186.1 348.57,-161.15 408.7,-148.97"/>
|
||||
<polygon fill="black" stroke="black" points="409.72,-152.33 418.82,-146.92 408.33,-145.47 409.72,-152.33"/>
|
||||
<text text-anchor="middle" x="273.74" y="-184.8" font-family="Times,serif" font-size="14.00">'1'-'9'</text>
|
||||
</g>
|
||||
<!-- m2->e -->
|
||||
<g id="edge10" class="edge">
|
||||
<title>m2->e</title>
|
||||
<path fill="none" stroke="black" d="M303.47,-244C367.8,-245.75 528.08,-247.47 660.09,-227 685.12,-223.12 691.57,-221.44 715.09,-212 718.7,-210.55 722.42,-208.82 726.02,-207"/>
|
||||
<polygon fill="black" stroke="black" points="727.97,-209.92 735.12,-202.11 724.66,-203.76 727.97,-209.92"/>
|
||||
<text text-anchor="middle" x="532.09" y="-245.8" font-family="Times,serif" font-size="14.00">00-'/',':'-7f</text>
|
||||
</g>
|
||||
<!-- s3 -->
|
||||
<g id="node9" class="node">
|
||||
<title>s3</title>
|
||||
<ellipse fill="none" stroke="black" cx="622.59" cy="-193" rx="21.4" ry="21.4"/>
|
||||
<ellipse fill="none" stroke="black" cx="622.59" cy="-193" rx="25.4" ry="25.4"/>
|
||||
<text text-anchor="middle" x="622.59" y="-189.3" font-family="Times,serif" font-size="14.00">s3</text>
|
||||
</g>
|
||||
<!-- m2->s3 -->
|
||||
<g id="edge11" class="edge">
|
||||
<title>m2->s3</title>
|
||||
<path fill="none" stroke="black" d="M302.61,-236.08C308.69,-234.66 315.09,-233.22 321.09,-232 416.25,-212.62 530.42,-200.91 586.71,-195.89"/>
|
||||
<polygon fill="black" stroke="black" points="587.19,-199.36 596.85,-195 586.58,-192.38 587.19,-199.36"/>
|
||||
<text text-anchor="middle" x="444.09" y="-219.8" font-family="Times,serif" font-size="14.00">'1'-'9'</text>
|
||||
</g>
|
||||
<!-- m3 -->
|
||||
<g id="node10" class="node">
|
||||
<title>m3</title>
|
||||
<ellipse fill="none" stroke="black" cx="444.09" cy="-303" rx="25.22" ry="25.22"/>
|
||||
<ellipse fill="none" stroke="black" cx="444.09" cy="-303" rx="29.2" ry="29.2"/>
|
||||
<text text-anchor="middle" x="444.09" y="-299.3" font-family="Times,serif" font-size="14.00">m3</text>
|
||||
</g>
|
||||
<!-- m2->m3 -->
|
||||
<g id="edge12" class="edge">
|
||||
<title>m2->m3</title>
|
||||
<path fill="none" stroke="black" d="M301.68,-252.95C308.04,-255.28 314.8,-257.74 321.09,-260 349.69,-270.29 382.15,-281.72 406.4,-290.2"/>
|
||||
<polygon fill="black" stroke="black" points="405.32,-293.54 415.92,-293.53 407.63,-286.93 405.32,-293.54"/>
|
||||
<text text-anchor="middle" x="356.09" y="-287.8" font-family="Times,serif" font-size="14.00">'0'</text>
|
||||
</g>
|
||||
<!-- s2->e -->
|
||||
<g id="edge20" class="edge">
|
||||
<title>s2->e</title>
|
||||
<path fill="none" stroke="black" d="M469.45,-138.45C509.84,-133.41 592.88,-126.56 660.09,-144 684.87,-150.43 710.23,-165.12 727.69,-176.74"/>
|
||||
<polygon fill="black" stroke="black" points="725.83,-179.71 736.05,-182.49 729.79,-173.94 725.83,-179.71"/>
|
||||
<text text-anchor="middle" x="622.59" y="-147.8" font-family="Times,serif" font-size="14.00">00-'/',':'-7f</text>
|
||||
</g>
|
||||
<!-- s2->s3 -->
|
||||
<g id="edge19" class="edge">
|
||||
<title>s2->s3</title>
|
||||
<path fill="none" stroke="black" d="M469.09,-147.7C493.81,-153.71 533.37,-163.72 567.09,-174 574.2,-176.17 581.78,-178.68 588.94,-181.15"/>
|
||||
<polygon fill="black" stroke="black" points="587.79,-184.45 598.38,-184.46 590.1,-177.85 587.79,-184.45"/>
|
||||
<text text-anchor="middle" x="532.09" y="-177.8" font-family="Times,serif" font-size="14.00">'0'-'9'</text>
|
||||
</g>
|
||||
<!-- s3->e -->
|
||||
<g id="edge21" class="edge">
|
||||
<title>s3->e</title>
|
||||
<path fill="none" stroke="black" d="M648.28,-193C669.66,-193 700.54,-193 722.68,-193"/>
|
||||
<polygon fill="black" stroke="black" points="722.77,-196.5 732.77,-193 722.77,-189.5 722.77,-196.5"/>
|
||||
<text text-anchor="middle" x="696.59" y="-196.8" font-family="Times,serif" font-size="14.00">00-7f</text>
|
||||
</g>
|
||||
<!-- m3->e -->
|
||||
<g id="edge14" class="edge">
|
||||
<title>m3->e</title>
|
||||
<path fill="none" stroke="black" d="M472.07,-312.47C480.04,-314.95 488.84,-317.37 497.09,-319 568.25,-333.02 589.43,-343.41 660.09,-327 686.61,-320.84 697.23,-320.56 715.09,-300 734.43,-277.74 743.13,-244.55 747.01,-221.04"/>
|
||||
<polygon fill="black" stroke="black" points="750.5,-221.4 748.48,-211 743.57,-220.39 750.5,-221.4"/>
|
||||
<text text-anchor="middle" x="622.59" y="-338.8" font-family="Times,serif" font-size="14.00">00-'/','1'-7f</text>
|
||||
</g>
|
||||
<!-- m3->g -->
|
||||
<g id="edge13" class="edge">
|
||||
<title>m3->g</title>
|
||||
<path fill="none" stroke="black" d="M473.44,-301.88C505.45,-300.61 557.36,-298.55 590.46,-297.23"/>
|
||||
<polygon fill="black" stroke="black" points="590.65,-300.73 600.5,-296.84 590.37,-293.74 590.65,-300.73"/>
|
||||
<text text-anchor="middle" x="532.09" y="-303.8" font-family="Times,serif" font-size="14.00">'0'</text>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 13 KiB |
187
tests/ref/build_number_upper_bound_124.svg
Normal file
@@ -0,0 +1,187 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
|
||||
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<!-- Generated by graphviz version 2.43.0 (0)
|
||||
-->
|
||||
<!-- Title: root Pages: 1 -->
|
||||
<svg width="613pt" height="348pt"
|
||||
viewBox="0.00 0.00 612.89 348.45" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 344.45)">
|
||||
<title>root</title>
|
||||
<polygon fill="white" stroke="transparent" points="-4,4 -4,-344.45 608.89,-344.45 608.89,4 -4,4"/>
|
||||
<!-- e -->
|
||||
<g id="node1" class="node">
|
||||
<title>e</title>
|
||||
<ellipse fill="none" stroke="black" cx="586.39" cy="-178.45" rx="18" ry="18"/>
|
||||
<text text-anchor="middle" x="586.39" y="-174.75" font-family="Times,serif" font-size="14.00">e</text>
|
||||
</g>
|
||||
<!-- e->e -->
|
||||
<g id="edge1" class="edge">
|
||||
<title>e->e</title>
|
||||
<path fill="none" stroke="black" d="M577.16,-193.99C574.56,-204.36 577.64,-214.45 586.39,-214.45 592.14,-214.45 595.44,-210.1 596.29,-204.18"/>
|
||||
<polygon fill="black" stroke="black" points="599.77,-203.74 595.62,-193.99 592.78,-204.2 599.77,-203.74"/>
|
||||
<text text-anchor="middle" x="586.39" y="-218.25" font-family="Times,serif" font-size="14.00">00-7f</text>
|
||||
</g>
|
||||
<!-- g -->
|
||||
<g id="node2" class="node">
|
||||
<title>g</title>
|
||||
<ellipse fill="none" stroke="black" cx="457.89" cy="-178.45" rx="18" ry="18"/>
|
||||
<ellipse fill="none" stroke="black" cx="457.89" cy="-178.45" rx="22" ry="22"/>
|
||||
<text text-anchor="middle" x="457.89" y="-174.75" font-family="Times,serif" font-size="14.00">g</text>
|
||||
</g>
|
||||
<!-- g->e -->
|
||||
<g id="edge2" class="edge">
|
||||
<title>g->e</title>
|
||||
<path fill="none" stroke="black" d="M480.06,-178.45C501.44,-178.45 534.54,-178.45 557.92,-178.45"/>
|
||||
<polygon fill="black" stroke="black" points="558.22,-181.95 568.22,-178.45 558.22,-174.95 558.22,-181.95"/>
|
||||
<text text-anchor="middle" x="531.89" y="-182.25" font-family="Times,serif" font-size="14.00">00-7f</text>
|
||||
</g>
|
||||
<!-- m0 -->
|
||||
<g id="node3" class="node">
|
||||
<title>m0</title>
|
||||
<ellipse fill="none" stroke="black" cx="29.35" cy="-117.45" rx="25.22" ry="25.22"/>
|
||||
<ellipse fill="none" stroke="black" cx="29.35" cy="-117.45" rx="29.2" ry="29.2"/>
|
||||
<text text-anchor="middle" x="29.35" y="-113.75" font-family="Times,serif" font-size="14.00">m0</text>
|
||||
</g>
|
||||
<!-- m0->e -->
|
||||
<g id="edge6" class="edge">
|
||||
<title>m0->e</title>
|
||||
<path fill="none" stroke="black" d="M32.46,-146.81C38.35,-204.14 60.23,-325.45 140.04,-325.45 140.04,-325.45 140.04,-325.45 458.89,-325.45 521.86,-325.45 560.33,-247 576.5,-204.72"/>
|
||||
<polygon fill="black" stroke="black" points="579.79,-205.9 579.96,-195.31 573.22,-203.49 579.79,-205.9"/>
|
||||
<text text-anchor="middle" x="279.39" y="-329.25" font-family="Times,serif" font-size="14.00">00-'/',':'-7f</text>
|
||||
</g>
|
||||
<!-- m1 -->
|
||||
<g id="node4" class="node">
|
||||
<title>m1</title>
|
||||
<ellipse fill="none" stroke="black" cx="141.04" cy="-149.45" rx="25.22" ry="25.22"/>
|
||||
<ellipse fill="none" stroke="black" cx="141.04" cy="-149.45" rx="29.2" ry="29.2"/>
|
||||
<text text-anchor="middle" x="141.04" y="-145.75" font-family="Times,serif" font-size="14.00">m1</text>
|
||||
</g>
|
||||
<!-- m0->m1 -->
|
||||
<g id="edge3" class="edge">
|
||||
<title>m0->m1</title>
|
||||
<path fill="none" stroke="black" d="M57.75,-125.44C71.36,-129.41 88.01,-134.27 102.76,-138.57"/>
|
||||
<polygon fill="black" stroke="black" points="102.03,-142.01 112.61,-141.45 103.99,-135.29 102.03,-142.01"/>
|
||||
<text text-anchor="middle" x="85.2" y="-138.25" font-family="Times,serif" font-size="14.00">'1'</text>
|
||||
</g>
|
||||
<!-- s0 -->
|
||||
<g id="node5" class="node">
|
||||
<title>s0</title>
|
||||
<ellipse fill="none" stroke="black" cx="141.04" cy="-25.45" rx="21.4" ry="21.4"/>
|
||||
<ellipse fill="none" stroke="black" cx="141.04" cy="-25.45" rx="25.4" ry="25.4"/>
|
||||
<text text-anchor="middle" x="141.04" y="-21.75" font-family="Times,serif" font-size="14.00">s0</text>
|
||||
</g>
|
||||
<!-- m0->s0 -->
|
||||
<g id="edge4" class="edge">
|
||||
<title>m0->s0</title>
|
||||
<path fill="none" stroke="black" d="M45.59,-92.86C53.76,-81.09 64.62,-67.42 76.7,-57.45 85.86,-49.88 97.11,-43.47 107.58,-38.42"/>
|
||||
<polygon fill="black" stroke="black" points="109.24,-41.51 116.89,-34.17 106.34,-35.14 109.24,-41.51"/>
|
||||
<text text-anchor="middle" x="85.2" y="-61.25" font-family="Times,serif" font-size="14.00">'0'</text>
|
||||
</g>
|
||||
<!-- s1 -->
|
||||
<g id="node6" class="node">
|
||||
<title>s1</title>
|
||||
<ellipse fill="none" stroke="black" cx="279.39" cy="-86.45" rx="21.4" ry="21.4"/>
|
||||
<ellipse fill="none" stroke="black" cx="279.39" cy="-86.45" rx="25.4" ry="25.4"/>
|
||||
<text text-anchor="middle" x="279.39" y="-82.75" font-family="Times,serif" font-size="14.00">s1</text>
|
||||
</g>
|
||||
<!-- m0->s1 -->
|
||||
<g id="edge5" class="edge">
|
||||
<title>m0->s1</title>
|
||||
<path fill="none" stroke="black" d="M57.56,-109.02C73.23,-104.52 93.4,-99.33 111.7,-96.45 156.92,-89.32 209.78,-87.18 243.64,-86.59"/>
|
||||
<polygon fill="black" stroke="black" points="243.99,-90.08 253.94,-86.45 243.89,-83.09 243.99,-90.08"/>
|
||||
<text text-anchor="middle" x="141.04" y="-100.25" font-family="Times,serif" font-size="14.00">'2'-'9'</text>
|
||||
</g>
|
||||
<!-- m1->e -->
|
||||
<g id="edge9" class="edge">
|
||||
<title>m1->e</title>
|
||||
<path fill="none" stroke="black" d="M157.63,-174.13C175.15,-199.14 206.2,-236 244.39,-249.45 281.94,-262.67 414.69,-258.63 495.39,-239.45 521.34,-233.28 528.57,-230.78 550.39,-215.45 556.52,-211.15 562.42,-205.64 567.57,-200.2"/>
|
||||
<polygon fill="black" stroke="black" points="570.47,-202.21 574.53,-192.43 565.26,-197.54 570.47,-202.21"/>
|
||||
<text text-anchor="middle" x="367.39" y="-260.25" font-family="Times,serif" font-size="14.00">00-'/',':'-7f</text>
|
||||
</g>
|
||||
<!-- m1->s1 -->
|
||||
<g id="edge7" class="edge">
|
||||
<title>m1->s1</title>
|
||||
<path fill="none" stroke="black" d="M166.06,-133.16C173.09,-128.74 180.91,-124.16 188.39,-120.45 206.66,-111.4 227.96,-103.25 245.26,-97.2"/>
|
||||
<polygon fill="black" stroke="black" points="246.6,-100.44 254.92,-93.89 244.33,-93.82 246.6,-100.44"/>
|
||||
<text text-anchor="middle" x="207.39" y="-124.25" font-family="Times,serif" font-size="14.00">'0'-'1'</text>
|
||||
</g>
|
||||
<!-- s2 -->
|
||||
<g id="node7" class="node">
|
||||
<title>s2</title>
|
||||
<ellipse fill="none" stroke="black" cx="457.89" cy="-113.45" rx="21.4" ry="21.4"/>
|
||||
<ellipse fill="none" stroke="black" cx="457.89" cy="-113.45" rx="25.4" ry="25.4"/>
|
||||
<text text-anchor="middle" x="457.89" y="-109.75" font-family="Times,serif" font-size="14.00">s2</text>
|
||||
</g>
|
||||
<!-- m1->s2 -->
|
||||
<g id="edge8" class="edge">
|
||||
<title>m1->s2</title>
|
||||
<path fill="none" stroke="black" d="M170.64,-147.36C218.67,-143.69 318.51,-135.31 402.39,-123.45 408.95,-122.52 415.93,-121.37 422.63,-120.18"/>
|
||||
<polygon fill="black" stroke="black" points="423.61,-123.56 432.81,-118.3 422.35,-116.67 423.61,-123.56"/>
|
||||
<text text-anchor="middle" x="279.39" y="-144.25" font-family="Times,serif" font-size="14.00">'3'-'9'</text>
|
||||
</g>
|
||||
<!-- m2 -->
|
||||
<g id="node8" class="node">
|
||||
<title>m2</title>
|
||||
<ellipse fill="none" stroke="black" cx="279.39" cy="-211.45" rx="25.22" ry="25.22"/>
|
||||
<ellipse fill="none" stroke="black" cx="279.39" cy="-211.45" rx="29.2" ry="29.2"/>
|
||||
<text text-anchor="middle" x="279.39" y="-207.75" font-family="Times,serif" font-size="14.00">m2</text>
|
||||
</g>
|
||||
<!-- m1->m2 -->
|
||||
<g id="edge10" class="edge">
|
||||
<title>m1->m2</title>
|
||||
<path fill="none" stroke="black" d="M168.01,-161.26C189.2,-170.89 219.35,-184.6 242.79,-195.26"/>
|
||||
<polygon fill="black" stroke="black" points="241.5,-198.52 252.06,-199.47 244.4,-192.15 241.5,-198.52"/>
|
||||
<text text-anchor="middle" x="207.39" y="-189.25" font-family="Times,serif" font-size="14.00">'2'</text>
|
||||
</g>
|
||||
<!-- s0->e -->
|
||||
<g id="edge13" class="edge">
|
||||
<title>s0->e</title>
|
||||
<path fill="none" stroke="black" d="M166.7,-23C225.22,-18.01 376.47,-9.93 495.39,-45.45 521.3,-53.19 532.51,-51.17 550.39,-71.45 569.9,-93.57 578.57,-126.79 582.4,-150.33"/>
|
||||
<polygon fill="black" stroke="black" points="578.96,-151 583.84,-160.4 585.89,-150 578.96,-151"/>
|
||||
<text text-anchor="middle" x="367.39" y="-29.25" font-family="Times,serif" font-size="14.00">00-'/',':'-7f</text>
|
||||
</g>
|
||||
<!-- s0->s1 -->
|
||||
<g id="edge14" class="edge">
|
||||
<title>s0->s1</title>
|
||||
<path fill="none" stroke="black" d="M165.33,-33.25C182.48,-39.24 206.23,-48.06 226.39,-57.45 233.54,-60.78 241.05,-64.7 248.07,-68.56"/>
|
||||
<polygon fill="black" stroke="black" points="246.82,-71.88 257.25,-73.74 250.26,-65.78 246.82,-71.88"/>
|
||||
<text text-anchor="middle" x="207.39" y="-61.25" font-family="Times,serif" font-size="14.00">'0'-'9'</text>
|
||||
</g>
|
||||
<!-- s1->e -->
|
||||
<g id="edge16" class="edge">
|
||||
<title>s1->e</title>
|
||||
<path fill="none" stroke="black" d="M303.1,-76.62C343.88,-60.54 431.24,-33.36 495.39,-64.45 533.15,-82.74 559.84,-125.41 573.91,-153.04"/>
|
||||
<polygon fill="black" stroke="black" points="570.81,-154.68 578.35,-162.13 577.1,-151.61 570.81,-154.68"/>
|
||||
<text text-anchor="middle" x="457.89" y="-68.25" font-family="Times,serif" font-size="14.00">00-'/',':'-7f</text>
|
||||
</g>
|
||||
<!-- s1->s2 -->
|
||||
<g id="edge15" class="edge">
|
||||
<title>s1->s2</title>
|
||||
<path fill="none" stroke="black" d="M304.93,-90.2C335.49,-94.88 387.88,-102.89 422.45,-108.18"/>
|
||||
<polygon fill="black" stroke="black" points="422.14,-111.67 432.56,-109.73 423.2,-104.75 422.14,-111.67"/>
|
||||
<text text-anchor="middle" x="367.39" y="-108.25" font-family="Times,serif" font-size="14.00">'0'-'9'</text>
|
||||
</g>
|
||||
<!-- s2->e -->
|
||||
<g id="edge17" class="edge">
|
||||
<title>s2->e</title>
|
||||
<path fill="none" stroke="black" d="M481.18,-124.41C499.77,-133.61 526.91,-147.18 550.39,-159.45 553.84,-161.25 557.47,-163.18 561.03,-165.09"/>
|
||||
<polygon fill="black" stroke="black" points="559.65,-168.33 570.11,-170.02 562.99,-162.18 559.65,-168.33"/>
|
||||
<text text-anchor="middle" x="531.89" y="-163.25" font-family="Times,serif" font-size="14.00">00-7f</text>
|
||||
</g>
|
||||
<!-- m2->e -->
|
||||
<g id="edge11" class="edge">
|
||||
<title>m2->e</title>
|
||||
<path fill="none" stroke="black" d="M308.34,-217.19C316.1,-218.54 324.54,-219.77 332.39,-220.45 404.73,-226.66 423.78,-221.47 495.39,-209.45 520.07,-205.31 526.94,-206.17 550.39,-197.45 554.22,-196.02 558.14,-194.25 561.92,-192.35"/>
|
||||
<polygon fill="black" stroke="black" points="563.7,-195.37 570.84,-187.55 560.38,-189.21 563.7,-195.37"/>
|
||||
<text text-anchor="middle" x="457.89" y="-224.25" font-family="Times,serif" font-size="14.00">00-'/','5'-7f</text>
|
||||
</g>
|
||||
<!-- m2->g -->
|
||||
<g id="edge12" class="edge">
|
||||
<title>m2->g</title>
|
||||
<path fill="none" stroke="black" d="M308.36,-206.22C340.46,-200.22 392.95,-190.4 426.17,-184.19"/>
|
||||
<polygon fill="black" stroke="black" points="427.04,-187.59 436.22,-182.31 425.75,-180.71 427.04,-187.59"/>
|
||||
<text text-anchor="middle" x="367.39" y="-205.25" font-family="Times,serif" font-size="14.00">'0'-'4'</text>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 11 KiB |
236
tests/ref/build_number_upper_bound_4026.svg
Normal file
@@ -0,0 +1,236 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
|
||||
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<!-- Generated by graphviz version 2.43.0 (0)
|
||||
-->
|
||||
<!-- Title: root Pages: 1 -->
|
||||
<svg width="799pt" height="424pt"
|
||||
viewBox="0.00 0.00 798.59 424.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 420)">
|
||||
<title>root</title>
|
||||
<polygon fill="white" stroke="transparent" points="-4,4 -4,-420 794.59,-420 794.59,4 -4,4"/>
|
||||
<!-- e -->
|
||||
<g id="node1" class="node">
|
||||
<title>e</title>
|
||||
<ellipse fill="none" stroke="black" cx="772.09" cy="-207" rx="18" ry="18"/>
|
||||
<text text-anchor="middle" x="772.09" y="-203.3" font-family="Times,serif" font-size="14.00">e</text>
|
||||
</g>
|
||||
<!-- e->e -->
|
||||
<g id="edge1" class="edge">
|
||||
<title>e->e</title>
|
||||
<path fill="none" stroke="black" d="M762.85,-222.54C760.26,-232.91 763.33,-243 772.09,-243 777.83,-243 781.13,-238.65 781.99,-232.74"/>
|
||||
<polygon fill="black" stroke="black" points="785.47,-232.29 781.32,-222.54 778.48,-232.75 785.47,-232.29"/>
|
||||
<text text-anchor="middle" x="772.09" y="-246.8" font-family="Times,serif" font-size="14.00">00-7f</text>
|
||||
</g>
|
||||
<!-- g -->
|
||||
<g id="node2" class="node">
|
||||
<title>g</title>
|
||||
<ellipse fill="none" stroke="black" cx="643.59" cy="-308" rx="18" ry="18"/>
|
||||
<ellipse fill="none" stroke="black" cx="643.59" cy="-308" rx="22" ry="22"/>
|
||||
<text text-anchor="middle" x="643.59" y="-304.3" font-family="Times,serif" font-size="14.00">g</text>
|
||||
</g>
|
||||
<!-- g->e -->
|
||||
<g id="edge2" class="edge">
|
||||
<title>g->e</title>
|
||||
<path fill="none" stroke="black" d="M665.17,-302.77C685.19,-296.83 715.5,-285.5 736.09,-267 746.46,-257.68 754.6,-244.54 760.41,-232.93"/>
|
||||
<polygon fill="black" stroke="black" points="763.68,-234.2 764.74,-223.66 757.34,-231.24 763.68,-234.2"/>
|
||||
<text text-anchor="middle" x="717.59" y="-293.8" font-family="Times,serif" font-size="14.00">00-7f</text>
|
||||
</g>
|
||||
<!-- m0 -->
|
||||
<g id="node3" class="node">
|
||||
<title>m0</title>
|
||||
<ellipse fill="none" stroke="black" cx="29.35" cy="-120" rx="25.22" ry="25.22"/>
|
||||
<ellipse fill="none" stroke="black" cx="29.35" cy="-120" rx="29.2" ry="29.2"/>
|
||||
<text text-anchor="middle" x="29.35" y="-116.3" font-family="Times,serif" font-size="14.00">m0</text>
|
||||
</g>
|
||||
<!-- m0->e -->
|
||||
<g id="edge3" class="edge">
|
||||
<title>m0->e</title>
|
||||
<path fill="none" stroke="black" d="M30.73,-149.54C33.37,-221.69 51.02,-401 161.04,-401 161.04,-401 161.04,-401 644.59,-401 694.99,-401 707.47,-375.49 736.09,-334 756.72,-304.08 765.23,-262.37 768.71,-235.04"/>
|
||||
<polygon fill="black" stroke="black" points="772.2,-235.3 769.84,-224.97 765.24,-234.52 772.2,-235.3"/>
|
||||
<text text-anchor="middle" x="377.09" y="-404.8" font-family="Times,serif" font-size="14.00">00-'/',':'-7f</text>
|
||||
</g>
|
||||
<!-- m1 -->
|
||||
<g id="node4" class="node">
|
||||
<title>m1</title>
|
||||
<ellipse fill="none" stroke="black" cx="162.04" cy="-157" rx="25.22" ry="25.22"/>
|
||||
<ellipse fill="none" stroke="black" cx="162.04" cy="-157" rx="29.2" ry="29.2"/>
|
||||
<text text-anchor="middle" x="162.04" y="-153.3" font-family="Times,serif" font-size="14.00">m1</text>
|
||||
</g>
|
||||
<!-- m0->m1 -->
|
||||
<g id="edge4" class="edge">
|
||||
<title>m0->m1</title>
|
||||
<path fill="none" stroke="black" d="M57.75,-127.76C76.91,-133.18 102.75,-140.5 123.79,-146.45"/>
|
||||
<polygon fill="black" stroke="black" points="123.11,-149.9 133.68,-149.25 125.01,-143.16 123.11,-149.9"/>
|
||||
<text text-anchor="middle" x="95.7" y="-145.8" font-family="Times,serif" font-size="14.00">'4'</text>
|
||||
</g>
|
||||
<!-- s1 -->
|
||||
<g id="node5" class="node">
|
||||
<title>s1</title>
|
||||
<ellipse fill="none" stroke="black" cx="294.74" cy="-53" rx="21.4" ry="21.4"/>
|
||||
<ellipse fill="none" stroke="black" cx="294.74" cy="-53" rx="25.4" ry="25.4"/>
|
||||
<text text-anchor="middle" x="294.74" y="-49.3" font-family="Times,serif" font-size="14.00">s1</text>
|
||||
</g>
|
||||
<!-- m0->s1 -->
|
||||
<g id="edge5" class="edge">
|
||||
<title>m0->s1</title>
|
||||
<path fill="none" stroke="black" d="M58.04,-112.96C106.7,-100.58 207.38,-74.97 260.02,-61.58"/>
|
||||
<polygon fill="black" stroke="black" points="261.04,-64.93 269.87,-59.07 259.32,-58.14 261.04,-64.93"/>
|
||||
<text text-anchor="middle" x="162.04" y="-96.8" font-family="Times,serif" font-size="14.00">'5'-'9'</text>
|
||||
</g>
|
||||
<!-- s0 -->
|
||||
<g id="node6" class="node">
|
||||
<title>s0</title>
|
||||
<ellipse fill="none" stroke="black" cx="162.04" cy="-28" rx="21.4" ry="21.4"/>
|
||||
<ellipse fill="none" stroke="black" cx="162.04" cy="-28" rx="25.4" ry="25.4"/>
|
||||
<text text-anchor="middle" x="162.04" y="-24.3" font-family="Times,serif" font-size="14.00">s0</text>
|
||||
</g>
|
||||
<!-- m0->s0 -->
|
||||
<g id="edge6" class="edge">
|
||||
<title>m0->s0</title>
|
||||
<path fill="none" stroke="black" d="M45.15,-94.85C53.21,-82.95 64.11,-69.33 76.7,-60 91.7,-48.88 111.03,-41.17 127.4,-36.12"/>
|
||||
<polygon fill="black" stroke="black" points="128.5,-39.44 137.14,-33.3 126.56,-32.72 128.5,-39.44"/>
|
||||
<text text-anchor="middle" x="95.7" y="-63.8" font-family="Times,serif" font-size="14.00">'0'-'3'</text>
|
||||
</g>
|
||||
<!-- m1->e -->
|
||||
<g id="edge8" class="edge">
|
||||
<title>m1->e</title>
|
||||
<path fill="none" stroke="black" d="M167.94,-185.8C179.23,-241.38 212.57,-358 293.74,-358 293.74,-358 293.74,-358 644.59,-358 654.04,-358 728.16,-318.39 736.09,-309 753.94,-287.85 762.84,-257.12 767.18,-234.92"/>
|
||||
<polygon fill="black" stroke="black" points="770.68,-235.25 768.96,-224.79 763.78,-234.03 770.68,-235.25"/>
|
||||
<text text-anchor="middle" x="465.09" y="-361.8" font-family="Times,serif" font-size="14.00">00-'/',':'-7f</text>
|
||||
</g>
|
||||
<!-- s2 -->
|
||||
<g id="node7" class="node">
|
||||
<title>s2</title>
|
||||
<ellipse fill="none" stroke="black" cx="465.09" cy="-103" rx="21.4" ry="21.4"/>
|
||||
<ellipse fill="none" stroke="black" cx="465.09" cy="-103" rx="25.4" ry="25.4"/>
|
||||
<text text-anchor="middle" x="465.09" y="-99.3" font-family="Times,serif" font-size="14.00">s2</text>
|
||||
</g>
|
||||
<!-- m1->s2 -->
|
||||
<g id="edge7" class="edge">
|
||||
<title>m1->s2</title>
|
||||
<path fill="none" stroke="black" d="M189.53,-146.41C209.94,-138.69 239.02,-128.63 265.39,-123 322.04,-110.9 389.37,-106.07 429.32,-104.18"/>
|
||||
<polygon fill="black" stroke="black" points="429.51,-107.68 439.35,-103.74 429.2,-100.68 429.51,-107.68"/>
|
||||
<text text-anchor="middle" x="294.74" y="-126.8" font-family="Times,serif" font-size="14.00">'1'-'9'</text>
|
||||
</g>
|
||||
<!-- m2 -->
|
||||
<g id="node8" class="node">
|
||||
<title>m2</title>
|
||||
<ellipse fill="none" stroke="black" cx="294.74" cy="-176" rx="25.22" ry="25.22"/>
|
||||
<ellipse fill="none" stroke="black" cx="294.74" cy="-176" rx="29.2" ry="29.2"/>
|
||||
<text text-anchor="middle" x="294.74" y="-172.3" font-family="Times,serif" font-size="14.00">m2</text>
|
||||
</g>
|
||||
<!-- m1->m2 -->
|
||||
<g id="edge9" class="edge">
|
||||
<title>m1->m2</title>
|
||||
<path fill="none" stroke="black" d="M191.4,-161.12C210.16,-163.85 234.97,-167.46 255.47,-170.44"/>
|
||||
<polygon fill="black" stroke="black" points="255.04,-173.91 265.44,-171.89 256.04,-166.98 255.04,-173.91"/>
|
||||
<text text-anchor="middle" x="228.39" y="-171.8" font-family="Times,serif" font-size="14.00">'0'</text>
|
||||
</g>
|
||||
<!-- s1->e -->
|
||||
<g id="edge18" class="edge">
|
||||
<title>s1->e</title>
|
||||
<path fill="none" stroke="black" d="M320.37,-51.21C382.56,-47.47 550.3,-42.37 681.09,-84 707.04,-92.26 717.89,-90.74 736.09,-111 753.23,-130.08 762.17,-158.22 766.71,-179.11"/>
|
||||
<polygon fill="black" stroke="black" points="763.29,-179.86 768.65,-189 770.16,-178.51 763.29,-179.86"/>
|
||||
<text text-anchor="middle" x="553.09" y="-65.8" font-family="Times,serif" font-size="14.00">00-'/',':'-7f</text>
|
||||
</g>
|
||||
<!-- s1->s2 -->
|
||||
<g id="edge19" class="edge">
|
||||
<title>s1->s2</title>
|
||||
<path fill="none" stroke="black" d="M319.99,-58.79C343.65,-64.59 380.59,-74.07 412.09,-84 418.4,-85.99 425.09,-88.29 431.48,-90.58"/>
|
||||
<polygon fill="black" stroke="black" points="430.61,-93.99 441.2,-94.13 433.01,-87.41 430.61,-93.99"/>
|
||||
<text text-anchor="middle" x="377.09" y="-87.8" font-family="Times,serif" font-size="14.00">'0'-'9'</text>
|
||||
</g>
|
||||
<!-- s0->e -->
|
||||
<g id="edge17" class="edge">
|
||||
<title>s0->e</title>
|
||||
<path fill="none" stroke="black" d="M186.33,-19.9C212.22,-11.63 255.45,0 293.74,0 293.74,0 293.74,0 644.59,0 727.48,0 757.68,-122.35 767.22,-178.92"/>
|
||||
<polygon fill="black" stroke="black" points="763.79,-179.66 768.82,-188.99 770.71,-178.57 763.79,-179.66"/>
|
||||
<text text-anchor="middle" x="465.09" y="-3.8" font-family="Times,serif" font-size="14.00">00-'/',':'-7f</text>
|
||||
</g>
|
||||
<!-- s0->s1 -->
|
||||
<g id="edge16" class="edge">
|
||||
<title>s0->s1</title>
|
||||
<path fill="none" stroke="black" d="M187.32,-32.64C207.68,-36.54 236.98,-42.14 259.68,-46.49"/>
|
||||
<polygon fill="black" stroke="black" points="259.11,-49.94 269.59,-48.38 260.43,-43.06 259.11,-49.94"/>
|
||||
<text text-anchor="middle" x="228.39" y="-46.8" font-family="Times,serif" font-size="14.00">'0'-'9'</text>
|
||||
</g>
|
||||
<!-- s2->e -->
|
||||
<g id="edge20" class="edge">
|
||||
<title>s2->e</title>
|
||||
<path fill="none" stroke="black" d="M490.17,-97.54C531.21,-89.43 616.55,-77.92 681.09,-105 716.42,-119.83 743.12,-156.84 757.94,-181.96"/>
|
||||
<polygon fill="black" stroke="black" points="755.05,-183.96 763.03,-190.93 761.14,-180.5 755.05,-183.96"/>
|
||||
<text text-anchor="middle" x="643.59" y="-108.8" font-family="Times,serif" font-size="14.00">00-'/',':'-7f</text>
|
||||
</g>
|
||||
<!-- s3 -->
|
||||
<g id="node9" class="node">
|
||||
<title>s3</title>
|
||||
<ellipse fill="none" stroke="black" cx="643.59" cy="-154" rx="21.4" ry="21.4"/>
|
||||
<ellipse fill="none" stroke="black" cx="643.59" cy="-154" rx="25.4" ry="25.4"/>
|
||||
<text text-anchor="middle" x="643.59" y="-150.3" font-family="Times,serif" font-size="14.00">s3</text>
|
||||
</g>
|
||||
<!-- s2->s3 -->
|
||||
<g id="edge21" class="edge">
|
||||
<title>s2->s3</title>
|
||||
<path fill="none" stroke="black" d="M490.09,-108.7C514.81,-114.71 554.37,-124.72 588.09,-135 595.2,-137.17 602.78,-139.68 609.94,-142.15"/>
|
||||
<polygon fill="black" stroke="black" points="608.79,-145.45 619.38,-145.46 611.1,-138.85 608.79,-145.45"/>
|
||||
<text text-anchor="middle" x="553.09" y="-138.8" font-family="Times,serif" font-size="14.00">'0'-'9'</text>
|
||||
</g>
|
||||
<!-- m2->e -->
|
||||
<g id="edge10" class="edge">
|
||||
<title>m2->e</title>
|
||||
<path fill="none" stroke="black" d="M323.6,-181.35C329.68,-182.37 336.08,-183.32 342.09,-184 493.03,-201.01 675.33,-205.51 743.55,-206.64"/>
|
||||
<polygon fill="black" stroke="black" points="743.81,-210.15 753.86,-206.8 743.92,-203.15 743.81,-210.15"/>
|
||||
<text text-anchor="middle" x="553.09" y="-204.8" font-family="Times,serif" font-size="14.00">00-'/',':'-7f</text>
|
||||
</g>
|
||||
<!-- m2->s2 -->
|
||||
<g id="edge13" class="edge">
|
||||
<title>m2->s2</title>
|
||||
<path fill="none" stroke="black" d="M319.65,-159.5C326.68,-155.08 334.52,-150.54 342.09,-147 371.74,-133.1 381.33,-135.25 412.09,-124 418.6,-121.62 425.51,-118.94 432.1,-116.31"/>
|
||||
<polygon fill="black" stroke="black" points="433.48,-119.52 441.43,-112.53 430.85,-113.04 433.48,-119.52"/>
|
||||
<text text-anchor="middle" x="377.09" y="-150.8" font-family="Times,serif" font-size="14.00">'0'-'1'</text>
|
||||
</g>
|
||||
<!-- m2->s3 -->
|
||||
<g id="edge11" class="edge">
|
||||
<title>m2->s3</title>
|
||||
<path fill="none" stroke="black" d="M324.12,-174.2C387.24,-170.2 539.07,-160.57 607.77,-156.21"/>
|
||||
<polygon fill="black" stroke="black" points="608.3,-159.68 618.06,-155.56 607.86,-152.7 608.3,-159.68"/>
|
||||
<text text-anchor="middle" x="465.09" y="-170.8" font-family="Times,serif" font-size="14.00">'3'-'9'</text>
|
||||
</g>
|
||||
<!-- m3 -->
|
||||
<g id="node10" class="node">
|
||||
<title>m3</title>
|
||||
<ellipse fill="none" stroke="black" cx="465.09" cy="-264" rx="25.22" ry="25.22"/>
|
||||
<ellipse fill="none" stroke="black" cx="465.09" cy="-264" rx="29.2" ry="29.2"/>
|
||||
<text text-anchor="middle" x="465.09" y="-260.3" font-family="Times,serif" font-size="14.00">m3</text>
|
||||
</g>
|
||||
<!-- m2->m3 -->
|
||||
<g id="edge12" class="edge">
|
||||
<title>m2->m3</title>
|
||||
<path fill="none" stroke="black" d="M314.42,-197.79C322.3,-205.95 331.98,-214.74 342.09,-221 368.18,-237.17 401.18,-248.33 426.28,-255.22"/>
|
||||
<polygon fill="black" stroke="black" points="425.6,-258.66 436.17,-257.83 427.39,-251.89 425.6,-258.66"/>
|
||||
<text text-anchor="middle" x="377.09" y="-253.8" font-family="Times,serif" font-size="14.00">'2'</text>
|
||||
</g>
|
||||
<!-- s3->e -->
|
||||
<g id="edge22" class="edge">
|
||||
<title>s3->e</title>
|
||||
<path fill="none" stroke="black" d="M668.93,-157.42C687.99,-160.78 714.76,-167.05 736.09,-178 741.26,-180.66 746.36,-184.19 751,-187.87"/>
|
||||
<polygon fill="black" stroke="black" points="748.89,-190.67 758.76,-194.51 753.44,-185.35 748.89,-190.67"/>
|
||||
<text text-anchor="middle" x="717.59" y="-181.8" font-family="Times,serif" font-size="14.00">00-7f</text>
|
||||
</g>
|
||||
<!-- m3->e -->
|
||||
<g id="edge15" class="edge">
|
||||
<title>m3->e</title>
|
||||
<path fill="none" stroke="black" d="M494.51,-261.57C544.21,-256.86 649.84,-244.8 736.09,-221 739.3,-220.11 742.63,-219.02 745.89,-217.85"/>
|
||||
<polygon fill="black" stroke="black" points="747.27,-221.07 755.31,-214.18 744.73,-214.54 747.27,-221.07"/>
|
||||
<text text-anchor="middle" x="643.59" y="-250.8" font-family="Times,serif" font-size="14.00">00-'/','7'-7f</text>
|
||||
</g>
|
||||
<!-- m3->g -->
|
||||
<g id="edge14" class="edge">
|
||||
<title>m3->g</title>
|
||||
<path fill="none" stroke="black" d="M493.66,-270.88C525.77,-278.88 578.65,-292.06 611.99,-300.37"/>
|
||||
<polygon fill="black" stroke="black" points="611.53,-303.87 622.08,-302.89 613.22,-297.07 611.53,-303.87"/>
|
||||
<text text-anchor="middle" x="553.09" y="-296.8" font-family="Times,serif" font-size="14.00">'0'-'6'</text>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 13 KiB |
348
tests/ref/build_number_upper_bound_423968.svg
Normal file
@@ -0,0 +1,348 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
|
||||
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<!-- Generated by graphviz version 2.43.0 (0)
|
||||
-->
|
||||
<!-- Title: root Pages: 1 -->
|
||||
<svg width="1107pt" height="594pt"
|
||||
viewBox="0.00 0.00 1107.28 594.45" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 590.45)">
|
||||
<title>root</title>
|
||||
<polygon fill="white" stroke="transparent" points="-4,4 -4,-590.45 1103.28,-590.45 1103.28,4 -4,4"/>
|
||||
<!-- e -->
|
||||
<g id="node1" class="node">
|
||||
<title>e</title>
|
||||
<ellipse fill="none" stroke="black" cx="1080.78" cy="-298.45" rx="18" ry="18"/>
|
||||
<text text-anchor="middle" x="1080.78" y="-294.75" font-family="Times,serif" font-size="14.00">e</text>
|
||||
</g>
|
||||
<!-- e->e -->
|
||||
<g id="edge1" class="edge">
|
||||
<title>e->e</title>
|
||||
<path fill="none" stroke="black" d="M1071.55,-313.99C1068.95,-324.36 1072.03,-334.45 1080.78,-334.45 1086.53,-334.45 1089.83,-330.1 1090.68,-324.18"/>
|
||||
<polygon fill="black" stroke="black" points="1094.16,-323.74 1090.01,-313.99 1087.18,-324.2 1094.16,-323.74"/>
|
||||
<text text-anchor="middle" x="1080.78" y="-338.25" font-family="Times,serif" font-size="14.00">00-7f</text>
|
||||
</g>
|
||||
<!-- g -->
|
||||
<g id="node2" class="node">
|
||||
<title>g</title>
|
||||
<ellipse fill="none" stroke="black" cx="952.28" cy="-399.45" rx="18" ry="18"/>
|
||||
<ellipse fill="none" stroke="black" cx="952.28" cy="-399.45" rx="22" ry="22"/>
|
||||
<text text-anchor="middle" x="952.28" y="-395.75" font-family="Times,serif" font-size="14.00">g</text>
|
||||
</g>
|
||||
<!-- g->e -->
|
||||
<g id="edge2" class="edge">
|
||||
<title>g->e</title>
|
||||
<path fill="none" stroke="black" d="M973.87,-394.22C993.88,-388.28 1024.19,-376.95 1044.78,-358.45 1055.15,-349.13 1063.3,-335.99 1069.11,-324.38"/>
|
||||
<polygon fill="black" stroke="black" points="1072.38,-325.65 1073.44,-315.1 1066.04,-322.68 1072.38,-325.65"/>
|
||||
<text text-anchor="middle" x="1026.28" y="-385.25" font-family="Times,serif" font-size="14.00">00-7f</text>
|
||||
</g>
|
||||
<!-- m0 -->
|
||||
<g id="node3" class="node">
|
||||
<title>m0</title>
|
||||
<ellipse fill="none" stroke="black" cx="29.35" cy="-117.45" rx="25.22" ry="25.22"/>
|
||||
<ellipse fill="none" stroke="black" cx="29.35" cy="-117.45" rx="29.2" ry="29.2"/>
|
||||
<text text-anchor="middle" x="29.35" y="-113.75" font-family="Times,serif" font-size="14.00">m0</text>
|
||||
</g>
|
||||
<!-- m0->e -->
|
||||
<g id="edge4" class="edge">
|
||||
<title>m0->e</title>
|
||||
<path fill="none" stroke="black" d="M32.41,-146.89C40.24,-247.49 72.36,-571.45 161.04,-571.45 161.04,-571.45 161.04,-571.45 953.28,-571.45 1060.14,-571.45 1076.99,-397.14 1079.46,-327.09"/>
|
||||
<polygon fill="black" stroke="black" points="1082.96,-326.88 1079.74,-316.78 1075.96,-326.68 1082.96,-326.88"/>
|
||||
<text text-anchor="middle" x="509.78" y="-575.25" font-family="Times,serif" font-size="14.00">00-'/',':'-7f</text>
|
||||
</g>
|
||||
<!-- m1 -->
|
||||
<g id="node4" class="node">
|
||||
<title>m1</title>
|
||||
<ellipse fill="none" stroke="black" cx="162.04" cy="-149.45" rx="25.22" ry="25.22"/>
|
||||
<ellipse fill="none" stroke="black" cx="162.04" cy="-149.45" rx="29.2" ry="29.2"/>
|
||||
<text text-anchor="middle" x="162.04" y="-145.75" font-family="Times,serif" font-size="14.00">m1</text>
|
||||
</g>
|
||||
<!-- m0->m1 -->
|
||||
<g id="edge3" class="edge">
|
||||
<title>m0->m1</title>
|
||||
<path fill="none" stroke="black" d="M58.06,-124.23C77.13,-128.9 102.67,-135.15 123.54,-140.27"/>
|
||||
<polygon fill="black" stroke="black" points="122.82,-143.69 133.37,-142.67 124.49,-136.89 122.82,-143.69"/>
|
||||
<text text-anchor="middle" x="95.7" y="-141.25" font-family="Times,serif" font-size="14.00">'4'</text>
|
||||
</g>
|
||||
<!-- s0 -->
|
||||
<g id="node5" class="node">
|
||||
<title>s0</title>
|
||||
<ellipse fill="none" stroke="black" cx="162.04" cy="-25.45" rx="21.4" ry="21.4"/>
|
||||
<ellipse fill="none" stroke="black" cx="162.04" cy="-25.45" rx="25.4" ry="25.4"/>
|
||||
<text text-anchor="middle" x="162.04" y="-21.75" font-family="Times,serif" font-size="14.00">s0</text>
|
||||
</g>
|
||||
<!-- m0->s0 -->
|
||||
<g id="edge5" class="edge">
|
||||
<title>m0->s0</title>
|
||||
<path fill="none" stroke="black" d="M45.15,-92.3C53.21,-80.4 64.11,-66.78 76.7,-57.45 91.7,-46.33 111.03,-38.62 127.4,-33.57"/>
|
||||
<polygon fill="black" stroke="black" points="128.5,-36.89 137.14,-30.75 126.56,-30.16 128.5,-36.89"/>
|
||||
<text text-anchor="middle" x="95.7" y="-61.25" font-family="Times,serif" font-size="14.00">'0'-'3'</text>
|
||||
</g>
|
||||
<!-- s1 -->
|
||||
<g id="node6" class="node">
|
||||
<title>s1</title>
|
||||
<ellipse fill="none" stroke="black" cx="294.74" cy="-86.45" rx="21.4" ry="21.4"/>
|
||||
<ellipse fill="none" stroke="black" cx="294.74" cy="-86.45" rx="25.4" ry="25.4"/>
|
||||
<text text-anchor="middle" x="294.74" y="-82.75" font-family="Times,serif" font-size="14.00">s1</text>
|
||||
</g>
|
||||
<!-- m0->s1 -->
|
||||
<g id="edge6" class="edge">
|
||||
<title>m0->s1</title>
|
||||
<path fill="none" stroke="black" d="M57.97,-110.68C78.47,-105.93 107.16,-99.84 132.7,-96.45 175.86,-90.71 225.97,-88.25 258.69,-87.21"/>
|
||||
<polygon fill="black" stroke="black" points="259.19,-90.7 269.08,-86.91 258.98,-83.7 259.19,-90.7"/>
|
||||
<text text-anchor="middle" x="162.04" y="-100.25" font-family="Times,serif" font-size="14.00">'5'-'9'</text>
|
||||
</g>
|
||||
<!-- m1->e -->
|
||||
<g id="edge10" class="edge">
|
||||
<title>m1->e</title>
|
||||
<path fill="none" stroke="black" d="M166.68,-178.56C178.55,-267.31 219.79,-528.45 293.74,-528.45 293.74,-528.45 293.74,-528.45 953.28,-528.45 1004.76,-528.45 1017.28,-500.96 1044.78,-457.45 1070.41,-416.92 1077.44,-360.28 1079.27,-326.69"/>
|
||||
<polygon fill="black" stroke="black" points="1082.77,-326.78 1079.7,-316.64 1075.77,-326.48 1082.77,-326.78"/>
|
||||
<text text-anchor="middle" x="597.78" y="-532.25" font-family="Times,serif" font-size="14.00">00-'/',':'-7f</text>
|
||||
</g>
|
||||
<!-- m1->s1 -->
|
||||
<g id="edge7" class="edge">
|
||||
<title>m1->s1</title>
|
||||
<path fill="none" stroke="black" d="M187.11,-133.27C194.15,-128.85 201.95,-124.24 209.39,-120.45 225.93,-112.02 245.08,-104.16 260.94,-98.13"/>
|
||||
<polygon fill="black" stroke="black" points="262.2,-101.39 270.34,-94.62 259.75,-94.84 262.2,-101.39"/>
|
||||
<text text-anchor="middle" x="228.39" y="-124.25" font-family="Times,serif" font-size="14.00">'0'-'1'</text>
|
||||
</g>
|
||||
<!-- s2 -->
|
||||
<g id="node7" class="node">
|
||||
<title>s2</title>
|
||||
<ellipse fill="none" stroke="black" cx="427.43" cy="-149.45" rx="21.4" ry="21.4"/>
|
||||
<ellipse fill="none" stroke="black" cx="427.43" cy="-149.45" rx="25.4" ry="25.4"/>
|
||||
<text text-anchor="middle" x="427.43" y="-145.75" font-family="Times,serif" font-size="14.00">s2</text>
|
||||
</g>
|
||||
<!-- m1->s2 -->
|
||||
<g id="edge8" class="edge">
|
||||
<title>m1->s2</title>
|
||||
<path fill="none" stroke="black" d="M191.48,-149.45C240.14,-149.45 339.2,-149.45 391.8,-149.45"/>
|
||||
<polygon fill="black" stroke="black" points="391.98,-152.95 401.98,-149.45 391.98,-145.95 391.98,-152.95"/>
|
||||
<text text-anchor="middle" x="294.74" y="-153.25" font-family="Times,serif" font-size="14.00">'3'-'9'</text>
|
||||
</g>
|
||||
<!-- m2 -->
|
||||
<g id="node8" class="node">
|
||||
<title>m2</title>
|
||||
<ellipse fill="none" stroke="black" cx="294.74" cy="-212.45" rx="25.22" ry="25.22"/>
|
||||
<ellipse fill="none" stroke="black" cx="294.74" cy="-212.45" rx="29.2" ry="29.2"/>
|
||||
<text text-anchor="middle" x="294.74" y="-208.75" font-family="Times,serif" font-size="14.00">m2</text>
|
||||
</g>
|
||||
<!-- m1->m2 -->
|
||||
<g id="edge9" class="edge">
|
||||
<title>m1->m2</title>
|
||||
<path fill="none" stroke="black" d="M188.86,-161.89C208.91,-171.56 236.91,-185.06 258.94,-195.67"/>
|
||||
<polygon fill="black" stroke="black" points="257.44,-198.84 267.97,-200.03 260.48,-192.53 257.44,-198.84"/>
|
||||
<text text-anchor="middle" x="228.39" y="-192.25" font-family="Times,serif" font-size="14.00">'2'</text>
|
||||
</g>
|
||||
<!-- s0->e -->
|
||||
<g id="edge25" class="edge">
|
||||
<title>s0->e</title>
|
||||
<path fill="none" stroke="black" d="M187.5,-20.65C213.68,-15.93 256.48,-9.45 293.74,-9.45 293.74,-9.45 293.74,-9.45 953.28,-9.45 1001.19,-9.45 1018.46,-26.42 1044.78,-66.45 1066.51,-99.48 1075.41,-215.82 1078.44,-270.13"/>
|
||||
<polygon fill="black" stroke="black" points="1074.96,-270.62 1078.99,-280.42 1081.95,-270.25 1074.96,-270.62"/>
|
||||
<text text-anchor="middle" x="597.78" y="-13.25" font-family="Times,serif" font-size="14.00">00-'/',':'-7f</text>
|
||||
</g>
|
||||
<!-- s0->s1 -->
|
||||
<g id="edge24" class="edge">
|
||||
<title>s0->s1</title>
|
||||
<path fill="none" stroke="black" d="M186.47,-32.95C203.7,-38.79 227.47,-47.56 247.39,-57.45 252.95,-60.21 258.69,-63.45 264.15,-66.74"/>
|
||||
<polygon fill="black" stroke="black" points="262.68,-69.95 273.02,-72.27 266.38,-64.01 262.68,-69.95"/>
|
||||
<text text-anchor="middle" x="228.39" y="-61.25" font-family="Times,serif" font-size="14.00">'0'-'9'</text>
|
||||
</g>
|
||||
<!-- s1->e -->
|
||||
<g id="edge26" class="edge">
|
||||
<title>s1->e</title>
|
||||
<path fill="none" stroke="black" d="M318.41,-76.8C344.12,-66.74 387.51,-52.45 426.43,-52.45 426.43,-52.45 426.43,-52.45 953.28,-52.45 1003.69,-52.45 1017.76,-76.9 1044.78,-119.45 1074.53,-166.28 1079.95,-232.85 1080.41,-270.21"/>
|
||||
<polygon fill="black" stroke="black" points="1076.91,-270.37 1080.42,-280.37 1083.91,-270.37 1076.91,-270.37"/>
|
||||
<text text-anchor="middle" x="685.78" y="-56.25" font-family="Times,serif" font-size="14.00">00-'/',':'-7f</text>
|
||||
</g>
|
||||
<!-- s1->s2 -->
|
||||
<g id="edge27" class="edge">
|
||||
<title>s1->s2</title>
|
||||
<path fill="none" stroke="black" d="M319.14,-94.62C336.34,-100.92 360.11,-110.27 380.09,-120.45 385.61,-123.26 391.34,-126.53 396.8,-129.84"/>
|
||||
<polygon fill="black" stroke="black" points="395.32,-133.04 405.66,-135.36 399.03,-127.1 395.32,-133.04"/>
|
||||
<text text-anchor="middle" x="361.09" y="-124.25" font-family="Times,serif" font-size="14.00">'0'-'9'</text>
|
||||
</g>
|
||||
<!-- s2->e -->
|
||||
<g id="edge29" class="edge">
|
||||
<title>s2->e</title>
|
||||
<path fill="none" stroke="black" d="M450.39,-138.26C481.93,-123.24 542.27,-98.45 596.78,-98.45 596.78,-98.45 596.78,-98.45 953.28,-98.45 1033.78,-98.45 1065.16,-215.61 1075.45,-270.59"/>
|
||||
<polygon fill="black" stroke="black" points="1072.05,-271.46 1077.24,-280.7 1078.95,-270.24 1072.05,-271.46"/>
|
||||
<text text-anchor="middle" x="773.78" y="-102.25" font-family="Times,serif" font-size="14.00">00-'/',':'-7f</text>
|
||||
</g>
|
||||
<!-- s3 -->
|
||||
<g id="node9" class="node">
|
||||
<title>s3</title>
|
||||
<ellipse fill="none" stroke="black" cx="597.78" cy="-187.45" rx="21.4" ry="21.4"/>
|
||||
<ellipse fill="none" stroke="black" cx="597.78" cy="-187.45" rx="25.4" ry="25.4"/>
|
||||
<text text-anchor="middle" x="597.78" y="-183.75" font-family="Times,serif" font-size="14.00">s3</text>
|
||||
</g>
|
||||
<!-- s2->s3 -->
|
||||
<g id="edge28" class="edge">
|
||||
<title>s2->s3</title>
|
||||
<path fill="none" stroke="black" d="M452.55,-154.89C481.43,-161.41 529.99,-172.37 562.69,-179.75"/>
|
||||
<polygon fill="black" stroke="black" points="562.18,-183.23 572.71,-182.01 563.72,-176.4 562.18,-183.23"/>
|
||||
<text text-anchor="middle" x="509.78" y="-179.25" font-family="Times,serif" font-size="14.00">'0'-'9'</text>
|
||||
</g>
|
||||
<!-- m2->e -->
|
||||
<g id="edge11" class="edge">
|
||||
<title>m2->e</title>
|
||||
<path fill="none" stroke="black" d="M312.41,-236.16C320.77,-247.36 331.37,-260.61 342.09,-271.45 364.54,-294.15 370.15,-301 398.09,-316.45 538.32,-394 581.75,-402.49 738.78,-434.45 872.08,-461.57 951.19,-527.16 1044.78,-428.45 1070.88,-400.92 1077.95,-356.06 1079.64,-326.9"/>
|
||||
<polygon fill="black" stroke="black" points="1083.15,-326.69 1080.05,-316.56 1076.15,-326.41 1083.15,-326.69"/>
|
||||
<text text-anchor="middle" x="685.78" y="-434.25" font-family="Times,serif" font-size="14.00">00-'/',':'-7f</text>
|
||||
</g>
|
||||
<!-- m2->s2 -->
|
||||
<g id="edge13" class="edge">
|
||||
<title>m2->s2</title>
|
||||
<path fill="none" stroke="black" d="M319.81,-196.27C326.84,-191.85 334.64,-187.24 342.09,-183.45 358.63,-175.02 377.77,-167.16 393.64,-161.13"/>
|
||||
<polygon fill="black" stroke="black" points="394.89,-164.39 403.04,-157.62 392.44,-157.84 394.89,-164.39"/>
|
||||
<text text-anchor="middle" x="361.09" y="-187.25" font-family="Times,serif" font-size="14.00">'0'-'2'</text>
|
||||
</g>
|
||||
<!-- m2->s3 -->
|
||||
<g id="edge12" class="edge">
|
||||
<title>m2->s3</title>
|
||||
<path fill="none" stroke="black" d="M324.17,-210.96C370.48,-208.42 465.01,-202.69 544.78,-194.45 550.45,-193.86 556.44,-193.15 562.27,-192.4"/>
|
||||
<polygon fill="black" stroke="black" points="563.03,-195.83 572.48,-191.04 562.11,-188.89 563.03,-195.83"/>
|
||||
<text text-anchor="middle" x="427.43" y="-210.25" font-family="Times,serif" font-size="14.00">'4'-'9'</text>
|
||||
</g>
|
||||
<!-- m3 -->
|
||||
<g id="node10" class="node">
|
||||
<title>m3</title>
|
||||
<ellipse fill="none" stroke="black" cx="427.43" cy="-278.45" rx="25.22" ry="25.22"/>
|
||||
<ellipse fill="none" stroke="black" cx="427.43" cy="-278.45" rx="29.2" ry="29.2"/>
|
||||
<text text-anchor="middle" x="427.43" y="-274.75" font-family="Times,serif" font-size="14.00">m3</text>
|
||||
</g>
|
||||
<!-- m2->m3 -->
|
||||
<g id="edge14" class="edge">
|
||||
<title>m2->m3</title>
|
||||
<path fill="none" stroke="black" d="M321.25,-225.33C341.4,-235.51 369.72,-249.81 391.9,-261.01"/>
|
||||
<polygon fill="black" stroke="black" points="390.48,-264.21 400.99,-265.6 393.64,-257.97 390.48,-264.21"/>
|
||||
<text text-anchor="middle" x="361.09" y="-256.25" font-family="Times,serif" font-size="14.00">'3'</text>
|
||||
</g>
|
||||
<!-- s3->e -->
|
||||
<g id="edge30" class="edge">
|
||||
<title>s3->e</title>
|
||||
<path fill="none" stroke="black" d="M622.61,-181.41C650.31,-174.73 697.51,-164.39 738.78,-160.45 850.06,-149.82 883.26,-142.55 989.78,-176.45 1015.73,-184.71 1026.55,-183.22 1044.78,-203.45 1061.72,-222.23 1070.68,-249.92 1075.27,-270.57"/>
|
||||
<polygon fill="black" stroke="black" points="1071.89,-271.52 1077.29,-280.63 1078.75,-270.14 1071.89,-271.52"/>
|
||||
<text text-anchor="middle" x="861.78" y="-158.25" font-family="Times,serif" font-size="14.00">00-'/',':'-7f</text>
|
||||
</g>
|
||||
<!-- s4 -->
|
||||
<g id="node14" class="node">
|
||||
<title>s4</title>
|
||||
<ellipse fill="none" stroke="black" cx="773.78" cy="-194.45" rx="21.4" ry="21.4"/>
|
||||
<ellipse fill="none" stroke="black" cx="773.78" cy="-194.45" rx="25.4" ry="25.4"/>
|
||||
<text text-anchor="middle" x="773.78" y="-190.75" font-family="Times,serif" font-size="14.00">s4</text>
|
||||
</g>
|
||||
<!-- s3->s4 -->
|
||||
<g id="edge31" class="edge">
|
||||
<title>s3->s4</title>
|
||||
<path fill="none" stroke="black" d="M623.58,-186.88C648.25,-186.49 687.17,-186.38 720.78,-188.45 726.45,-188.8 732.45,-189.33 738.28,-189.95"/>
|
||||
<polygon fill="black" stroke="black" points="738.16,-193.45 748.49,-191.1 738.95,-186.5 738.16,-193.45"/>
|
||||
<text text-anchor="middle" x="685.78" y="-192.25" font-family="Times,serif" font-size="14.00">'0'-'9'</text>
|
||||
</g>
|
||||
<!-- m3->e -->
|
||||
<g id="edge16" class="edge">
|
||||
<title>m3->e</title>
|
||||
<path fill="none" stroke="black" d="M454.2,-291.27C460.85,-294.41 468.03,-297.66 474.78,-300.45 663.31,-378.15 711.96,-409.36 914.78,-430.45 973.76,-436.58 1006.54,-445.76 1044.78,-400.45 1062.63,-379.3 1071.54,-348.57 1075.88,-326.37"/>
|
||||
<polygon fill="black" stroke="black" points="1079.37,-326.69 1077.66,-316.24 1072.48,-325.48 1079.37,-326.69"/>
|
||||
<text text-anchor="middle" x="773.78" y="-419.25" font-family="Times,serif" font-size="14.00">00-'/',':'-7f</text>
|
||||
</g>
|
||||
<!-- m3->s3 -->
|
||||
<g id="edge17" class="edge">
|
||||
<title>m3->s3</title>
|
||||
<path fill="none" stroke="black" d="M454.94,-267.4C478.93,-257.06 514.98,-240.65 544.78,-223.45 552.71,-218.87 560.99,-213.46 568.55,-208.24"/>
|
||||
<polygon fill="black" stroke="black" points="570.88,-210.88 577.03,-202.26 566.84,-205.16 570.88,-210.88"/>
|
||||
<text text-anchor="middle" x="509.78" y="-261.25" font-family="Times,serif" font-size="14.00">'0'-'8'</text>
|
||||
</g>
|
||||
<!-- m4 -->
|
||||
<g id="node11" class="node">
|
||||
<title>m4</title>
|
||||
<ellipse fill="none" stroke="black" cx="597.78" cy="-283.45" rx="25.22" ry="25.22"/>
|
||||
<ellipse fill="none" stroke="black" cx="597.78" cy="-283.45" rx="29.2" ry="29.2"/>
|
||||
<text text-anchor="middle" x="597.78" y="-279.75" font-family="Times,serif" font-size="14.00">m4</text>
|
||||
</g>
|
||||
<!-- m3->m4 -->
|
||||
<g id="edge15" class="edge">
|
||||
<title>m3->m4</title>
|
||||
<path fill="none" stroke="black" d="M456.99,-279.3C484.77,-280.12 527.17,-281.38 557.99,-282.3"/>
|
||||
<polygon fill="black" stroke="black" points="558.27,-285.81 568.37,-282.6 558.47,-278.81 558.27,-285.81"/>
|
||||
<text text-anchor="middle" x="509.78" y="-285.25" font-family="Times,serif" font-size="14.00">'9'</text>
|
||||
</g>
|
||||
<!-- m4->e -->
|
||||
<g id="edge20" class="edge">
|
||||
<title>m4->e</title>
|
||||
<path fill="none" stroke="black" d="M627.43,-284.34C713.46,-287.02 968.75,-294.99 1052.69,-297.6"/>
|
||||
<polygon fill="black" stroke="black" points="1052.61,-301.1 1062.72,-297.92 1052.83,-294.11 1052.61,-301.1"/>
|
||||
<text text-anchor="middle" x="861.78" y="-296.25" font-family="Times,serif" font-size="14.00">00-'/',':'-7f</text>
|
||||
</g>
|
||||
<!-- s5 -->
|
||||
<g id="node12" class="node">
|
||||
<title>s5</title>
|
||||
<ellipse fill="none" stroke="black" cx="952.28" cy="-245.45" rx="21.4" ry="21.4"/>
|
||||
<ellipse fill="none" stroke="black" cx="952.28" cy="-245.45" rx="25.4" ry="25.4"/>
|
||||
<text text-anchor="middle" x="952.28" y="-241.75" font-family="Times,serif" font-size="14.00">s5</text>
|
||||
</g>
|
||||
<!-- m4->s5 -->
|
||||
<g id="edge18" class="edge">
|
||||
<title>m4->s5</title>
|
||||
<path fill="none" stroke="black" d="M627.03,-280.4C691.06,-273.5 847.03,-256.69 916.69,-249.18"/>
|
||||
<polygon fill="black" stroke="black" points="917.14,-252.65 926.71,-248.1 916.39,-245.69 917.14,-252.65"/>
|
||||
<text text-anchor="middle" x="773.78" y="-271.25" font-family="Times,serif" font-size="14.00">'7'-'9'</text>
|
||||
</g>
|
||||
<!-- m5 -->
|
||||
<g id="node13" class="node">
|
||||
<title>m5</title>
|
||||
<ellipse fill="none" stroke="black" cx="773.78" cy="-355.45" rx="25.22" ry="25.22"/>
|
||||
<ellipse fill="none" stroke="black" cx="773.78" cy="-355.45" rx="29.2" ry="29.2"/>
|
||||
<text text-anchor="middle" x="773.78" y="-351.75" font-family="Times,serif" font-size="14.00">m5</text>
|
||||
</g>
|
||||
<!-- m4->m5 -->
|
||||
<g id="edge19" class="edge">
|
||||
<title>m4->m5</title>
|
||||
<path fill="none" stroke="black" d="M623.2,-298.19C631.76,-303.06 641.55,-308.28 650.78,-312.45 678.49,-324.95 711,-336.25 735.49,-344.13"/>
|
||||
<polygon fill="black" stroke="black" points="734.54,-347.5 745.13,-347.18 736.65,-340.82 734.54,-347.5"/>
|
||||
<text text-anchor="middle" x="685.78" y="-342.25" font-family="Times,serif" font-size="14.00">'6'</text>
|
||||
</g>
|
||||
<!-- m4->s4 -->
|
||||
<g id="edge21" class="edge">
|
||||
<title>m4->s4</title>
|
||||
<path fill="none" stroke="black" d="M615.34,-259.61C624.54,-248.03 636.91,-234.84 650.78,-226.45 665.47,-217.57 707.92,-207.56 738.63,-201.14"/>
|
||||
<polygon fill="black" stroke="black" points="739.44,-204.55 748.53,-199.11 738.03,-197.69 739.44,-204.55"/>
|
||||
<text text-anchor="middle" x="685.78" y="-230.25" font-family="Times,serif" font-size="14.00">'0'-'5'</text>
|
||||
</g>
|
||||
<!-- s5->e -->
|
||||
<g id="edge34" class="edge">
|
||||
<title>s5->e</title>
|
||||
<path fill="none" stroke="black" d="M977.63,-248.87C996.69,-252.23 1023.45,-258.5 1044.78,-269.45 1049.96,-272.11 1055.06,-275.64 1059.69,-279.32"/>
|
||||
<polygon fill="black" stroke="black" points="1057.58,-282.12 1067.46,-285.96 1062.13,-276.8 1057.58,-282.12"/>
|
||||
<text text-anchor="middle" x="1026.28" y="-273.25" font-family="Times,serif" font-size="14.00">00-7f</text>
|
||||
</g>
|
||||
<!-- m5->e -->
|
||||
<g id="edge22" class="edge">
|
||||
<title>m5->e</title>
|
||||
<path fill="none" stroke="black" d="M803.21,-353.02C852.91,-348.31 958.53,-336.25 1044.78,-312.45 1048,-311.56 1051.32,-310.47 1054.59,-309.29"/>
|
||||
<polygon fill="black" stroke="black" points="1055.96,-312.51 1064.01,-305.62 1053.42,-305.99 1055.96,-312.51"/>
|
||||
<text text-anchor="middle" x="952.28" y="-342.25" font-family="Times,serif" font-size="14.00">00-'/','9'-7f</text>
|
||||
</g>
|
||||
<!-- m5->g -->
|
||||
<g id="edge23" class="edge">
|
||||
<title>m5->g</title>
|
||||
<path fill="none" stroke="black" d="M802.36,-362.32C834.47,-370.33 887.34,-383.51 920.69,-391.82"/>
|
||||
<polygon fill="black" stroke="black" points="920.23,-395.31 930.78,-394.34 921.92,-388.52 920.23,-395.31"/>
|
||||
<text text-anchor="middle" x="861.78" y="-388.25" font-family="Times,serif" font-size="14.00">'0'-'8'</text>
|
||||
</g>
|
||||
<!-- s4->e -->
|
||||
<g id="edge32" class="edge">
|
||||
<title>s4->e</title>
|
||||
<path fill="none" stroke="black" d="M798.86,-188.98C839.91,-180.88 925.24,-169.36 989.78,-196.45 1025.12,-211.28 1051.82,-248.29 1066.63,-273.4"/>
|
||||
<polygon fill="black" stroke="black" points="1063.74,-275.4 1071.72,-282.38 1069.83,-271.95 1063.74,-275.4"/>
|
||||
<text text-anchor="middle" x="952.28" y="-200.25" font-family="Times,serif" font-size="14.00">00-'/',':'-7f</text>
|
||||
</g>
|
||||
<!-- s4->s5 -->
|
||||
<g id="edge33" class="edge">
|
||||
<title>s4->s5</title>
|
||||
<path fill="none" stroke="black" d="M798.78,-200.15C823.5,-206.16 863.06,-216.17 896.78,-226.45 903.9,-228.62 911.47,-231.13 918.64,-233.6"/>
|
||||
<polygon fill="black" stroke="black" points="917.48,-236.9 928.08,-236.9 919.8,-230.29 917.48,-236.9"/>
|
||||
<text text-anchor="middle" x="861.78" y="-230.25" font-family="Times,serif" font-size="14.00">'0'-'9'</text>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 21 KiB |
292
tests/ref/build_number_upper_bound_42398.svg
Normal file
@@ -0,0 +1,292 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
|
||||
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<!-- Generated by graphviz version 2.43.0 (0)
|
||||
-->
|
||||
<!-- Title: root Pages: 1 -->
|
||||
<svg width="943pt" height="533pt"
|
||||
viewBox="0.00 0.00 942.59 533.45" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 529.45)">
|
||||
<title>root</title>
|
||||
<polygon fill="white" stroke="transparent" points="-4,4 -4,-529.45 938.59,-529.45 938.59,4 -4,4"/>
|
||||
<!-- e -->
|
||||
<g id="node1" class="node">
|
||||
<title>e</title>
|
||||
<ellipse fill="none" stroke="black" cx="916.09" cy="-268.45" rx="18" ry="18"/>
|
||||
<text text-anchor="middle" x="916.09" y="-264.75" font-family="Times,serif" font-size="14.00">e</text>
|
||||
</g>
|
||||
<!-- e->e -->
|
||||
<g id="edge1" class="edge">
|
||||
<title>e->e</title>
|
||||
<path fill="none" stroke="black" d="M906.85,-283.99C904.26,-294.36 907.33,-304.45 916.09,-304.45 921.83,-304.45 925.13,-300.1 925.99,-294.18"/>
|
||||
<polygon fill="black" stroke="black" points="929.47,-293.74 925.32,-283.99 922.48,-294.2 929.47,-293.74"/>
|
||||
<text text-anchor="middle" x="916.09" y="-308.25" font-family="Times,serif" font-size="14.00">00-7f</text>
|
||||
</g>
|
||||
<!-- g -->
|
||||
<g id="node2" class="node">
|
||||
<title>g</title>
|
||||
<ellipse fill="none" stroke="black" cx="787.59" cy="-409.45" rx="18" ry="18"/>
|
||||
<ellipse fill="none" stroke="black" cx="787.59" cy="-409.45" rx="22" ry="22"/>
|
||||
<text text-anchor="middle" x="787.59" y="-405.75" font-family="Times,serif" font-size="14.00">g</text>
|
||||
</g>
|
||||
<!-- g->e -->
|
||||
<g id="edge2" class="edge">
|
||||
<title>g->e</title>
|
||||
<path fill="none" stroke="black" d="M809.61,-406.42C830.25,-402.37 861.29,-393.27 880.09,-373.45 900.04,-352.41 908.63,-319.69 912.32,-296.38"/>
|
||||
<polygon fill="black" stroke="black" points="915.8,-296.78 913.7,-286.4 908.86,-295.83 915.8,-296.78"/>
|
||||
<text text-anchor="middle" x="861.59" y="-399.25" font-family="Times,serif" font-size="14.00">00-7f</text>
|
||||
</g>
|
||||
<!-- m0 -->
|
||||
<g id="node3" class="node">
|
||||
<title>m0</title>
|
||||
<ellipse fill="none" stroke="black" cx="29.35" cy="-117.45" rx="25.22" ry="25.22"/>
|
||||
<ellipse fill="none" stroke="black" cx="29.35" cy="-117.45" rx="29.2" ry="29.2"/>
|
||||
<text text-anchor="middle" x="29.35" y="-113.75" font-family="Times,serif" font-size="14.00">m0</text>
|
||||
</g>
|
||||
<!-- m0->e -->
|
||||
<g id="edge4" class="edge">
|
||||
<title>m0->e</title>
|
||||
<path fill="none" stroke="black" d="M33.65,-146.67C44.75,-237.74 84.38,-510.45 161.04,-510.45 161.04,-510.45 161.04,-510.45 788.59,-510.45 839.25,-510.45 852.95,-485.24 880.09,-442.45 908.72,-397.29 914.62,-333.39 915.44,-296.92"/>
|
||||
<polygon fill="black" stroke="black" points="918.95,-296.57 915.56,-286.53 911.95,-296.49 918.95,-296.57"/>
|
||||
<text text-anchor="middle" x="433.09" y="-514.25" font-family="Times,serif" font-size="14.00">00-'/',':'-7f</text>
|
||||
</g>
|
||||
<!-- s1 -->
|
||||
<g id="node4" class="node">
|
||||
<title>s1</title>
|
||||
<ellipse fill="none" stroke="black" cx="294.74" cy="-86.45" rx="21.4" ry="21.4"/>
|
||||
<ellipse fill="none" stroke="black" cx="294.74" cy="-86.45" rx="25.4" ry="25.4"/>
|
||||
<text text-anchor="middle" x="294.74" y="-82.75" font-family="Times,serif" font-size="14.00">s1</text>
|
||||
</g>
|
||||
<!-- m0->s1 -->
|
||||
<g id="edge3" class="edge">
|
||||
<title>m0->s1</title>
|
||||
<path fill="none" stroke="black" d="M57.97,-110.68C78.47,-105.93 107.16,-99.84 132.7,-96.45 175.86,-90.71 225.97,-88.25 258.69,-87.21"/>
|
||||
<polygon fill="black" stroke="black" points="259.19,-90.7 269.08,-86.91 258.98,-83.7 259.19,-90.7"/>
|
||||
<text text-anchor="middle" x="162.04" y="-100.25" font-family="Times,serif" font-size="14.00">'5'-'9'</text>
|
||||
</g>
|
||||
<!-- s0 -->
|
||||
<g id="node5" class="node">
|
||||
<title>s0</title>
|
||||
<ellipse fill="none" stroke="black" cx="162.04" cy="-25.45" rx="21.4" ry="21.4"/>
|
||||
<ellipse fill="none" stroke="black" cx="162.04" cy="-25.45" rx="25.4" ry="25.4"/>
|
||||
<text text-anchor="middle" x="162.04" y="-21.75" font-family="Times,serif" font-size="14.00">s0</text>
|
||||
</g>
|
||||
<!-- m0->s0 -->
|
||||
<g id="edge5" class="edge">
|
||||
<title>m0->s0</title>
|
||||
<path fill="none" stroke="black" d="M45.15,-92.3C53.21,-80.4 64.11,-66.78 76.7,-57.45 91.7,-46.33 111.03,-38.62 127.4,-33.57"/>
|
||||
<polygon fill="black" stroke="black" points="128.5,-36.89 137.14,-30.75 126.56,-30.16 128.5,-36.89"/>
|
||||
<text text-anchor="middle" x="95.7" y="-61.25" font-family="Times,serif" font-size="14.00">'0'-'3'</text>
|
||||
</g>
|
||||
<!-- m1 -->
|
||||
<g id="node6" class="node">
|
||||
<title>m1</title>
|
||||
<ellipse fill="none" stroke="black" cx="162.04" cy="-149.45" rx="25.22" ry="25.22"/>
|
||||
<ellipse fill="none" stroke="black" cx="162.04" cy="-149.45" rx="29.2" ry="29.2"/>
|
||||
<text text-anchor="middle" x="162.04" y="-145.75" font-family="Times,serif" font-size="14.00">m1</text>
|
||||
</g>
|
||||
<!-- m0->m1 -->
|
||||
<g id="edge6" class="edge">
|
||||
<title>m0->m1</title>
|
||||
<path fill="none" stroke="black" d="M58.06,-124.23C77.13,-128.9 102.67,-135.15 123.54,-140.27"/>
|
||||
<polygon fill="black" stroke="black" points="122.82,-143.69 133.37,-142.67 124.49,-136.89 122.82,-143.69"/>
|
||||
<text text-anchor="middle" x="95.7" y="-140.25" font-family="Times,serif" font-size="14.00">'4'</text>
|
||||
</g>
|
||||
<!-- s1->e -->
|
||||
<g id="edge23" class="edge">
|
||||
<title>s1->e</title>
|
||||
<path fill="none" stroke="black" d="M320.36,-85C347.66,-83.53 393,-81.45 432.09,-81.45 432.09,-81.45 432.09,-81.45 788.59,-81.45 831.52,-81.45 851.38,-80.52 880.09,-112.45 896.83,-131.07 907.36,-200.95 912.12,-240.58"/>
|
||||
<polygon fill="black" stroke="black" points="908.66,-241.12 913.28,-250.65 915.61,-240.31 908.66,-241.12"/>
|
||||
<text text-anchor="middle" x="609.09" y="-85.25" font-family="Times,serif" font-size="14.00">00-'/',':'-7f</text>
|
||||
</g>
|
||||
<!-- s2 -->
|
||||
<g id="node7" class="node">
|
||||
<title>s2</title>
|
||||
<ellipse fill="none" stroke="black" cx="433.09" cy="-190.45" rx="21.4" ry="21.4"/>
|
||||
<ellipse fill="none" stroke="black" cx="433.09" cy="-190.45" rx="25.4" ry="25.4"/>
|
||||
<text text-anchor="middle" x="433.09" y="-186.75" font-family="Times,serif" font-size="14.00">s2</text>
|
||||
</g>
|
||||
<!-- s1->s2 -->
|
||||
<g id="edge22" class="edge">
|
||||
<title>s1->s2</title>
|
||||
<path fill="none" stroke="black" d="M315.56,-101.57C338.89,-119.36 377.78,-149.02 404.15,-169.14"/>
|
||||
<polygon fill="black" stroke="black" points="402.16,-172.03 412.24,-175.31 406.41,-166.46 402.16,-172.03"/>
|
||||
<text text-anchor="middle" x="361.09" y="-151.25" font-family="Times,serif" font-size="14.00">'0'-'9'</text>
|
||||
</g>
|
||||
<!-- s0->e -->
|
||||
<g id="edge20" class="edge">
|
||||
<title>s0->e</title>
|
||||
<path fill="none" stroke="black" d="M187.61,-24.85C213.88,-24.26 256.75,-23.45 293.74,-23.45 293.74,-23.45 293.74,-23.45 788.59,-23.45 837.22,-23.45 853.08,-43 880.09,-83.45 897.02,-108.8 907.86,-195.44 912.49,-240.58"/>
|
||||
<polygon fill="black" stroke="black" points="909.02,-240.98 913.49,-250.59 915.98,-240.29 909.02,-240.98"/>
|
||||
<text text-anchor="middle" x="521.09" y="-27.25" font-family="Times,serif" font-size="14.00">00-'/',':'-7f</text>
|
||||
</g>
|
||||
<!-- s0->s1 -->
|
||||
<g id="edge21" class="edge">
|
||||
<title>s0->s1</title>
|
||||
<path fill="none" stroke="black" d="M186.47,-32.95C203.7,-38.79 227.47,-47.56 247.39,-57.45 252.95,-60.21 258.69,-63.45 264.15,-66.74"/>
|
||||
<polygon fill="black" stroke="black" points="262.68,-69.95 273.02,-72.27 266.38,-64.01 262.68,-69.95"/>
|
||||
<text text-anchor="middle" x="228.39" y="-61.25" font-family="Times,serif" font-size="14.00">'0'-'9'</text>
|
||||
</g>
|
||||
<!-- m1->e -->
|
||||
<g id="edge8" class="edge">
|
||||
<title>m1->e</title>
|
||||
<path fill="none" stroke="black" d="M191.68,-149.31C245.75,-149.23 366.59,-149.89 468.09,-156.45 627.32,-166.73 667.57,-168.96 825.09,-194.45 849.78,-198.44 859.96,-191.59 880.09,-206.45 891.94,-215.19 900.34,-229.23 905.93,-241.74"/>
|
||||
<polygon fill="black" stroke="black" points="902.82,-243.37 909.83,-251.31 909.3,-240.73 902.82,-243.37"/>
|
||||
<text text-anchor="middle" x="521.09" y="-165.25" font-family="Times,serif" font-size="14.00">00-'/',':'-7f</text>
|
||||
</g>
|
||||
<!-- m1->s1 -->
|
||||
<g id="edge9" class="edge">
|
||||
<title>m1->s1</title>
|
||||
<path fill="none" stroke="black" d="M187.11,-133.27C194.15,-128.85 201.95,-124.24 209.39,-120.45 225.93,-112.02 245.08,-104.16 260.94,-98.13"/>
|
||||
<polygon fill="black" stroke="black" points="262.2,-101.39 270.34,-94.62 259.75,-94.84 262.2,-101.39"/>
|
||||
<text text-anchor="middle" x="228.39" y="-124.25" font-family="Times,serif" font-size="14.00">'0'-'1'</text>
|
||||
</g>
|
||||
<!-- m1->s2 -->
|
||||
<g id="edge7" class="edge">
|
||||
<title>m1->s2</title>
|
||||
<path fill="none" stroke="black" d="M190.29,-158.53C196.51,-160.37 203.14,-162.14 209.39,-163.45 275.06,-177.24 353.21,-184.7 397.29,-188.1"/>
|
||||
<polygon fill="black" stroke="black" points="397.24,-191.61 407.48,-188.86 397.76,-184.62 397.24,-191.61"/>
|
||||
<text text-anchor="middle" x="294.74" y="-184.25" font-family="Times,serif" font-size="14.00">'3'-'9'</text>
|
||||
</g>
|
||||
<!-- m2 -->
|
||||
<g id="node8" class="node">
|
||||
<title>m2</title>
|
||||
<ellipse fill="none" stroke="black" cx="294.74" cy="-253.45" rx="25.22" ry="25.22"/>
|
||||
<ellipse fill="none" stroke="black" cx="294.74" cy="-253.45" rx="29.2" ry="29.2"/>
|
||||
<text text-anchor="middle" x="294.74" y="-249.75" font-family="Times,serif" font-size="14.00">m2</text>
|
||||
</g>
|
||||
<!-- m1->m2 -->
|
||||
<g id="edge10" class="edge">
|
||||
<title>m1->m2</title>
|
||||
<path fill="none" stroke="black" d="M179.94,-172.99C188.11,-183.39 198.49,-195.29 209.39,-204.45 224.35,-217.01 242.96,-228.2 258.89,-236.71"/>
|
||||
<polygon fill="black" stroke="black" points="257.42,-239.89 267.91,-241.39 260.65,-233.68 257.42,-239.89"/>
|
||||
<text text-anchor="middle" x="228.39" y="-233.25" font-family="Times,serif" font-size="14.00">'2'</text>
|
||||
</g>
|
||||
<!-- s2->e -->
|
||||
<g id="edge25" class="edge">
|
||||
<title>s2->e</title>
|
||||
<path fill="none" stroke="black" d="M458.57,-189.56C520.48,-187.78 688.14,-185.72 825.09,-209.45 849.74,-213.72 859.06,-207.89 880.09,-221.45 888.75,-227.04 896.04,-235.57 901.69,-243.83"/>
|
||||
<polygon fill="black" stroke="black" points="898.87,-245.94 907.15,-252.55 904.8,-242.22 898.87,-245.94"/>
|
||||
<text text-anchor="middle" x="697.09" y="-200.25" font-family="Times,serif" font-size="14.00">00-'/',':'-7f</text>
|
||||
</g>
|
||||
<!-- s3 -->
|
||||
<g id="node10" class="node">
|
||||
<title>s3</title>
|
||||
<ellipse fill="none" stroke="black" cx="609.09" cy="-253.45" rx="21.4" ry="21.4"/>
|
||||
<ellipse fill="none" stroke="black" cx="609.09" cy="-253.45" rx="25.4" ry="25.4"/>
|
||||
<text text-anchor="middle" x="609.09" y="-249.75" font-family="Times,serif" font-size="14.00">s3</text>
|
||||
</g>
|
||||
<!-- s2->s3 -->
|
||||
<g id="edge24" class="edge">
|
||||
<title>s2->s3</title>
|
||||
<path fill="none" stroke="black" d="M458.49,-195.46C483.53,-201.01 523.35,-210.98 556.09,-224.45 563.38,-227.45 570.95,-231.24 577.98,-235.08"/>
|
||||
<polygon fill="black" stroke="black" points="576.72,-238.39 587.15,-240.28 580.18,-232.3 576.72,-238.39"/>
|
||||
<text text-anchor="middle" x="521.09" y="-228.25" font-family="Times,serif" font-size="14.00">'0'-'9'</text>
|
||||
</g>
|
||||
<!-- m2->e -->
|
||||
<g id="edge13" class="edge">
|
||||
<title>m2->e</title>
|
||||
<path fill="none" stroke="black" d="M322.96,-262.68C329.18,-264.51 335.81,-266.23 342.09,-267.45 366.62,-272.2 373.19,-270.28 398.09,-272.45 554.5,-286.1 593.22,-295.78 750.09,-302.45 808.2,-304.92 826.11,-309.12 880.09,-287.45 883.7,-286 887.42,-284.27 891.02,-282.45"/>
|
||||
<polygon fill="black" stroke="black" points="892.97,-285.37 900.12,-277.56 889.66,-279.2 892.97,-285.37"/>
|
||||
<text text-anchor="middle" x="609.09" y="-299.25" font-family="Times,serif" font-size="14.00">00-'/',':'-7f</text>
|
||||
</g>
|
||||
<!-- m2->s2 -->
|
||||
<g id="edge11" class="edge">
|
||||
<title>m2->s2</title>
|
||||
<path fill="none" stroke="black" d="M319.75,-237.16C326.79,-232.74 334.6,-228.16 342.09,-224.45 360.35,-215.4 381.66,-207.25 398.95,-201.2"/>
|
||||
<polygon fill="black" stroke="black" points="400.29,-204.44 408.62,-197.89 398.02,-197.82 400.29,-204.44"/>
|
||||
<text text-anchor="middle" x="361.09" y="-228.25" font-family="Times,serif" font-size="14.00">'0'-'2'</text>
|
||||
</g>
|
||||
<!-- m3 -->
|
||||
<g id="node9" class="node">
|
||||
<title>m3</title>
|
||||
<ellipse fill="none" stroke="black" cx="433.09" cy="-356.45" rx="25.22" ry="25.22"/>
|
||||
<ellipse fill="none" stroke="black" cx="433.09" cy="-356.45" rx="29.2" ry="29.2"/>
|
||||
<text text-anchor="middle" x="433.09" y="-352.75" font-family="Times,serif" font-size="14.00">m3</text>
|
||||
</g>
|
||||
<!-- m2->m3 -->
|
||||
<g id="edge12" class="edge">
|
||||
<title>m2->m3</title>
|
||||
<path fill="none" stroke="black" d="M311.84,-277.59C319.99,-288.57 330.59,-301.14 342.09,-310.45 358.2,-323.49 378.61,-334.29 395.91,-342.14"/>
|
||||
<polygon fill="black" stroke="black" points="394.6,-345.38 405.16,-346.19 397.41,-338.97 394.6,-345.38"/>
|
||||
<text text-anchor="middle" x="361.09" y="-337.25" font-family="Times,serif" font-size="14.00">'3'</text>
|
||||
</g>
|
||||
<!-- m2->s3 -->
|
||||
<g id="edge14" class="edge">
|
||||
<title>m2->s3</title>
|
||||
<path fill="none" stroke="black" d="M324.29,-253.45C381.66,-253.45 510.77,-253.45 573.11,-253.45"/>
|
||||
<polygon fill="black" stroke="black" points="573.23,-256.95 583.23,-253.45 573.23,-249.95 573.23,-256.95"/>
|
||||
<text text-anchor="middle" x="433.09" y="-257.25" font-family="Times,serif" font-size="14.00">'4'-'9'</text>
|
||||
</g>
|
||||
<!-- m3->e -->
|
||||
<g id="edge16" class="edge">
|
||||
<title>m3->e</title>
|
||||
<path fill="none" stroke="black" d="M462.64,-358.7C549.8,-365.01 810.75,-379.72 880.09,-335.45 894.2,-326.44 902.93,-309.77 908.15,-295.32"/>
|
||||
<polygon fill="black" stroke="black" points="911.49,-296.38 911.22,-285.78 904.83,-294.23 911.49,-296.38"/>
|
||||
<text text-anchor="middle" x="697.09" y="-369.25" font-family="Times,serif" font-size="14.00">00-'/',':'-7f</text>
|
||||
</g>
|
||||
<!-- m3->s3 -->
|
||||
<g id="edge15" class="edge">
|
||||
<title>m3->s3</title>
|
||||
<path fill="none" stroke="black" d="M458.65,-341.91C489.99,-323.36 544.17,-291.28 577.97,-271.28"/>
|
||||
<polygon fill="black" stroke="black" points="580.1,-274.08 586.93,-265.97 576.54,-268.06 580.1,-274.08"/>
|
||||
<text text-anchor="middle" x="521.09" y="-326.25" font-family="Times,serif" font-size="14.00">'0'-'8'</text>
|
||||
</g>
|
||||
<!-- m4 -->
|
||||
<g id="node11" class="node">
|
||||
<title>m4</title>
|
||||
<ellipse fill="none" stroke="black" cx="609.09" cy="-416.45" rx="25.22" ry="25.22"/>
|
||||
<ellipse fill="none" stroke="black" cx="609.09" cy="-416.45" rx="29.2" ry="29.2"/>
|
||||
<text text-anchor="middle" x="609.09" y="-412.75" font-family="Times,serif" font-size="14.00">m4</text>
|
||||
</g>
|
||||
<!-- m3->m4 -->
|
||||
<g id="edge17" class="edge">
|
||||
<title>m3->m4</title>
|
||||
<path fill="none" stroke="black" d="M461.27,-365.82C490.9,-376.04 538.46,-392.44 571.38,-403.79"/>
|
||||
<polygon fill="black" stroke="black" points="570.5,-407.19 581.09,-407.14 572.78,-400.57 570.5,-407.19"/>
|
||||
<text text-anchor="middle" x="521.09" y="-400.25" font-family="Times,serif" font-size="14.00">'9'</text>
|
||||
</g>
|
||||
<!-- s3->e -->
|
||||
<g id="edge26" class="edge">
|
||||
<title>s3->e</title>
|
||||
<path fill="none" stroke="black" d="M632.96,-243.82C672.56,-228.47 756.24,-201.92 825.09,-219.45 849.9,-225.76 875.26,-240.46 892.7,-252.13"/>
|
||||
<polygon fill="black" stroke="black" points="890.84,-255.09 901.06,-257.89 894.82,-249.33 890.84,-255.09"/>
|
||||
<text text-anchor="middle" x="787.59" y="-223.25" font-family="Times,serif" font-size="14.00">00-'/',':'-7f</text>
|
||||
</g>
|
||||
<!-- s4 -->
|
||||
<g id="node12" class="node">
|
||||
<title>s4</title>
|
||||
<ellipse fill="none" stroke="black" cx="787.59" cy="-268.45" rx="21.4" ry="21.4"/>
|
||||
<ellipse fill="none" stroke="black" cx="787.59" cy="-268.45" rx="25.4" ry="25.4"/>
|
||||
<text text-anchor="middle" x="787.59" y="-264.75" font-family="Times,serif" font-size="14.00">s4</text>
|
||||
</g>
|
||||
<!-- s3->s4 -->
|
||||
<g id="edge27" class="edge">
|
||||
<title>s3->s4</title>
|
||||
<path fill="none" stroke="black" d="M634.63,-255.53C665.1,-258.12 717.28,-262.56 751.85,-265.5"/>
|
||||
<polygon fill="black" stroke="black" points="751.71,-269 761.97,-266.36 752.3,-262.02 751.71,-269"/>
|
||||
<text text-anchor="middle" x="697.09" y="-267.25" font-family="Times,serif" font-size="14.00">'0'-'9'</text>
|
||||
</g>
|
||||
<!-- m4->e -->
|
||||
<g id="edge18" class="edge">
|
||||
<title>m4->e</title>
|
||||
<path fill="none" stroke="black" d="M636.37,-427.28C692.05,-448.29 821.56,-486.49 880.09,-414.45 907.55,-380.64 914.07,-328.76 915.29,-296.8"/>
|
||||
<polygon fill="black" stroke="black" points="918.79,-296.86 915.52,-286.79 911.79,-296.7 918.79,-296.86"/>
|
||||
<text text-anchor="middle" x="787.59" y="-459.25" font-family="Times,serif" font-size="14.00">00-'/','9'-7f</text>
|
||||
</g>
|
||||
<!-- m4->g -->
|
||||
<g id="edge19" class="edge">
|
||||
<title>m4->g</title>
|
||||
<path fill="none" stroke="black" d="M638.44,-415.32C670.45,-414.05 722.36,-412 755.46,-410.68"/>
|
||||
<polygon fill="black" stroke="black" points="755.65,-414.18 765.5,-410.28 755.37,-407.18 755.65,-414.18"/>
|
||||
<text text-anchor="middle" x="697.09" y="-417.25" font-family="Times,serif" font-size="14.00">'0'-'8'</text>
|
||||
</g>
|
||||
<!-- s4->e -->
|
||||
<g id="edge28" class="edge">
|
||||
<title>s4->e</title>
|
||||
<path fill="none" stroke="black" d="M813.28,-268.45C834.66,-268.45 865.54,-268.45 887.68,-268.45"/>
|
||||
<polygon fill="black" stroke="black" points="887.77,-271.95 897.77,-268.45 887.77,-264.95 887.77,-271.95"/>
|
||||
<text text-anchor="middle" x="861.59" y="-272.25" font-family="Times,serif" font-size="14.00">00-7f</text>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 17 KiB |
222
tests/ref/build_number_upper_bound_9999.svg
Normal file
@@ -0,0 +1,222 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
|
||||
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<!-- Generated by graphviz version 2.43.0 (0)
|
||||
-->
|
||||
<!-- Title: root Pages: 1 -->
|
||||
<svg width="794pt" height="389pt"
|
||||
viewBox="0.00 0.00 793.59 389.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 385)">
|
||||
<title>root</title>
|
||||
<polygon fill="white" stroke="transparent" points="-4,4 -4,-385 789.59,-385 789.59,4 -4,4"/>
|
||||
<!-- e -->
|
||||
<g id="node1" class="node">
|
||||
<title>e</title>
|
||||
<ellipse fill="none" stroke="black" cx="767.09" cy="-188" rx="18" ry="18"/>
|
||||
<text text-anchor="middle" x="767.09" y="-184.3" font-family="Times,serif" font-size="14.00">e</text>
|
||||
</g>
|
||||
<!-- e->e -->
|
||||
<g id="edge1" class="edge">
|
||||
<title>e->e</title>
|
||||
<path fill="none" stroke="black" d="M757.85,-203.54C755.26,-213.91 758.33,-224 767.09,-224 772.83,-224 776.13,-219.65 776.99,-213.74"/>
|
||||
<polygon fill="black" stroke="black" points="780.47,-213.29 776.32,-203.54 773.48,-213.75 780.47,-213.29"/>
|
||||
<text text-anchor="middle" x="767.09" y="-227.8" font-family="Times,serif" font-size="14.00">00-7f</text>
|
||||
</g>
|
||||
<!-- g -->
|
||||
<g id="node2" class="node">
|
||||
<title>g</title>
|
||||
<ellipse fill="none" stroke="black" cx="641.09" cy="-291" rx="18" ry="18"/>
|
||||
<ellipse fill="none" stroke="black" cx="641.09" cy="-291" rx="22" ry="22"/>
|
||||
<text text-anchor="middle" x="641.09" y="-287.3" font-family="Times,serif" font-size="14.00">g</text>
|
||||
</g>
|
||||
<!-- g->e -->
|
||||
<g id="edge2" class="edge">
|
||||
<title>g->e</title>
|
||||
<path fill="none" stroke="black" d="M663.03,-286.9C682.62,-282.14 711.71,-272.58 731.09,-255 743.13,-244.07 751.72,-228.02 757.37,-214.37"/>
|
||||
<polygon fill="black" stroke="black" points="760.66,-215.56 760.97,-204.97 754.13,-213.05 760.66,-215.56"/>
|
||||
<text text-anchor="middle" x="712.59" y="-279.8" font-family="Times,serif" font-size="14.00">00-7f</text>
|
||||
</g>
|
||||
<!-- m0 -->
|
||||
<g id="node3" class="node">
|
||||
<title>m0</title>
|
||||
<ellipse fill="none" stroke="black" cx="29.35" cy="-83" rx="25.22" ry="25.22"/>
|
||||
<ellipse fill="none" stroke="black" cx="29.35" cy="-83" rx="29.2" ry="29.2"/>
|
||||
<text text-anchor="middle" x="29.35" y="-79.3" font-family="Times,serif" font-size="14.00">m0</text>
|
||||
</g>
|
||||
<!-- m0->e -->
|
||||
<g id="edge5" class="edge">
|
||||
<title>m0->e</title>
|
||||
<path fill="none" stroke="black" d="M49.22,-61.19C72.71,-36.6 115.35,0 161.04,0 161.04,0 161.04,0 642.09,0 690.29,0 703.21,-22.67 731.09,-62 751.95,-91.43 760.4,-132.87 763.8,-160.08"/>
|
||||
<polygon fill="black" stroke="black" points="760.33,-160.54 764.91,-170.09 767.29,-159.77 760.33,-160.54"/>
|
||||
<text text-anchor="middle" x="377.09" y="-3.8" font-family="Times,serif" font-size="14.00">00-'/',':'-7f</text>
|
||||
</g>
|
||||
<!-- m1 -->
|
||||
<g id="node4" class="node">
|
||||
<title>m1</title>
|
||||
<ellipse fill="none" stroke="black" cx="162.04" cy="-218" rx="25.22" ry="25.22"/>
|
||||
<ellipse fill="none" stroke="black" cx="162.04" cy="-218" rx="29.2" ry="29.2"/>
|
||||
<text text-anchor="middle" x="162.04" y="-214.3" font-family="Times,serif" font-size="14.00">m1</text>
|
||||
</g>
|
||||
<!-- m0->m1 -->
|
||||
<g id="edge3" class="edge">
|
||||
<title>m0->m1</title>
|
||||
<path fill="none" stroke="black" d="M50.48,-103.8C72.9,-126.95 109.25,-164.5 134.1,-190.17"/>
|
||||
<polygon fill="black" stroke="black" points="131.63,-192.65 141.1,-197.4 136.66,-187.78 131.63,-192.65"/>
|
||||
<text text-anchor="middle" x="95.7" y="-169.8" font-family="Times,serif" font-size="14.00">'9'</text>
|
||||
</g>
|
||||
<!-- s0 -->
|
||||
<g id="node5" class="node">
|
||||
<title>s0</title>
|
||||
<ellipse fill="none" stroke="black" cx="162.04" cy="-83" rx="21.4" ry="21.4"/>
|
||||
<ellipse fill="none" stroke="black" cx="162.04" cy="-83" rx="25.4" ry="25.4"/>
|
||||
<text text-anchor="middle" x="162.04" y="-79.3" font-family="Times,serif" font-size="14.00">s0</text>
|
||||
</g>
|
||||
<!-- m0->s0 -->
|
||||
<g id="edge4" class="edge">
|
||||
<title>m0->s0</title>
|
||||
<path fill="none" stroke="black" d="M58.71,-83C78.49,-83 105.01,-83 126.1,-83"/>
|
||||
<polygon fill="black" stroke="black" points="126.26,-86.5 136.26,-83 126.26,-79.5 126.26,-86.5"/>
|
||||
<text text-anchor="middle" x="95.7" y="-86.8" font-family="Times,serif" font-size="14.00">'0'-'8'</text>
|
||||
</g>
|
||||
<!-- m1->e -->
|
||||
<g id="edge8" class="edge">
|
||||
<title>m1->e</title>
|
||||
<path fill="none" stroke="black" d="M190.59,-225.72C216.87,-232.4 257.68,-241 293.74,-241 293.74,-241 293.74,-241 642.09,-241 680.08,-241 719.73,-219.71 743.67,-204.11"/>
|
||||
<polygon fill="black" stroke="black" points="745.7,-206.96 752.04,-198.47 741.79,-201.16 745.7,-206.96"/>
|
||||
<text text-anchor="middle" x="465.09" y="-244.8" font-family="Times,serif" font-size="14.00">00-'/',':'-7f</text>
|
||||
</g>
|
||||
<!-- m2 -->
|
||||
<g id="node6" class="node">
|
||||
<title>m2</title>
|
||||
<ellipse fill="none" stroke="black" cx="294.74" cy="-305" rx="25.22" ry="25.22"/>
|
||||
<ellipse fill="none" stroke="black" cx="294.74" cy="-305" rx="29.2" ry="29.2"/>
|
||||
<text text-anchor="middle" x="294.74" y="-301.3" font-family="Times,serif" font-size="14.00">m2</text>
|
||||
</g>
|
||||
<!-- m1->m2 -->
|
||||
<g id="edge6" class="edge">
|
||||
<title>m1->m2</title>
|
||||
<path fill="none" stroke="black" d="M185.2,-236.71C192.71,-242.78 201.26,-249.38 209.39,-255 225.43,-266.08 244,-277.25 259.63,-286.22"/>
|
||||
<polygon fill="black" stroke="black" points="258.02,-289.33 268.45,-291.22 261.48,-283.24 258.02,-289.33"/>
|
||||
<text text-anchor="middle" x="228.39" y="-281.8" font-family="Times,serif" font-size="14.00">'9'</text>
|
||||
</g>
|
||||
<!-- s1 -->
|
||||
<g id="node7" class="node">
|
||||
<title>s1</title>
|
||||
<ellipse fill="none" stroke="black" cx="294.74" cy="-129" rx="21.4" ry="21.4"/>
|
||||
<ellipse fill="none" stroke="black" cx="294.74" cy="-129" rx="25.4" ry="25.4"/>
|
||||
<text text-anchor="middle" x="294.74" y="-125.3" font-family="Times,serif" font-size="14.00">s1</text>
|
||||
</g>
|
||||
<!-- m1->s1 -->
|
||||
<g id="edge7" class="edge">
|
||||
<title>m1->s1</title>
|
||||
<path fill="none" stroke="black" d="M186.71,-201.88C208.63,-186.96 241.28,-164.72 264.75,-148.74"/>
|
||||
<polygon fill="black" stroke="black" points="266.96,-151.47 273.25,-142.95 263.02,-145.68 266.96,-151.47"/>
|
||||
<text text-anchor="middle" x="228.39" y="-187.8" font-family="Times,serif" font-size="14.00">'0'-'8'</text>
|
||||
</g>
|
||||
<!-- s0->e -->
|
||||
<g id="edge14" class="edge">
|
||||
<title>s0->e</title>
|
||||
<path fill="none" stroke="black" d="M185.63,-72.5C211.26,-61.56 254.59,-46 293.74,-46 293.74,-46 293.74,-46 642.09,-46 702.86,-46 740.71,-120.71 756.92,-161.75"/>
|
||||
<polygon fill="black" stroke="black" points="753.66,-163.05 760.48,-171.15 760.21,-160.56 753.66,-163.05"/>
|
||||
<text text-anchor="middle" x="465.09" y="-49.8" font-family="Times,serif" font-size="14.00">00-'/',':'-7f</text>
|
||||
</g>
|
||||
<!-- s0->s1 -->
|
||||
<g id="edge15" class="edge">
|
||||
<title>s0->s1</title>
|
||||
<path fill="none" stroke="black" d="M186.41,-91.22C207.22,-98.55 237.9,-109.35 261.13,-117.52"/>
|
||||
<polygon fill="black" stroke="black" points="259.98,-120.83 270.58,-120.85 262.3,-114.23 259.98,-120.83"/>
|
||||
<text text-anchor="middle" x="228.39" y="-114.8" font-family="Times,serif" font-size="14.00">'0'-'9'</text>
|
||||
</g>
|
||||
<!-- m2->e -->
|
||||
<g id="edge10" class="edge">
|
||||
<title>m2->e</title>
|
||||
<path fill="none" stroke="black" d="M320.8,-318.67C327.58,-322.02 335.01,-325.39 342.09,-328 379.92,-341.93 390.09,-344.96 430.09,-350 538.56,-363.67 570.33,-378.75 676.09,-351 703.23,-343.88 713.92,-342.2 731.09,-320 754.5,-289.74 762.3,-245.17 764.87,-216.36"/>
|
||||
<polygon fill="black" stroke="black" points="768.38,-216.39 765.62,-206.16 761.4,-215.87 768.38,-216.39"/>
|
||||
<text text-anchor="middle" x="553.09" y="-369.8" font-family="Times,serif" font-size="14.00">00-'/',':'-7f</text>
|
||||
</g>
|
||||
<!-- s2 -->
|
||||
<g id="node8" class="node">
|
||||
<title>s2</title>
|
||||
<ellipse fill="none" stroke="black" cx="465.09" cy="-164" rx="21.4" ry="21.4"/>
|
||||
<ellipse fill="none" stroke="black" cx="465.09" cy="-164" rx="25.4" ry="25.4"/>
|
||||
<text text-anchor="middle" x="465.09" y="-160.3" font-family="Times,serif" font-size="14.00">s2</text>
|
||||
</g>
|
||||
<!-- m2->s2 -->
|
||||
<g id="edge9" class="edge">
|
||||
<title>m2->s2</title>
|
||||
<path fill="none" stroke="black" d="M317.75,-286.57C348.39,-260.9 403.88,-214.42 437.02,-186.67"/>
|
||||
<polygon fill="black" stroke="black" points="439.52,-189.14 444.94,-180.04 435.02,-183.78 439.52,-189.14"/>
|
||||
<text text-anchor="middle" x="377.09" y="-266.8" font-family="Times,serif" font-size="14.00">'0'-'8'</text>
|
||||
</g>
|
||||
<!-- m3 -->
|
||||
<g id="node9" class="node">
|
||||
<title>m3</title>
|
||||
<ellipse fill="none" stroke="black" cx="465.09" cy="-312" rx="25.22" ry="25.22"/>
|
||||
<ellipse fill="none" stroke="black" cx="465.09" cy="-312" rx="29.2" ry="29.2"/>
|
||||
<text text-anchor="middle" x="465.09" y="-308.3" font-family="Times,serif" font-size="14.00">m3</text>
|
||||
</g>
|
||||
<!-- m2->m3 -->
|
||||
<g id="edge11" class="edge">
|
||||
<title>m2->m3</title>
|
||||
<path fill="none" stroke="black" d="M324.3,-306.19C352.07,-307.34 394.47,-309.11 425.29,-310.39"/>
|
||||
<polygon fill="black" stroke="black" points="425.53,-313.9 435.67,-310.82 425.82,-306.91 425.53,-313.9"/>
|
||||
<text text-anchor="middle" x="377.09" y="-312.8" font-family="Times,serif" font-size="14.00">'9'</text>
|
||||
</g>
|
||||
<!-- s1->e -->
|
||||
<g id="edge16" class="edge">
|
||||
<title>s1->e</title>
|
||||
<path fill="none" stroke="black" d="M320.02,-125.85C370.16,-119.79 488.76,-107.7 588.09,-115 627.52,-117.9 637.26,-120.56 676.09,-128 700.76,-132.73 710.1,-127.21 731.09,-141 739.7,-146.66 746.98,-155.21 752.63,-163.47"/>
|
||||
<polygon fill="black" stroke="black" points="749.82,-165.57 758.11,-172.16 755.74,-161.84 749.82,-165.57"/>
|
||||
<text text-anchor="middle" x="553.09" y="-118.8" font-family="Times,serif" font-size="14.00">00-'/',':'-7f</text>
|
||||
</g>
|
||||
<!-- s1->s2 -->
|
||||
<g id="edge17" class="edge">
|
||||
<title>s1->s2</title>
|
||||
<path fill="none" stroke="black" d="M319.86,-134.01C348.74,-140.02 397.29,-150.11 429.99,-156.91"/>
|
||||
<polygon fill="black" stroke="black" points="429.51,-160.39 440.01,-158.99 430.93,-153.53 429.51,-160.39"/>
|
||||
<text text-anchor="middle" x="377.09" y="-155.8" font-family="Times,serif" font-size="14.00">'0'-'9'</text>
|
||||
</g>
|
||||
<!-- s2->e -->
|
||||
<g id="edge18" class="edge">
|
||||
<title>s2->e</title>
|
||||
<path fill="none" stroke="black" d="M489.44,-155.74C528.6,-143.1 609.73,-122.11 676.09,-139 700.9,-145.32 726.26,-160.02 743.7,-171.68"/>
|
||||
<polygon fill="black" stroke="black" points="741.84,-174.65 752.06,-177.44 745.82,-168.88 741.84,-174.65"/>
|
||||
<text text-anchor="middle" x="641.09" y="-142.8" font-family="Times,serif" font-size="14.00">00-'/',':'-7f</text>
|
||||
</g>
|
||||
<!-- s3 -->
|
||||
<g id="node10" class="node">
|
||||
<title>s3</title>
|
||||
<ellipse fill="none" stroke="black" cx="641.09" cy="-188" rx="21.4" ry="21.4"/>
|
||||
<ellipse fill="none" stroke="black" cx="641.09" cy="-188" rx="25.4" ry="25.4"/>
|
||||
<text text-anchor="middle" x="641.09" y="-184.3" font-family="Times,serif" font-size="14.00">s3</text>
|
||||
</g>
|
||||
<!-- s2->s3 -->
|
||||
<g id="edge19" class="edge">
|
||||
<title>s2->s3</title>
|
||||
<path fill="none" stroke="black" d="M490.65,-167.39C520.7,-171.53 571.76,-178.58 605.71,-183.26"/>
|
||||
<polygon fill="black" stroke="black" points="605.27,-186.73 615.65,-184.63 606.22,-179.8 605.27,-186.73"/>
|
||||
<text text-anchor="middle" x="553.09" y="-183.8" font-family="Times,serif" font-size="14.00">'0'-'9'</text>
|
||||
</g>
|
||||
<!-- m3->e -->
|
||||
<g id="edge12" class="edge">
|
||||
<title>m3->e</title>
|
||||
<path fill="none" stroke="black" d="M493.68,-319.59C501.51,-321.41 510.08,-323.09 518.09,-324 587.86,-331.95 607.86,-338.66 676.09,-322 702.54,-315.54 713.23,-315.56 731.09,-295 750.43,-272.74 759.13,-239.55 763.01,-216.04"/>
|
||||
<polygon fill="black" stroke="black" points="766.5,-216.4 764.48,-206 759.57,-215.39 766.5,-216.4"/>
|
||||
<text text-anchor="middle" x="641.09" y="-335.8" font-family="Times,serif" font-size="14.00">00-'/',':'-7f</text>
|
||||
</g>
|
||||
<!-- m3->g -->
|
||||
<g id="edge13" class="edge">
|
||||
<title>m3->g</title>
|
||||
<path fill="none" stroke="black" d="M494.43,-308.58C525.84,-304.79 576.33,-298.69 608.85,-294.77"/>
|
||||
<polygon fill="black" stroke="black" points="609.63,-298.2 619.14,-293.53 608.79,-291.25 609.63,-298.2"/>
|
||||
<text text-anchor="middle" x="553.09" y="-308.8" font-family="Times,serif" font-size="14.00">'0'-'9'</text>
|
||||
</g>
|
||||
<!-- s3->e -->
|
||||
<g id="edge20" class="edge">
|
||||
<title>s3->e</title>
|
||||
<path fill="none" stroke="black" d="M666.58,-188C687.36,-188 717.12,-188 738.68,-188"/>
|
||||
<polygon fill="black" stroke="black" points="738.82,-191.5 748.82,-188 738.82,-184.5 738.82,-191.5"/>
|
||||
<text text-anchor="middle" x="712.59" y="-191.8" font-family="Times,serif" font-size="14.00">00-7f</text>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 12 KiB |
101
tests/ref/debug-simle_fsm_building.svg
Normal file
@@ -0,0 +1,101 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
|
||||
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<!-- Generated by graphviz version 2.43.0 (0)
|
||||
-->
|
||||
<!-- Title: root Pages: 1 -->
|
||||
<svg width="490pt" height="171pt"
|
||||
viewBox="0.00 0.00 489.69 171.45" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 167.45)">
|
||||
<title>root</title>
|
||||
<polygon fill="white" stroke="transparent" points="-4,4 -4,-167.45 485.69,-167.45 485.69,4 -4,4"/>
|
||||
<!-- z0 -->
|
||||
<g id="node1" class="node">
|
||||
<title>z0</title>
|
||||
<ellipse fill="none" stroke="black" cx="21.45" cy="-111.45" rx="21.4" ry="21.4"/>
|
||||
<text text-anchor="middle" x="21.45" y="-107.75" font-family="Times,serif" font-size="14.00">z0</text>
|
||||
</g>
|
||||
<!-- z2 -->
|
||||
<g id="node2" class="node">
|
||||
<title>z2</title>
|
||||
<ellipse fill="none" stroke="black" cx="287.79" cy="-73.45" rx="21.4" ry="21.4"/>
|
||||
<ellipse fill="none" stroke="black" cx="287.79" cy="-73.45" rx="25.4" ry="25.4"/>
|
||||
<text text-anchor="middle" x="287.79" y="-69.75" font-family="Times,serif" font-size="14.00">z2</text>
|
||||
</g>
|
||||
<!-- z0->z2 -->
|
||||
<g id="edge1" class="edge">
|
||||
<title>z0->z2</title>
|
||||
<path fill="none" stroke="black" d="M42.75,-108.53C87.73,-102.06 196.19,-86.47 252.13,-78.43"/>
|
||||
<polygon fill="black" stroke="black" points="252.86,-81.86 262.26,-76.97 251.86,-74.93 252.86,-81.86"/>
|
||||
<text text-anchor="middle" x="116.34" y="-104.25" font-family="Times,serif" font-size="14.00">'b'</text>
|
||||
</g>
|
||||
<!-- z3 -->
|
||||
<g id="node3" class="node">
|
||||
<title>z3</title>
|
||||
<ellipse fill="none" stroke="black" cx="460.24" cy="-73.45" rx="21.4" ry="21.4"/>
|
||||
<text text-anchor="middle" x="460.24" y="-69.75" font-family="Times,serif" font-size="14.00">z3</text>
|
||||
</g>
|
||||
<!-- z0->z3 -->
|
||||
<g id="edge2" class="edge">
|
||||
<title>z0->z3</title>
|
||||
<path fill="none" stroke="black" d="M42.27,-117.74C91.14,-132.3 221.03,-165.27 325.79,-140.45 365.96,-130.93 407.79,-107.33 433.67,-90.85"/>
|
||||
<polygon fill="black" stroke="black" points="435.65,-93.74 442.13,-85.35 431.84,-87.87 435.65,-93.74"/>
|
||||
<text text-anchor="middle" x="193.79" y="-152.25" font-family="Times,serif" font-size="14.00">00-'`','c'-7f</text>
|
||||
</g>
|
||||
<!-- z1 -->
|
||||
<g id="node4" class="node">
|
||||
<title>z1</title>
|
||||
<ellipse fill="none" stroke="black" cx="116.34" cy="-21.45" rx="21.4" ry="21.4"/>
|
||||
<text text-anchor="middle" x="116.34" y="-17.75" font-family="Times,serif" font-size="14.00">z1</text>
|
||||
</g>
|
||||
<!-- z0->z1 -->
|
||||
<g id="edge3" class="edge">
|
||||
<title>z0->z1</title>
|
||||
<path fill="none" stroke="black" d="M37.37,-96.99C52.41,-82.42 75.78,-59.78 93.02,-43.08"/>
|
||||
<polygon fill="black" stroke="black" points="95.71,-45.34 100.46,-35.87 90.84,-40.32 95.71,-45.34"/>
|
||||
<text text-anchor="middle" x="68.9" y="-75.25" font-family="Times,serif" font-size="14.00">'a'</text>
|
||||
</g>
|
||||
<!-- z2->z2 -->
|
||||
<g id="edge7" class="edge">
|
||||
<title>z2->z2</title>
|
||||
<path fill="none" stroke="black" d="M271.62,-93.56C268.03,-105.58 273.42,-116.9 287.79,-116.9 298.01,-116.9 303.69,-111.18 304.83,-103.55"/>
|
||||
<polygon fill="black" stroke="black" points="308.31,-103.22 303.96,-93.56 301.34,-103.82 308.31,-103.22"/>
|
||||
<text text-anchor="middle" x="287.79" y="-120.7" font-family="Times,serif" font-size="14.00">'a'</text>
|
||||
</g>
|
||||
<!-- z2->z3 -->
|
||||
<g id="edge8" class="edge">
|
||||
<title>z2->z3</title>
|
||||
<path fill="none" stroke="black" d="M313.58,-73.45C343.94,-73.45 395.38,-73.45 428.31,-73.45"/>
|
||||
<polygon fill="black" stroke="black" points="428.71,-76.95 438.71,-73.45 428.71,-69.95 428.71,-76.95"/>
|
||||
<text text-anchor="middle" x="382.29" y="-77.25" font-family="Times,serif" font-size="14.00">00-'`','b'-7f</text>
|
||||
</g>
|
||||
<!-- z3->z3 -->
|
||||
<g id="edge9" class="edge">
|
||||
<title>z3->z3</title>
|
||||
<path fill="none" stroke="black" d="M447.12,-90.89C443.69,-102.1 448.07,-112.9 460.24,-112.9 468.61,-112.9 473.29,-107.79 474.29,-100.96"/>
|
||||
<polygon fill="black" stroke="black" points="477.76,-100.53 473.36,-90.89 470.79,-101.17 477.76,-100.53"/>
|
||||
<text text-anchor="middle" x="460.24" y="-116.7" font-family="Times,serif" font-size="14.00">00-7f</text>
|
||||
</g>
|
||||
<!-- z1->z2 -->
|
||||
<g id="edge6" class="edge">
|
||||
<title>z1->z2</title>
|
||||
<path fill="none" stroke="black" d="M137.11,-27.51C165.72,-36.29 219.01,-52.65 253.68,-63.29"/>
|
||||
<polygon fill="black" stroke="black" points="252.77,-66.67 263.36,-66.26 254.83,-59.98 252.77,-66.67"/>
|
||||
<text text-anchor="middle" x="193.79" y="-58.25" font-family="Times,serif" font-size="14.00">'b'</text>
|
||||
</g>
|
||||
<!-- z1->z3 -->
|
||||
<g id="edge4" class="edge">
|
||||
<title>z1->z3</title>
|
||||
<path fill="none" stroke="black" d="M137.98,-19.47C175.67,-16.36 258,-11.89 325.79,-24.45 363.45,-31.42 404.49,-47.95 430.97,-59.88"/>
|
||||
<polygon fill="black" stroke="black" points="429.82,-63.2 440.37,-64.2 432.74,-56.84 429.82,-63.2"/>
|
||||
<text text-anchor="middle" x="287.79" y="-28.25" font-family="Times,serif" font-size="14.00">00-'`','c'-7f</text>
|
||||
</g>
|
||||
<!-- z1->z1 -->
|
||||
<g id="edge5" class="edge">
|
||||
<title>z1->z1</title>
|
||||
<path fill="none" stroke="black" d="M108.02,-41.34C106.74,-51.62 109.52,-60.9 116.34,-60.9 120.72,-60.9 123.43,-57.09 124.48,-51.65"/>
|
||||
<polygon fill="black" stroke="black" points="127.98,-51.4 124.67,-41.34 120.98,-51.27 127.98,-51.4"/>
|
||||
<text text-anchor="middle" x="116.34" y="-64.7" font-family="Times,serif" font-size="14.00">'a'</text>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 5.4 KiB |
76
tests/ref/state_elimitiation_after.svg
Normal file
@@ -0,0 +1,76 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
|
||||
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<!-- Generated by graphviz version 2.43.0 (0)
|
||||
-->
|
||||
<!-- Title: root Pages: 1 -->
|
||||
<svg width="347pt" height="164pt"
|
||||
viewBox="0.00 0.00 346.69 163.90" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 159.9)">
|
||||
<title>root</title>
|
||||
<polygon fill="white" stroke="transparent" points="-4,4 -4,-159.9 342.69,-159.9 342.69,4 -4,4"/>
|
||||
<!-- z0 -->
|
||||
<g id="node1" class="node">
|
||||
<title>z0</title>
|
||||
<ellipse fill="none" stroke="black" cx="25.45" cy="-59.45" rx="21.4" ry="21.4"/>
|
||||
<ellipse fill="none" stroke="black" cx="25.45" cy="-59.45" rx="25.4" ry="25.4"/>
|
||||
<text text-anchor="middle" x="25.45" y="-55.75" font-family="Times,serif" font-size="14.00">z0</text>
|
||||
</g>
|
||||
<!-- z1 -->
|
||||
<g id="node2" class="node">
|
||||
<title>z1</title>
|
||||
<ellipse fill="none" stroke="black" cx="149.34" cy="-59.45" rx="21.4" ry="21.4"/>
|
||||
<ellipse fill="none" stroke="black" cx="149.34" cy="-59.45" rx="25.4" ry="25.4"/>
|
||||
<text text-anchor="middle" x="149.34" y="-55.75" font-family="Times,serif" font-size="14.00">z1</text>
|
||||
</g>
|
||||
<!-- z0->z1 -->
|
||||
<g id="edge1" class="edge">
|
||||
<title>z0->z1</title>
|
||||
<path fill="none" stroke="black" d="M51.12,-59.45C69.04,-59.45 93.55,-59.45 113.48,-59.45"/>
|
||||
<polygon fill="black" stroke="black" points="113.71,-62.95 123.71,-59.45 113.71,-55.95 113.71,-62.95"/>
|
||||
<text text-anchor="middle" x="87.4" y="-63.25" font-family="Times,serif" font-size="14.00">00-7f</text>
|
||||
</g>
|
||||
<!-- z2 -->
|
||||
<g id="node3" class="node">
|
||||
<title>z2</title>
|
||||
<ellipse fill="none" stroke="black" cx="313.24" cy="-97.45" rx="21.4" ry="21.4"/>
|
||||
<ellipse fill="none" stroke="black" cx="313.24" cy="-97.45" rx="25.4" ry="25.4"/>
|
||||
<text text-anchor="middle" x="313.24" y="-93.75" font-family="Times,serif" font-size="14.00">z2</text>
|
||||
</g>
|
||||
<!-- z1->z2 -->
|
||||
<g id="edge2" class="edge">
|
||||
<title>z1->z2</title>
|
||||
<path fill="none" stroke="black" d="M174.03,-67.12C180.12,-68.97 186.67,-70.87 192.79,-72.45 221.21,-79.76 253.84,-86.48 277.81,-91.1"/>
|
||||
<polygon fill="black" stroke="black" points="277.36,-94.58 287.84,-93.01 278.67,-87.7 277.36,-94.58"/>
|
||||
<text text-anchor="middle" x="231.29" y="-93.25" font-family="Times,serif" font-size="14.00">00-'`','{'-7f</text>
|
||||
</g>
|
||||
<!-- z3 -->
|
||||
<g id="node4" class="node">
|
||||
<title>z3</title>
|
||||
<ellipse fill="none" stroke="black" cx="313.24" cy="-25.45" rx="21.4" ry="21.4"/>
|
||||
<ellipse fill="none" stroke="black" cx="313.24" cy="-25.45" rx="25.4" ry="25.4"/>
|
||||
<text text-anchor="middle" x="313.24" y="-21.75" font-family="Times,serif" font-size="14.00">z3</text>
|
||||
</g>
|
||||
<!-- z1->z3 -->
|
||||
<g id="edge3" class="edge">
|
||||
<title>z1->z3</title>
|
||||
<path fill="none" stroke="black" d="M174.73,-55.64C198.97,-51.7 237.14,-45.05 269.79,-37.45 272.75,-36.76 275.82,-35.99 278.88,-35.19"/>
|
||||
<polygon fill="black" stroke="black" points="279.81,-38.57 288.54,-32.57 277.98,-31.81 279.81,-38.57"/>
|
||||
<text text-anchor="middle" x="231.29" y="-57.25" font-family="Times,serif" font-size="14.00">'a'-'z'</text>
|
||||
</g>
|
||||
<!-- z2->z2 -->
|
||||
<g id="edge4" class="edge">
|
||||
<title>z2->z2</title>
|
||||
<path fill="none" stroke="black" d="M298.86,-118.91C296.42,-130.41 301.21,-140.9 313.24,-140.9 321.51,-140.9 326.36,-135.94 327.79,-129.11"/>
|
||||
<polygon fill="black" stroke="black" points="331.29,-128.85 327.62,-118.91 324.29,-128.97 331.29,-128.85"/>
|
||||
<text text-anchor="middle" x="313.24" y="-144.7" font-family="Times,serif" font-size="14.00">00-7f</text>
|
||||
</g>
|
||||
<!-- z3->z1 -->
|
||||
<g id="edge5" class="edge">
|
||||
<title>z3->z1</title>
|
||||
<path fill="none" stroke="black" d="M288.37,-18.21C263.54,-11.99 223.99,-5.84 192.79,-18.45 185.31,-21.47 178.42,-26.51 172.45,-32.05"/>
|
||||
<polygon fill="black" stroke="black" points="169.94,-29.62 165.43,-39.21 174.93,-34.52 169.94,-29.62"/>
|
||||
<text text-anchor="middle" x="231.29" y="-22.25" font-family="Times,serif" font-size="14.00">00-7f</text>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 4.0 KiB |
104
tests/ref/state_elimitiation_before.svg
Normal file
@@ -0,0 +1,104 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
|
||||
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<!-- Generated by graphviz version 2.43.0 (0)
|
||||
-->
|
||||
<!-- Title: root Pages: 1 -->
|
||||
<svg width="347pt" height="237pt"
|
||||
viewBox="0.00 0.00 346.69 236.90" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 232.9)">
|
||||
<title>root</title>
|
||||
<polygon fill="white" stroke="transparent" points="-4,4 -4,-232.9 342.69,-232.9 342.69,4 -4,4"/>
|
||||
<!-- z0 -->
|
||||
<g id="node1" class="node">
|
||||
<title>z0</title>
|
||||
<ellipse fill="none" stroke="black" cx="25.45" cy="-101.45" rx="21.4" ry="21.4"/>
|
||||
<ellipse fill="none" stroke="black" cx="25.45" cy="-101.45" rx="25.4" ry="25.4"/>
|
||||
<text text-anchor="middle" x="25.45" y="-97.75" font-family="Times,serif" font-size="14.00">z0</text>
|
||||
</g>
|
||||
<!-- z1 -->
|
||||
<g id="node2" class="node">
|
||||
<title>z1</title>
|
||||
<ellipse fill="none" stroke="black" cx="149.34" cy="-101.45" rx="21.4" ry="21.4"/>
|
||||
<ellipse fill="none" stroke="black" cx="149.34" cy="-101.45" rx="25.4" ry="25.4"/>
|
||||
<text text-anchor="middle" x="149.34" y="-97.75" font-family="Times,serif" font-size="14.00">z1</text>
|
||||
</g>
|
||||
<!-- z0->z1 -->
|
||||
<g id="edge1" class="edge">
|
||||
<title>z0->z1</title>
|
||||
<path fill="none" stroke="black" d="M51.12,-101.45C69.04,-101.45 93.55,-101.45 113.48,-101.45"/>
|
||||
<polygon fill="black" stroke="black" points="113.71,-104.95 123.71,-101.45 113.71,-97.95 113.71,-104.95"/>
|
||||
<text text-anchor="middle" x="87.4" y="-105.25" font-family="Times,serif" font-size="14.00">00-7f</text>
|
||||
</g>
|
||||
<!-- z2 -->
|
||||
<g id="node3" class="node">
|
||||
<title>z2</title>
|
||||
<ellipse fill="none" stroke="black" cx="313.24" cy="-139.45" rx="21.4" ry="21.4"/>
|
||||
<ellipse fill="none" stroke="black" cx="313.24" cy="-139.45" rx="25.4" ry="25.4"/>
|
||||
<text text-anchor="middle" x="313.24" y="-135.75" font-family="Times,serif" font-size="14.00">z2</text>
|
||||
</g>
|
||||
<!-- z1->z2 -->
|
||||
<g id="edge2" class="edge">
|
||||
<title>z1->z2</title>
|
||||
<path fill="none" stroke="black" d="M173.01,-110.84C179.34,-113.23 186.27,-115.63 192.79,-117.45 220.93,-125.27 253.58,-131.07 277.63,-134.75"/>
|
||||
<polygon fill="black" stroke="black" points="277.3,-138.23 287.7,-136.24 278.32,-131.31 277.3,-138.23"/>
|
||||
<text text-anchor="middle" x="231.29" y="-136.25" font-family="Times,serif" font-size="14.00">00-'`','{'-7f</text>
|
||||
</g>
|
||||
<!-- z3 -->
|
||||
<g id="node4" class="node">
|
||||
<title>z3</title>
|
||||
<ellipse fill="none" stroke="black" cx="313.24" cy="-63.45" rx="21.4" ry="21.4"/>
|
||||
<ellipse fill="none" stroke="black" cx="313.24" cy="-63.45" rx="25.4" ry="25.4"/>
|
||||
<text text-anchor="middle" x="313.24" y="-59.75" font-family="Times,serif" font-size="14.00">z3</text>
|
||||
</g>
|
||||
<!-- z1->z3 -->
|
||||
<g id="edge3" class="edge">
|
||||
<title>z1->z3</title>
|
||||
<path fill="none" stroke="black" d="M174.88,-98.24C199.24,-94.74 237.49,-88.43 269.79,-79.45 273.16,-78.51 276.63,-77.42 280.07,-76.25"/>
|
||||
<polygon fill="black" stroke="black" points="281.35,-79.52 289.58,-72.84 278.98,-72.93 281.35,-79.52"/>
|
||||
<text text-anchor="middle" x="231.29" y="-98.25" font-family="Times,serif" font-size="14.00">'a'-'z'</text>
|
||||
</g>
|
||||
<!-- z2->z2 -->
|
||||
<g id="edge4" class="edge">
|
||||
<title>z2->z2</title>
|
||||
<path fill="none" stroke="black" d="M298.86,-160.91C296.42,-172.41 301.21,-182.9 313.24,-182.9 321.51,-182.9 326.36,-177.94 327.79,-171.11"/>
|
||||
<polygon fill="black" stroke="black" points="331.29,-170.85 327.62,-160.91 324.29,-170.97 331.29,-170.85"/>
|
||||
<text text-anchor="middle" x="313.24" y="-186.7" font-family="Times,serif" font-size="14.00">00-7f</text>
|
||||
</g>
|
||||
<!-- z3->z1 -->
|
||||
<g id="edge5" class="edge">
|
||||
<title>z3->z1</title>
|
||||
<path fill="none" stroke="black" d="M288.36,-57.44C263.51,-52.4 223.95,-47.86 192.79,-60.45 185.31,-63.47 178.42,-68.51 172.45,-74.05"/>
|
||||
<polygon fill="black" stroke="black" points="169.94,-71.62 165.43,-81.21 174.93,-76.52 169.94,-71.62"/>
|
||||
<text text-anchor="middle" x="231.29" y="-64.25" font-family="Times,serif" font-size="14.00">00-7f</text>
|
||||
</g>
|
||||
<!-- z4 -->
|
||||
<g id="node5" class="node">
|
||||
<title>z4</title>
|
||||
<ellipse fill="none" stroke="black" cx="149.34" cy="-25.45" rx="21.4" ry="21.4"/>
|
||||
<ellipse fill="none" stroke="black" cx="149.34" cy="-25.45" rx="25.4" ry="25.4"/>
|
||||
<text text-anchor="middle" x="149.34" y="-21.75" font-family="Times,serif" font-size="14.00">z4</text>
|
||||
</g>
|
||||
<!-- z4->z3 -->
|
||||
<g id="edge6" class="edge">
|
||||
<title>z4->z3</title>
|
||||
<path fill="none" stroke="black" d="M174.92,-23.29C199.63,-21.98 238.45,-22.33 269.79,-33.45 275.11,-35.33 280.36,-38.09 285.26,-41.17"/>
|
||||
<polygon fill="black" stroke="black" points="283.42,-44.16 293.64,-46.97 287.4,-38.4 283.42,-44.16"/>
|
||||
<text text-anchor="middle" x="231.29" y="-37.25" font-family="Times,serif" font-size="14.00">00-7f</text>
|
||||
</g>
|
||||
<!-- z5 -->
|
||||
<g id="node6" class="node">
|
||||
<title>z5</title>
|
||||
<ellipse fill="none" stroke="black" cx="25.45" cy="-170.45" rx="21.4" ry="21.4"/>
|
||||
<ellipse fill="none" stroke="black" cx="25.45" cy="-170.45" rx="25.4" ry="25.4"/>
|
||||
<text text-anchor="middle" x="25.45" y="-166.75" font-family="Times,serif" font-size="14.00">z5</text>
|
||||
</g>
|
||||
<!-- z5->z5 -->
|
||||
<g id="edge7" class="edge">
|
||||
<title>z5->z5</title>
|
||||
<path fill="none" stroke="black" d="M14.42,-193.69C13.22,-204.48 16.89,-213.9 25.45,-213.9 31.06,-213.9 34.57,-209.84 35.99,-204"/>
|
||||
<polygon fill="black" stroke="black" points="39.5,-203.85 36.48,-193.69 32.51,-203.52 39.5,-203.85"/>
|
||||
<text text-anchor="middle" x="25.45" y="-217.7" font-family="Times,serif" font-size="14.00">00-7f</text>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 5.5 KiB |