digraph { graph [dpi=100 pack=true] node [fontname=Menlo] edge [fontname=Menlo] S0_empty [color=blue fontame="Menlo-Bold" shape=ellipse style=bold] S4_closed [color=blue fontame=Menlo shape=ellipse style=""] S3_closing [color=blue fontame=Menlo shape=ellipse style=""] S2_happy [color=blue fontame=Menlo shape=ellipse style=""] S1_lonely [color=blue fontame=Menlo shape=ellipse style=""] S1_growing [color=blue fontame=Menlo shape=ellipse style=""] t0 [label=<

send

> margin=0.2 shape=none] S3_closing -> t0:tableport:w [arrowhead=none] t0:tableport:e -> S3_closing t1 [label=<

closed
W_closed

> margin=0.2 shape=none] S3_closing -> t1:tableport:w [arrowhead=none] t1:tableport:e -> S4_closed t2 [label=<

error
W_close_with_error

> margin=0.2 shape=none] S0_empty -> t2:tableport:w [arrowhead=none] t2:tableport:e -> S4_closed t3 [label=<

_got_dilate
D_received_dilate

> margin=0.2 shape=none] S2_happy -> t3:tableport:w [arrowhead=none] t3:tableport:e -> S2_happy t4 [label=<

send
S_send

> margin=0.2 shape=none] S1_lonely -> t4:tableport:w [arrowhead=none] t4:tableport:e -> S1_lonely t5 [label=<

rx_unwelcome
close_unwelcome

> margin=0.2 shape=none] S2_happy -> t5:tableport:w [arrowhead=none] t5:tableport:e -> S3_closing t6 [label=<

_got_phase
_grow_got_phase

> margin=0.2 shape=none] S1_growing -> t6:tableport:w [arrowhead=none] t6:tableport:e -> S1_growing t7 [label=<

scared
close_scared

> margin=0.2 shape=none] S1_growing -> t7:tableport:w [arrowhead=none] t7:tableport:e -> S3_closing t8 [label=<

_got_phase

> margin=0.2 shape=none] S3_closing -> t8:tableport:w [arrowhead=none] t8:tableport:e -> S3_closing t9 [label=<

send

> margin=0.2 shape=none] S4_closed -> t9:tableport:w [arrowhead=none] t9:tableport:e -> S4_closed t10 [label=<

_got_welcome
water_seed

> margin=0.2 shape=none] S1_growing -> t10:tableport:w [arrowhead=none] t10:tableport:e -> S1_growing t11 [label=<

rx_unwelcome
close_unwelcome

> margin=0.2 shape=none] S1_growing -> t11:tableport:w [arrowhead=none] t11:tableport:e -> S3_closing t12 [label=<

got_code
do_got_code

> margin=0.2 shape=none] S0_empty -> t12:tableport:w [arrowhead=none] t12:tableport:e -> S1_lonely t13 [label=<

error
W_close_with_error

> margin=0.2 shape=none] S1_lonely -> t13:tableport:w [arrowhead=none] t13:tableport:e -> S4_closed t14 [label=<

rx_error
W_close_rx_error

> margin=0.2 shape=none] S0_empty -> t14:tableport:w [arrowhead=none] t14:tableport:e -> S3_closing t15 [label=<

rx_unwelcome
close_unwelcome

> margin=0.2 shape=none] S0_empty -> t15:tableport:w [arrowhead=none] t15:tableport:e -> S3_closing t16 [label=<

close

> margin=0.2 shape=none] S3_closing -> t16:tableport:w [arrowhead=none] t16:tableport:e -> S3_closing t17 [label=<

rx_error
W_close_rx_error

> margin=0.2 shape=none] S1_growing -> t17:tableport:w [arrowhead=none] t17:tableport:e -> S3_closing t18 [label=<

got_key
W_got_key | D_got_key

> margin=0.2 shape=none] S1_growing -> t18:tableport:w [arrowhead=none] t18:tableport:e -> S1_growing t19 [label=<

scared
close_scared

> margin=0.2 shape=none] S2_happy -> t19:tableport:w [arrowhead=none] t19:tableport:e -> S3_closing t20 [label=<

_got_phase

> margin=0.2 shape=none] S4_closed -> t20:tableport:w [arrowhead=none] t20:tableport:e -> S4_closed t21 [label=<

scared

> margin=0.2 shape=none] S4_closed -> t21:tableport:w [arrowhead=none] t21:tableport:e -> S4_closed t22 [label=<

error
W_close_with_error

> margin=0.2 shape=none] S2_happy -> t22:tableport:w [arrowhead=none] t22:tableport:e -> S4_closed t23 [label=<

got_key
W_got_key | D_got_key

> margin=0.2 shape=none] S1_lonely -> t23:tableport:w [arrowhead=none] t23:tableport:e -> S1_lonely t24 [label=<

close
close_lonely

> margin=0.2 shape=none] S1_growing -> t24:tableport:w [arrowhead=none] t24:tableport:e -> S3_closing t25 [label=<

close
close_happy

> margin=0.2 shape=none] S2_happy -> t25:tableport:w [arrowhead=none] t25:tableport:e -> S3_closing t26 [label=<

happy

> margin=0.2 shape=none] S1_growing -> t26:tableport:w [arrowhead=none] t26:tableport:e -> S2_happy t27 [label=<

rx_error
close_error

> margin=0.2 shape=none] S2_happy -> t27:tableport:w [arrowhead=none] t27:tableport:e -> S3_closing t28 [label=<

rx_error
W_close_rx_error

> margin=0.2 shape=none] S1_lonely -> t28:tableport:w [arrowhead=none] t28:tableport:e -> S3_closing t29 [label=<

rx_unwelcome

> margin=0.2 shape=none] S3_closing -> t29:tableport:w [arrowhead=none] t29:tableport:e -> S3_closing t30 [label=<

rx_error

> margin=0.2 shape=none] S3_closing -> t30:tableport:w [arrowhead=none] t30:tableport:e -> S3_closing t31 [label=<

got_verifier

> margin=0.2 shape=none] S3_closing -> t31:tableport:w [arrowhead=none] t31:tableport:e -> S3_closing t32 [label=<

error
W_close_with_error

> margin=0.2 shape=none] S1_growing -> t32:tableport:w [arrowhead=none] t32:tableport:e -> S4_closed t33 [label=<

scared

> margin=0.2 shape=none] S3_closing -> t33:tableport:w [arrowhead=none] t33:tableport:e -> S3_closing t34 [label=<

send
S_send

> margin=0.2 shape=none] S1_growing -> t34:tableport:w [arrowhead=none] t34:tableport:e -> S1_growing t35 [label=<

rx_unwelcome
close_unwelcome

> margin=0.2 shape=none] S1_lonely -> t35:tableport:w [arrowhead=none] t35:tableport:e -> S3_closing t36 [label=<

_got_version

> margin=0.2 shape=none] S3_closing -> t36:tableport:w [arrowhead=none] t36:tableport:e -> S3_closing t37 [label=<

happy

> margin=0.2 shape=none] S3_closing -> t37:tableport:w [arrowhead=none] t37:tableport:e -> S3_closing t38 [label=<

send
S_send

> margin=0.2 shape=none] S2_happy -> t38:tableport:w [arrowhead=none] t38:tableport:e -> S2_happy t39 [label=<

error

> margin=0.2 shape=none] S4_closed -> t39:tableport:w [arrowhead=none] t39:tableport:e -> S4_closed t40 [label=<

rx_unwelcome

> margin=0.2 shape=none] S4_closed -> t40:tableport:w [arrowhead=none] t40:tableport:e -> S4_closed t41 [label=<

close
close_lonely

> margin=0.2 shape=none] S0_empty -> t41:tableport:w [arrowhead=none] t41:tableport:e -> S3_closing t42 [label=<

got_verifier

> margin=0.2 shape=none] S4_closed -> t42:tableport:w [arrowhead=none] t42:tableport:e -> S4_closed t43 [label=<

_got_dilate

> margin=0.2 shape=none] S4_closed -> t43:tableport:w [arrowhead=none] t43:tableport:e -> S4_closed t44 [label=<

_got_phase
W_received

> margin=0.2 shape=none] S2_happy -> t44:tableport:w [arrowhead=none] t44:tableport:e -> S2_happy t45 [label=<

send
S_send

> margin=0.2 shape=none] S0_empty -> t45:tableport:w [arrowhead=none] t45:tableport:e -> S0_empty t46 [label=<

scared
close_scared

> margin=0.2 shape=none] S1_lonely -> t46:tableport:w [arrowhead=none] t46:tableport:e -> S3_closing t47 [label=<

error
W_close_with_error

> margin=0.2 shape=none] S3_closing -> t47:tableport:w [arrowhead=none] t47:tableport:e -> S4_closed t48 [label=<

happy

> margin=0.2 shape=none] S1_lonely -> t48:tableport:w [arrowhead=none] t48:tableport:e -> S2_happy t49 [label=<

_got_version
process_version

> margin=0.2 shape=none] S2_happy -> t49:tableport:w [arrowhead=none] t49:tableport:e -> S2_happy t50 [label=<

_got_dilate

> margin=0.2 shape=none] S3_closing -> t50:tableport:w [arrowhead=none] t50:tableport:e -> S3_closing t51 [label=<

_got_version

> margin=0.2 shape=none] S4_closed -> t51:tableport:w [arrowhead=none] t51:tableport:e -> S4_closed t52 [label=<

happy

> margin=0.2 shape=none] S4_closed -> t52:tableport:w [arrowhead=none] t52:tableport:e -> S4_closed t53 [label=<

close
close_lonely

> margin=0.2 shape=none] S1_lonely -> t53:tableport:w [arrowhead=none] t53:tableport:e -> S3_closing t54 [label=<

got_verifier
W_got_verifier

> margin=0.2 shape=none] S2_happy -> t54:tableport:w [arrowhead=none] t54:tableport:e -> S2_happy t55 [label=<

got_seed

> margin=0.2 shape=none] S0_empty -> t55:tableport:w [arrowhead=none] t55:tableport:e -> S1_growing t56 [label=<

close

> margin=0.2 shape=none] S4_closed -> t56:tableport:w [arrowhead=none] t56:tableport:e -> S4_closed }