def receive(self, input):
        current = self.table[self.state]

        if input not in self.inputs.iterconstants():
            raise IllegalInput(input)

        try:
            transition = current[input]
        except __HOLE__:
            raise UnhandledInput(self.state, input)

        self.state = transition.nextState
        return transition.output
dataset/ETHPy150Open ClusterHQ/machinist/machinist/_fsm.py/_FiniteStateMachine.receive