fan-out fan-out#1 "fan-out" @26:15 order=0 count=3 type="string[]"
ask ask#1 "ask" head="a-" @27:35 order=1 within=fan-out#1 type="string"
actor actor#1 head="a-" @27:19 order=2 within=fan-out#1
fan-out fan-out#2 "fan-out" @32:15 order=3 count=3 type="string[]"
ask ask#2 "ask" head="b-" @33:35 order=4 within=fan-out#2 type="string"
actor actor#2 head="b-" @33:19 order=5 within=fan-out#2
join join#1 "join" @37:30 order=6 type="[string[], string[]]" ports="string[]","string[]"
join join#2 "join" @37:43 order=7 type="string[]"
join join#3 "join" @37:63 order=8 type="string[]"
join join#4 "join" @40:30 order=9 type="string[]"
fan-out fan-out#3 "fan-out" @41:3 order=10 count=3 type="string[]"
ask ask#3 "ask" head="c-" @42:37 order=11 within=fan-out#3 type="string"
actor actor#3 head="c-" @42:21 order=12 within=fan-out#3
fact ask-data ask#1 <- fan-out#1 exact
fact ask-data ask#2 <- fan-out#2 exact
fact ask-data ask#3 <- ask#1 exact
fact ask-data ask#3 <- join#2 exact
fact ask-data ask#3 <- join#1 exact port=0
fact ask-data ask#3 <- ask#2 exact
fact ask-data ask#3 <- join#3 exact
fact ask-data ask#3 <- join#1 exact port=1
fact ask-data ask#3 <- fan-out#1 exact
fact ask-data ask#3 <- fan-out#2 exact
fact ask-data ask#3 <- fan-out#3 exact
fact ask-actor ask#1 <- actor#1 exact
fact ask-actor ask#2 <- actor#2 exact
fact ask-actor ask#3 <- actor#3 exact
fact join-in join#1 <- ask#1 exact port=0
fact join-in join#1 <- join#2 exact port=0
fact join-in join#1 <- fan-out#1 exact port=0
fact join-in join#1 <- ask#2 exact port=1
fact join-in join#1 <- join#3 exact port=1
fact join-in join#1 <- fan-out#2 exact port=1
fact join-in join#2 <- ask#1 exact
fact join-in join#2 <- fan-out#1 exact
fact join-in join#3 <- ask#2 exact
fact join-in join#3 <- fan-out#2 exact
fact join-in join#4 <- ask#3 exact
fact join-in join#4 <- fan-out#3 exact
fact return <- ask#3 exact
fact return <- join#4 exact
fact return <- fan-out#3 exact
region seq#1 seq entered
region fanout#1 fanout parent=seq#1 @26:15 label="map" strand
region fanout#2 fanout parent=seq#1 @32:15 label="map" strand
region fanout#3 fanout parent=seq#1 @41:3 label="map" strand
mark phase#1 in=seq#1
spawn actor#1 in=seq#1>fanout#1
issue ask#1 in=seq#1>fanout#1 phase=phase#1
settle ask#1 in=seq#1>fanout#1
jump return fanout#1 in=seq#1>fanout#1 phase=phase#1
mark phase#2 in=seq#1
spawn actor#2 in=seq#1>fanout#2
issue ask#2 in=seq#1>fanout#2 phase=phase#2
settle ask#2 in=seq#1>fanout#2
jump return fanout#2 in=seq#1>fanout#2 phase=phase#2
settle ask#1,ask#2 in=seq#1 joins=fanout#1,fanout#2
mark phase#3 in=seq#1
spawn actor#3 in=seq#1>fanout#3
issue ask#3 in=seq#1>fanout#3 phase=phase#3
settle ask#3 in=seq#1>fanout#3
jump return fanout#3 in=seq#1>fanout#3 phase=phase#3
settle ask#3 in=seq#1 joins=fanout#3
jump return seq#1 in=seq#1 phase=phase#3
phase phase#1 "A" @25:1
phase phase#2 "B" @31:1
phase phase#3 "C" @39:1
