input: Write a function to calculate the age, date of birth, and days until the next birthday of a person.
  assert Person('Alice', '1990-01-01').get_age() == 33  # Assuming the current year is 2023
  assert Person('Bob', '2000-12-31').get_date_of_birth() == datetime.datetime(2000, 12, 31)
  assert Person('Charlie', '1985-05-15').days_until_next_birthday() >= 0  # This will vary based on the current date
output: from datetime import datetime, timedelta
  
  class Person:
      def __init__(self, name, dob_str):
          self.name = name
          self.dob = datetime.strptime(dob_str, '%Y-%m-%d')
      
      def get_age(self):
          today = datetime.today()
          age = today.year - self.dob.year - ((today.month, today.day) < (self.dob.month, self.dob.day))
          return age
      
      def get_date_of_birth(self):
          return self.dob
      
      def days_until_next_birthday(self):
          today = datetime.today()
          next_birthday = self.dob.replace(year=today.year)
          if next_birthday < today:
              next_birthday = next_birthday.replace(year=today.year + 1)
          return (next_birthday - today).days