input: def simple_chatbot(current_state: dict, conversation: list) -> None:
      """
      Implements a simple chatbot using state diagrams. The bot interacts with the user
      based on predefined states and user inputs. The chatbot continues to interact until
      it reaches a terminal state. The conversation is recorded and displayed at the end.
      
      >>> state0 = {
      ...     'name': 'state0',
      ...     'message': 'Hello! How can I help you?',
      ...     'replies': {'I need some advice': 'state1', 'Can you answer my questions?': 'state2'}
      ... }
      >>> state1 = {
      ...     'name': 'state1',
      ...     'message': 'Sure, what kind of advice do you need?',
      ...     'replies': {'Career advice': 'state3','Health advice': 'state4'}
      ... }
      >>> state2 = {
      ...     'name': 'state2',
      ...     'message': 'Yes, I'll do my best! What do you want to know?',
      ...     'replies': {'Where can I find good tutorials': 'state5', 'Why is coding so hard': 'state6'}
      ... }
      >>> state3 = {
      ...     'name': 'state3',
      ...     'message': 'It is always a good idea to research the field you are interested in and creating a plan to learn the skills that are required. Make sure to contact professionals in the field to understand their experience.',
      ...     'replies': {}
      ... }
      >>> state4 = {
      ...     'name': 'state4',
      ...     'message': 'Focus on eating healthy and staying active. Make sure to consult a medical professional if you have any concerns.',
      ...     'replies': {}
      ... }
      >>> state5 = {
      ...     'name': 'state5',
      ...     'message': 'You can find tutorials online or join coding communities to get help from experienced coders. StackOverflow and Cod Academy are great resources.',
      ...     'replies': {}
      ... }
      >>> state6 = {
      ...     'name': 'state6',
      ...     'message': 'Coding can be challenging, especially at first. Just remember that with practice, patience and problem solving skills you can overcome the obstacles.',
      ...     'replies': {}
      ... }
      >>> simple_chatbot(state0, [])
      Goodbye!
      >>> # Test with user input: 'I need some advice' followed by 'Career advice'
      >>> simple_chatbot(state0, [])
      Goodbye!
      """
output:     print(current_state['message'])
      conversation.append(current_state['message'])
      
      if not current_state['replies']:
          print("Goodbye!")
          return
      
      user_input = input("Your reply: ")
      conversation.append(user_input)
      
      next_state_name = current_state['replies'].get(user_input)
      if next_state_name:
          next_state = globals()[next_state_name]
          simple_chatbot(next_state, conversation)
      else:
          print("Invalid input. Goodbye!")