@startuml
!pragma layout smetana
set separator none
hide empty description
hide stereotype
skinparam state {
  BackgroundColor white
  BorderColor #94a3b8
  BorderThickness 1
  FontName Inter
  FontSize 9
  FontStyle bold
  RoundCorner 20
  Padding 1
}
skinparam shadowing false
skinparam ArrowFontName JetBrains Mono
skinparam ArrowFontSize 8
skinparam ArrowColor #cbd5e1
skinparam ArrowThickness 1
skinparam dpi 110
skinparam svgLinkTarget _self

[*] --> States.STATE1

state States.STATEY <<choice>>
state States.STATE9 <<choice>>
state States.STATE8 <<choice>>

States.STATE1 -[#1E90FF,bold]-> States.STATE2 <<external>> : Events.EVENT1
States.STATE2 -[#1E90FF,bold]-> States.STATE3 <<external>> : Events.EVENT2
States.STATE3 -[#1E90FF,bold]-> States.STATE4 <<external>> : Events.EVENT3
States.STATE4 -[#1E90FF,bold]-> States.STATE5 <<external>> : Events.EVENT4
States.STATE5 -[#1E90FF,bold]-> States.STATE6 <<external>> : Events.EVENT5
States.STATE6 -[#1E90FF,bold]-> States.STATE7 <<external>> : Events.EVENT6
States.STATE7 -[#1E90FF,bold]-> States.STATE8 <<external>> : Events.EVENT7
States.STATE8 -[#1E90FF,bold]-> States.STATE9 <<external>> : Events.EVENT8
States.STATE9 -[#1E90FF,bold]-> States.STATE10 <<external>> : Events.EVENT9
States.STATE1 -[#1E90FF,bold]-> States.CANCEL <<external>> : Events.EVENT_CANCEL
States.STATE2 -[#1E90FF,bold]-> States.CANCEL <<external>> : Events.EVENT_CANCEL
States.STATE3 -[#1E90FF,bold]-> States.CANCEL <<external>> : Events.EVENT_CANCEL
States.STATE4 -[#1E90FF,bold]-> States.CANCEL <<external>> : Events.EVENT_CANCEL
States.STATE5 -[#1E90FF,bold]-> States.CANCEL <<external>> : Events.EVENT_CANCEL
States.STATE4 -[#1E90FF,bold]-> States.STATEY <<external>> : Events.EVENTY
States.STATEY -[#FF6347,bold]-> States.STATEX <<choice_type>> : [guardVarEquals("value1")] (order=0)
States.STATEY -[#FF6347,bold]-> States.STATEZ <<choice_type>> : (order=1)
States.STATE9 -[#FF6347,bold]-> States.STATE8 <<choice_type>> : [guardVarEquals("stepBack")] (order=0)
States.STATE9 -[#FF6347,bold]-> States.STATE7 <<choice_type>> : [guardVarEquals("stepBackMore")] (order=1)
States.STATE9 -[#FF6347,bold]-> States.STATE6 <<choice_type>> : (order=2)
States.STATE8 -[#FF6347,bold]-> States.STATE9 <<choice_type>> : [guardVarEquals("forward9")] (order=0)
States.STATE8 -[#FF6347,bold]-> States.STATE10 <<choice_type>> : (order=1)
States.STATE3 -[#1E90FF,bold]-> States.STATE_EXTRA_1 <<external>> : Events.EVENT_1_2
States.STATE_EXTRA_1 -[#1E90FF,bold]-> States.STATE_EXTRA_2 <<external>> : Events.EVENT_1_3
States.STATE_EXTRA_1 -[#1E90FF,bold]-> States.CANCEL <<external>> : Events.EVENT_CANCEL
States.STATE_EXTRA_2 -[#1E90FF,bold]-> States.CANCEL <<external>> : Events.EVENT_CANCEL

States.STATEZ --> [*]
@enduml

