local function HsvToRgb(h, s, v)

    s = s / 100.0
    v = v / 100.0
    h = h / 60.0

    local i = math.floor(h) % 6
    local f = h - math.floor(h)
    local p = v * (1.0 - s)
    local q = v * (1.0 - f * s)
    local t = v * (1.0 - (1.0 - f) * s)

    local r, g, b = 0, 0, 0

    if i == 0 then r, g, b = v, t, p
    elseif i == 1 then r, g, b = q, v, p
    elseif i == 2 then r, g, b = p, v, t
    elseif i == 3 then r, g, b = p, q, v
    elseif i == 4 then r, g, b = t, p, v
    else r, g, b = v, p, q
    end

    r = math.floor(r * 255 + 0.5)
    g = math.floor(g * 255 + 0.5)
    b = math.floor(b * 255 + 0.5)

    return string.format("#%02x%02x%02x", r, g, b)
end
return HsvToRgb
