code: def make_mid_color(self, color1, color2, distance, long_route=False):
          
  
          def fade(a, b):
              x = b * distance
              x += a * (1 - distance)
              return x
  
          h1, s1, v1 = color1
          h2, s2, v2 = color2
  
          hue_diff = h1 - h2
          if long_route:
              if hue_diff < 0.5 and hue_diff > -0.5:
                  h1 += 1
          else:
              if hue_diff > 0.5:
                  h2 += 1
              elif hue_diff < -0.5:
                  h1 += 1
          return (modf(fade(h1, h2))[0], fade(s1, s2), fade(v1, v2))
docs: Generate a mid color between color1 and color2.
          Colors should be a tuple (hue, saturation, value).
  
          distance is a float between 0.0 and 1.0 describing how far between
          color1 and color2 we want to return the color. 0.0 would return color1,
          1.0 color2, and 0.5 a color midway.
  
          long_route allows us to choose how we get from color1 to color2 around
          the color wheel if True we go the long way, through as many colors as
          we can, if False we go through the minimum number