Macro: BROADCAST_FOCUS
#IFSAME !1 RECURSIVE RECURSIVE_UP
#CHECK !2 '"GET""SET""SEND""NO_STOP"'
#IFSAME !1 RECURSIVE
MOVE 52 TO FORWARD$MESSAGE // broadcast + focus + recursive_down
#ELSE
MOVE 100 TO FORWARD$MESSAGE // broadcast + focus + recursive_up
#ENDIF
#IFSAME !2 NO_STOP
#CHECK !3 '"GET""SET""SEND"'
MOVE (FORWARD$MESSAGE+128) TO FORWARD$MESSAGE // no stop on non-0 return
!3 !4 !5 !6 !7 !8 !9
#ELSE
!2 !3 !4 !5 !6 !7 !8 !9
#ENDIF
#ELSE
MOVE 36 TO FORWARD$MESSAGE // broadcast + focus
#IFSAME !1 NO_STOP
#CHECK !2 '"GET""SET""SEND"'
MOVE (FORWARD$MESSAGE+128) TO FORWARD$MESSAGE // + no_stop
!2 !3 !4 !5 !6 !7 !8 !9
#ELSE
!1 !2 !3 !4 !5 !6 !7 !8 !9
#ENDIF
#ENDIF