#▓██████████▒░░░░░░░▒▓▒▒▓▓▒▒▒▒▒▒▒▒▒▒▓▓▒▒░▒▒▒▒▒▒▓▒▓▓▓▒▒▒▒▒▒▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓███████
#▓████████▓░░       ░░░▒▒▒▒░░▒▒▒▒▒▒▒▒▒▒▒░░░░░░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓█████
#████████▓ ░░░░░░▒▒▒▒▒░▒▒▒▒▒░▒▒▒▒▓▓▒▒▒▒▓▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▓▓▒▒▒▒▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓████
#▓██████▒ ░░▒▒▒░▒░░▒▒░░▒▒░▒▒░▒▒▒▒▒▒▒▒░░▒▒▒▒▒▒░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▓▓▓▒▒▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓███
#▓▓███▓░░▒▒▒▒▒▒▒░▒░▒░░░▒▒░░▒░▒▒▒▒▒░░▒░ ░░▒▒▒▒▒▒░▒▒░░░▒▒▓▓▓▒▓▓▓▓▓▓▒▒▒▓▓▒▓▓▓▓▓▓▓▓▓▓▓▓██
#▓▓██▓░░▒▒▒▒▒▒▒▒▒░░░░░▒▒▒ ░░░░▒░▒▒░ ░▒░  ░▒▒░▒▒▒░░▒▒░░▒▒▓▓▓▓▓▓▓▓▓▓▓▒▒▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓█
#█▓█▓░░░░▒▒▒▒▒░▒▒▒░░░▒░▒▒  ░░░▒░ ░░  ░░░░░░▒▒▒░▒▒░░░▒▒▒▒▒▓▓▓▓▓▓▓▓▓▓▓▓▓▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓
#██▓  ░░░░▒░░░▒░▒░░▒▒░▒▒▒ ░░░░░▒░  ░░ ░░▒░░░▒▒▒░▒▒▒░░▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒▓▓▓▓▓▓▓▓▓▓▓▓
#██░ ░░▒▒▒▒▒▒▒▒▒▒░▒▒▒░░▒▒░░░░░░░▒░  ░░░░░▒▒▒▒▒▒▒░▒▒▒▒▒▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓
#█░ ░░░▒▒░▒░░░▒▒▒░▒▒▒░▒▒▒░░░░▒░ ░▒  ░▒▒░▒▒▒▒▒▒▒▒▓▒▒▒▒▒▒▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓
#▒  ░░░▒▒▒░▒░░░▒░░▒▒▒░░▒▒░░░░▒░  ▒░░░░▒▒░░▒▒▒▒▒▒▒▓▓▒▒▓▓▓▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓
#  ░▒▒▒▒▒▒▒▒▒▒▒▒▒░▒▒░░░▒▒░░░░░▒  ░▒▒▒▒▒▒▒░░▒▒▓▒▒▒▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓
#░ ░░▒▒▒▒░░▒▒▒▒▒▒░▒░ ▒░▒▒▒ ░ ░▒░ ░▒▒▒▒▒▒▒▒▒░▒▒▒▓▒▒▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓
#░ ░▒▒▒▒▒▒▒▒▒▒▒▒▒ ░░ ▒▒░▒▒░ ░░▒▒░░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▓▓▒▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓
#░ ▒░▒░░░░░░░▒▒▒▒░░▒░░▒░░▒▒░░░░▒▒▒░▒▒▒▒▒▒▒▒▒▒▒▒▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓
#▒▒▒▒░░░░░▒▒▒▒▒▒▒░░▒▒░▒░░▒▓▒▒▒▒▒▓▒▒░▒▒▒▒▓▒▒▒▒▒▒▒▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓
#▓▒▒░░░▒▒▒▒▒▒▓▓▓▓▓▒▒▒▒▒▒░▒▒▒▒▒░▒▒▒▒▒▒▒▒▒▒▒▒▒░▒▒▒▒▒▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓
#▒▒▒▓▓▒▒▒▒▒▒▒▒▓▓▓▓▓▒░▒▒▒▒▒▒▒▒▒▒░▒▒░▒▓▒░░▒░▒▓▒░▒▒▓▒▒▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓
#▒▒▓▓▒░░▒▒▒▓▒▓▓▓▓▓▓▒▒▒▒▒▒▒▒▒▒▒▒▒░▒▒░░▒▒▒░▒░▒▒▓▒▒▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓
#▒▒▒▒▒▒▒▒▒▒▓▓▓▓▒▒▒▓▓▒▒▒▒▒░▒▒▒▒▒▒▒▒▒▒░ ▒▓▒▒░░░▒▓▓▓▓▓▓▓▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓
#▒▒▒▒▒░▒▒▓▓▓▓▓▒▒▒▒▒▒▒▒▒▒▒▒░▒▒▒▒▒▒▒▒▒░  ░▒▓▒▒▒▒▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓
#▒▒▒▒▒▒▓▓▒▒▓▓▒▒▒▒▒▒▒▒▒▒▒▒▒░░▒▒▒▒▒▒▒▒▒░  ░▒▓▓▒▒▒▒▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓
#▒▒▒▒▒▒▒▒▒▓▓▓▒▒▒▒▒░░░▒▒▒▒▒▒░░▒▒▒▒▒▒▒▒▒░░ ░▒▓▓▓▒▒▒▒▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓
#▓▒▒▒▒▒▒▓▓▓▓▒▒▒▒▒░░░░░░░▒▒▓▒▒░▒▒▒▒▒▒▒▒▒▒▒░░▒▒▒▓▓▓▒▒▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓
#▓▒▒▒▒▓▓▓▓▓▓▒▒▒▒░░░░░░░░░▒▒▒▒▒▒▒▒▒▒▒▒▓▒▒▒▒▒▒▒▒▒▓▓▓▓▒▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓█▓
#░░▒▓▓▓▒▒▓▓▓▒░▒░░░░░░░░░░░░░▒▒▓▒▓▒▒▒▒▒▓▒▒▒▒▒▒▒▒▒▒▓▓▓▓▒▒▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓
#░░▓▓▓▒▒▒▓▓▒▒▒░░░░░░░░░░░░░░░▒▒▓▓▓▒▓▒▒▒▓▒▒▒▒▒▒▒▒▒▒▒▓▓▓▓▓▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓█▓▓▓▓▓▓▓█▓
#▒▓▓▒▒▒▒▓▓▓▒▒▒░░░░░░░░░░░░░░░░░▒▓▓▓▒▓▓▒▒▓▒▒▓▓▒▒▒▒▒▒▒▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓
#▓▒▒▒▒▒▓▓▓▒▒▒▒░░░░░░░░░░░░░░░░░░▒▓▓▒▒▓▓▒▓▓▓▓▒▓▒▓▒▓▒▒▒▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓███▓█▓▓▓▓▓█▓
#▓▒▒▒▒▓▓▓▓▒▒▒░░░░░░░░░░░░░░░░░░░░▒▓▓▒▒▓▓▓▓▓▓▓▓▓▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓█▓▓▓▓▓▓
#▓▒▒▓▓▒▒▒▒▒▒░░░░░░░░ ░ ░ ░░░░░░░░░░▓▓▓▒▓▓▓▓▓▓▓▓▓▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓█▓█▓▓▓▓▓▓▓▓▓▓▓
#▓▓▓▓▒▒▒▒▒▒░░░░░░░░░░         ░ ░░░░▒▓▓▒▓▓▓▓▓▓▓▒▓▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓
#▓▒▓▓▒▒░░▒▒▒░▒▒▒▒▓▓▓▓▓▓▓▒▒▒░░░    ░░░▒▓▓▒▓▓▓▓▓▓▒▒▒▒▒▒▒▒▒▒▒▒▓▓▓▓▓▓█▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓
#░ ░▒▒▒░▒▒▒▒▒░░░░░░░▒▒▒▓▓▓▓▓█▓▓▒▒░░ ░░▒▓▓▓▓▓▓▓▓▓▓▒▒▒▒▒▒▒▓▓▓▓█████▓█▓█▓█▓▓▓▓▓▓▓▓▓▓▓▓▓▓
#▓▓▓▒▒▒░▒▓▒▒▒░░░░░░░░░░▒▒▒▒▒▓▓▓▓▓▓▓▒▒▒░▒▓▓▓▓▓▓▓▒▒▓▒▒▓▓▓███████▓▓▓▓▓▓▓▓▓███████▓█▓▓▓█▓
#▓▓▓▒▒▒▒▓▓▒▒▒▒▒▒▒▒▓▓▓▓▓▓▓▓▓▓▓▓▓▒▒▓▓▓▓▒▒▒▒▒▓▓▓▓▓▓▓▒▓▓█████████████████████████████▓▓▓█
#▓▓▒▒▒▒▒▓▓▒▒▒▒▒▓▓██████████████▓▓▓▓▒▒▒▒▒▒▒▒▓▓▓▓▓▓▓▓▓▓█████████████████████████████▓▓█
#▓▒░▒▒▒▒▒▓▒▒░░▒▒▓███▓▒▒█▓▓██▓████▓▓▓▓▒▒▒▒░▒▒▓▓▓▓▓▓▓█████████▓▓███████████████████▓▓▓█
#▓▒▒▓▒▒▒▒▓▒░░░░░░▒▓█▓░ ░▓▓▓▒ ▒▒▓▓▓▓▒▒▓▒▒░░░░▒▓▓▓▓█▓▓█████▓▒▒██▓▓▒▓▓█████▓████████▓▓▓█
#▓▒▒▓▒▒░▒▒▒░░░░░░░░▒▒▓▓▒▒▒▒▒▓▓▓▓▓▓▓░░▒▒▒░░░░▒▒▓▓█▓█▓▓▓█▓▓▓▓▓▓▓▓▓█▓█████▓█████████▓▓▓█
#▓▓▒▓▓░░▒▒▒░░░░░░░    ░░░░░▒▒▒▒▒░░░░ ░▒▒░░ ░▒▒▓▓██▓▓▓▓▓▓▓▓▒▓▒▒▒▓▓▓▓▓▓▓▓▓█████████▓▓▓█
#▒▒▒▒▓▒░▒▒▒░░░░░░░░░░     ░░░░░░░ ░░░░▒░░░░░▒▒▓▓▓▓█▓▓▓▓▓▓▒▒▒▒▒▒▒▓▓▓▓▓▓▓▓█▓███████▓▓▓█
#█▒▓▒▒▒░▒▓▒▒░░░░░░░░░░     ░   ░ ░░░░░░░░░░░░▒▓▓▓▓▓█▓▓▓▓▓▓▒▒▒▒▒▒▓▓▓▓▓▓▓▓▓████████▓▓▓█
#█▓▒▒▒▒░▒▓▓▒░░░░░░░ ░           ░ ░░░░░░░░░░▒▒▓▓▓▓▓▓▓▓▓▓▓▓▓▒▒▒▒▒▒▓▓▓▓▓▓▓█▓███████▓▓▓█
#▓██▒▒░░░▒▓▒▒▒░░░░░░ ░             ░░░░░░░░░░▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒▒▒▒▓▓▓▓▓▓▓▓████████▓▓▓█
#▓██▓▒░░░▒▒▒▒░▒░░░░░░               ░░░░░░░░▒▒▓▓▓▓▓▓▓▓▓▓▓▓▓▒▓▓▓▒▓▓▓▓▓▓▓▓█████████▓▓▓█
#████▓░░░▒▒▒▒▒▒▒░░░░░░               ░░░░░░░░▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒▒▒▓▓▓▓▓▓▓▓▓▓███████▓▓▓▓█
#█████▒ ▒▒▒▒▒▒▒░░░░░░ ░             ░░░░░░░░▒▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓████████▓▓▓██
#█████▓░░▒▒▒▒▒▒▒░░░░░░              ░░░░░░░░▒▒▓▓▓▓▓█▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓█▓███████▓▓▓██
#▓▓███▓░▒▒▒▒▓░░▒▒░░░░░░         ░ ░ ░░░░░░  ░▒▓▓▓▓▓▓█▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓█▓███▓████▓▓▓██
#▓▓███▓░░▓███▓░▒▒▒░░░░░░░░ ░     ░ ░░░ ░░░  ░▒▓▓▓▓▓▓▓█▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓█▓████▓████▓▓▓██
#▓▓████░░▒████░░▒▒▒░░░░░░░░ ░ ░░░░░░▒▒▒▒▒░░░▒▓▓▓███▓██▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓█▓████████▓▓▓██
#▓▓████▒ ▒████▓░▒▒▒▒░░░░░░░░░░░░░░ ░░▒▓█▓▓▒▓▓████████▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓█████▓█████▓▓▓██
#▓▓████▒ ░█████▒░▒▒▒▒░░░░░░░░░░░░░░ ░░░░░▒▒▓███▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓█████▓██████▓▓███
#▓▓████▓ ░▓█████░▒▒▒▒▒░░░░░░░░░░░░░░ ░ ░░░░▒▒▒▒▒▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓█████▓███████▓▓███
#▓▓████▓░░▓█████▓░▒▒▒▒▒░░░░░░░░░░░░ ░░░░░░▒▒▒▒▒▒▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓█▓█████▓████████▓▓███
#▓▓████▓░░▓██████▓░▒▒▒▒▒░▒░░░░░░░░    ░░░░▒▒▒░░▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓██████▓████████▓████
#███████▒░▓███████▒░▒▒▒▒▒▒▒░░░░░░░▒▒▒▒▓▓▓▓▒▒▒▓▓▓█▓███▓▓▓▓▓▓▓▓▓██████████████████▓████
#███████▒░▓████████▒▒▒▒▒▒▒▒▒░░░▒▒▓▓▓▓▓▓▓▓██▓████████████▓▓▓▓▓███████████████████▓████
#███████▒░▓█████████▓▒▒▒▒▒▒▒▒▒▒░▒░░░░▒░ ░▒▒▒▓▒▓▒▓▓▓▓▓▓▓▓▓▓▓▓███████████████████▓▓████
#███████▓▒▓██████████▓▒▒▒▒▒▒▒▒░░░░░░░▒▒▒▒▒▒░▒▒▓▓▓▓███▓▓▓▓▓▓█████████████████████▓████
#▓▓█████▓▒▓███████████▓▒▒▒▒▒▒▒▒▒▒░▒▒▒▒▒▒▓▓▓▓▓▓███▓█▓▓▓▓▓▓▓███████████████████████████
#▓▓█████▓▒▓███████████▒▒▒▒▒▒▒▒▒▒░▒░▒▒▒▒▒▒▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓███████████████████████▓████
#▓▓██████▒▓██████████▓▒▒▒▒▒▒▒▒▒▒▒░▒░▒▒▒▒▒▒▒▒▓▓▓▓▓▓▓▓▓▓█▓█▓███████████████████████████
#▓███████▓▓██████████▓ ▓▓▒▒▒▒▒▒▒▒▒░░░░░▒▒▒▒▒▒▒▒▓▓▓▓▓▓▓▓████████████▓█████████████████
#████████▓▓██████████▓ ░▓█▓▓▓▒▒▒▒░░░░░░░░░▒▒▒▒▒▒▓▓▓▓▓▓▓██████████▓▓▓█████████████████
#█████████▓██████████▓ ░ ▒▓█▓▓▓▒▒▒░░░░░░░░░▒▒▒▒▓▓▓▓▓▓███████████▓▓▓▓█████████████████
#████████████████████▒ ░░  ░▓▓██▓▒▒░░░░░░░▒▒▒▒▒▓▓▓▓▓█████████████▓▓▓█████████████████
#████████████████████░░░░░░░ ░░▓▓██▓▒▒▒▒▒▒▒▒▒▓▓▓▓█████████████████▓▓▓████████████████
#▓▓█████████████████▓ ░░░░░░░░░ ░░▒▓█▓▓▓▓▓▓▓▓▓███████████▓███████▓▓▓▓████████████████
#▓▓█████████████████▒ ░░░░░░░░░░░░░▒▓▓▓▓▓█████████████▓██████████▓▓▓▓████████████████
#▓▓████████████████▒ ░░░░░░░░░░░░░░░▓▓▓▓▓▓▓▓█████████████▓█▓█▓███▓▓▓▓▓███████████████
#▓▓█████████████▓▒░ ░░░░░░░░░░░░░░░░▒▓▓▓▓▓▓▓████████████▓█▓▓▓█▓▓▓▓▓▓▓▒▓██████████████
#███████████▓▓▓▒░  ░░░░░░░░░░░░░░░░░▒▓▓▓▓▓▓▓█████████▓█▓▓▓▓▓▓▓▓▓█▓▓▓▒▒▒██████████████
#██████▓▓▓▓▓▓▓▓▒░ ░░░░░░░░░░░░░░░░░░░▓▓▓▓▓▓▓▓████████▓▓▓▓▓▓▓▓▓▓█▓▓▓▓▒▒▒██████████████
#▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒▒▓░░░░░░░░░░░░░░░░░░░▒▓▒▓▓▓▓▓████████▓▓▓▓▓▓▓▓▓█▓▓▓▓▓▓▒▓██████████████
#▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒░░░░░░░░░░░░░░░░░ ▒▓▓▓▓▓▓▓███████▓▓▓▓▓▓▓▓▓█▓▓▓▓▓▓▓▓▓██████████████
#▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▒▓░░░░░░ ░░░░░ ░░░░░░▒▒▒▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓█▓▓▓▓▓▓▓█████████████████
#▓▓█▓█▓▓▓▓▓▓▓▓▓▓▓▓▓▓░▒▒░░  ░░░░░░░░░░░░░░░░▒▒▒▒▒▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓███████████████████
#▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓░▒░░░                ░░░▒▒▒▒▒▓▓▓▒▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓████████████████
#
#                                  TURN BACK NOW
#

import collections

column_list_type_name_lookup = {}

column_list_column_name_lookup = collections.defaultdict( dict )
column_list_column_hideable_lookup = collections.defaultdict( dict )

default_column_list_columns_lookup = collections.defaultdict( list )

default_column_list_sort_lookup = {}

def register_column_type( column_list_type: int, column_type: int, name: str, hideable: bool, default_width: int, initially_shown: bool ):
    
    column_list_column_name_lookup[ column_list_type ][ column_type ] = name
    column_list_column_hideable_lookup[ column_list_type ][ column_type ] = hideable
    default_column_list_columns_lookup[ column_list_type ].append( ( column_type, default_width, initially_shown ) )
    

class COLUMN_LIST_DEFINITION( object ):
    
    ID = -1
    

#

class COLUMN_LIST_BANDWIDTH_RULES( COLUMN_LIST_DEFINITION ):
    
    ID = 0
    
    MAX_ALLOWED = 0
    EVERY = 1
    

column_list_type_name_lookup[ COLUMN_LIST_BANDWIDTH_RULES.ID ] = 'bandwidth rules'

register_column_type( COLUMN_LIST_BANDWIDTH_RULES.ID, COLUMN_LIST_BANDWIDTH_RULES.MAX_ALLOWED, 'max allowed', False, 14, True )
register_column_type( COLUMN_LIST_BANDWIDTH_RULES.ID, COLUMN_LIST_BANDWIDTH_RULES.EVERY, 'every', False, 16, True )

default_column_list_sort_lookup[ COLUMN_LIST_BANDWIDTH_RULES.ID ] = ( COLUMN_LIST_BANDWIDTH_RULES.EVERY, True )

#

class COLUMN_LIST_MANAGE_UPNP_MAPPINGS( COLUMN_LIST_DEFINITION ):
    
    ID = 1
    
    DESCRIPTION = 0
    INTERNAL_IP = 1
    INTERNAL_PORT = 2
    EXTERNAL_PORT = 3
    PROTOCOL = 4
    LEASE = 5
    
    
column_list_type_name_lookup[ COLUMN_LIST_MANAGE_UPNP_MAPPINGS.ID ] = 'upnp mappings'

register_column_type( COLUMN_LIST_MANAGE_UPNP_MAPPINGS.ID, COLUMN_LIST_MANAGE_UPNP_MAPPINGS.DESCRIPTION, 'description', False, 36, True )
register_column_type( COLUMN_LIST_MANAGE_UPNP_MAPPINGS.ID, COLUMN_LIST_MANAGE_UPNP_MAPPINGS.INTERNAL_IP, 'internal ip', False, 17, True )
register_column_type( COLUMN_LIST_MANAGE_UPNP_MAPPINGS.ID, COLUMN_LIST_MANAGE_UPNP_MAPPINGS.INTERNAL_PORT, 'internal port', False, 7, True )
register_column_type( COLUMN_LIST_MANAGE_UPNP_MAPPINGS.ID, COLUMN_LIST_MANAGE_UPNP_MAPPINGS.EXTERNAL_PORT, 'external port', False, 7, True )
register_column_type( COLUMN_LIST_MANAGE_UPNP_MAPPINGS.ID, COLUMN_LIST_MANAGE_UPNP_MAPPINGS.PROTOCOL, 'protocol', False, 5, True )
register_column_type( COLUMN_LIST_MANAGE_UPNP_MAPPINGS.ID, COLUMN_LIST_MANAGE_UPNP_MAPPINGS.LEASE, 'lease', False, 12, True )

default_column_list_sort_lookup[ COLUMN_LIST_MANAGE_UPNP_MAPPINGS.ID ] = ( COLUMN_LIST_MANAGE_UPNP_MAPPINGS.INTERNAL_PORT, True )

#

class COLUMN_LIST_EXPORT_FOLDERS( COLUMN_LIST_DEFINITION ):
    
    ID = 2

    NAME = 0
    PATH = 1
    TYPE = 2
    QUERY = 3
    PAUSED = 4 # deprecated
    PERIOD = 5
    PHRASE = 6
    LAST_ERROR = 7
    

column_list_type_name_lookup[ COLUMN_LIST_EXPORT_FOLDERS.ID ] = 'export folders'

register_column_type( COLUMN_LIST_EXPORT_FOLDERS.ID, COLUMN_LIST_EXPORT_FOLDERS.NAME, 'name', False, 20, True )
register_column_type( COLUMN_LIST_EXPORT_FOLDERS.ID, COLUMN_LIST_EXPORT_FOLDERS.PATH, 'path', False, -1, True )
register_column_type( COLUMN_LIST_EXPORT_FOLDERS.ID, COLUMN_LIST_EXPORT_FOLDERS.TYPE, 'type', False, 12, True )
register_column_type( COLUMN_LIST_EXPORT_FOLDERS.ID, COLUMN_LIST_EXPORT_FOLDERS.QUERY, 'query', False, 16, True )
register_column_type( COLUMN_LIST_EXPORT_FOLDERS.ID, COLUMN_LIST_EXPORT_FOLDERS.PERIOD, 'period', False, 16, True )
register_column_type( COLUMN_LIST_EXPORT_FOLDERS.ID, COLUMN_LIST_EXPORT_FOLDERS.PHRASE, 'phrase', False, 20, True )
register_column_type( COLUMN_LIST_EXPORT_FOLDERS.ID, COLUMN_LIST_EXPORT_FOLDERS.LAST_ERROR, 'recent error?', False, 20, True )

default_column_list_sort_lookup[ COLUMN_LIST_EXPORT_FOLDERS.ID ] = ( COLUMN_LIST_EXPORT_FOLDERS.NAME, True )

#

class COLUMN_LIST_EXPORT_FILES( COLUMN_LIST_DEFINITION ):
    
    ID = 3
    
    NUMBER = 0
    FILETYPE = 1
    EXPECTED_PATH = 2
    

column_list_type_name_lookup[ COLUMN_LIST_EXPORT_FILES.ID ] = 'export files'

register_column_type( COLUMN_LIST_EXPORT_FILES.ID, COLUMN_LIST_EXPORT_FILES.NUMBER, '#', False, 8, True )
register_column_type( COLUMN_LIST_EXPORT_FILES.ID, COLUMN_LIST_EXPORT_FILES.FILETYPE, 'filetype', False, 8, True )
register_column_type( COLUMN_LIST_EXPORT_FILES.ID, COLUMN_LIST_EXPORT_FILES.EXPECTED_PATH, 'expected path', False, 8, True )

default_column_list_sort_lookup[ COLUMN_LIST_EXPORT_FILES.ID ] = ( COLUMN_LIST_EXPORT_FILES.NUMBER, True )

#

class COLUMN_LIST_FILE_SEED_CACHE( COLUMN_LIST_DEFINITION ):
    
    ID = 4
    
    NUMBER = 0
    SOURCE = 1
    STATUS = 2
    ADDED = 3
    LAST_MODIFIED = 4
    SOURCE_TIME = 5
    NOTE = 6
    

column_list_type_name_lookup[ COLUMN_LIST_FILE_SEED_CACHE.ID ] = 'file log'

register_column_type( COLUMN_LIST_FILE_SEED_CACHE.ID, COLUMN_LIST_FILE_SEED_CACHE.NUMBER, '#', False, 3, True )
register_column_type( COLUMN_LIST_FILE_SEED_CACHE.ID, COLUMN_LIST_FILE_SEED_CACHE.SOURCE, 'source', False, 30, True )
register_column_type( COLUMN_LIST_FILE_SEED_CACHE.ID, COLUMN_LIST_FILE_SEED_CACHE.STATUS, 'status', False, 12, True )
register_column_type( COLUMN_LIST_FILE_SEED_CACHE.ID, COLUMN_LIST_FILE_SEED_CACHE.ADDED, 'added', False, 23, True )
register_column_type( COLUMN_LIST_FILE_SEED_CACHE.ID, COLUMN_LIST_FILE_SEED_CACHE.LAST_MODIFIED, 'last modified', False, 23, True )
register_column_type( COLUMN_LIST_FILE_SEED_CACHE.ID, COLUMN_LIST_FILE_SEED_CACHE.SOURCE_TIME, 'source time', False, 23, True )
register_column_type( COLUMN_LIST_FILE_SEED_CACHE.ID, COLUMN_LIST_FILE_SEED_CACHE.NOTE, 'note', False, 20, True )

default_column_list_sort_lookup[ COLUMN_LIST_FILE_SEED_CACHE.ID ] = ( COLUMN_LIST_FILE_SEED_CACHE.NUMBER, True )

#

class COLUMN_LIST_GALLERY_SEED_LOG( COLUMN_LIST_DEFINITION ):
    
    ID = 5
    
    NUMBER = 0
    URL = 1
    STATUS = 2
    ADDED = 3
    LAST_MODIFIED = 4
    NOTE = 5
    

column_list_type_name_lookup[ COLUMN_LIST_GALLERY_SEED_LOG.ID ] = 'search log'

register_column_type( COLUMN_LIST_GALLERY_SEED_LOG.ID, COLUMN_LIST_GALLERY_SEED_LOG.NUMBER, '#', False, 3, True )
register_column_type( COLUMN_LIST_GALLERY_SEED_LOG.ID, COLUMN_LIST_GALLERY_SEED_LOG.URL, 'url', False, 30, True )
register_column_type( COLUMN_LIST_GALLERY_SEED_LOG.ID, COLUMN_LIST_GALLERY_SEED_LOG.STATUS, 'status', False, 12, True )
register_column_type( COLUMN_LIST_GALLERY_SEED_LOG.ID, COLUMN_LIST_GALLERY_SEED_LOG.ADDED, 'added', False, 23, True )
register_column_type( COLUMN_LIST_GALLERY_SEED_LOG.ID, COLUMN_LIST_GALLERY_SEED_LOG.LAST_MODIFIED, 'last modified', False, 23, True )
register_column_type( COLUMN_LIST_GALLERY_SEED_LOG.ID, COLUMN_LIST_GALLERY_SEED_LOG.NOTE, 'note', False, 20, True )

default_column_list_sort_lookup[ COLUMN_LIST_GALLERY_SEED_LOG.ID ] = ( COLUMN_LIST_GALLERY_SEED_LOG.NUMBER, True )

#

class COLUMN_LIST_QUICK_NAMESPACES( COLUMN_LIST_DEFINITION ):
    
    ID = 6
    
    NAMESPACE = 0
    REGEX = 1
    

column_list_type_name_lookup[ COLUMN_LIST_QUICK_NAMESPACES.ID ] = 'quick namespaces'

register_column_type( COLUMN_LIST_QUICK_NAMESPACES.ID, COLUMN_LIST_QUICK_NAMESPACES.NAMESPACE, 'namespace', False, 12, True )
register_column_type( COLUMN_LIST_QUICK_NAMESPACES.ID, COLUMN_LIST_QUICK_NAMESPACES.REGEX, 'regex', False, 20, True )

default_column_list_sort_lookup[ COLUMN_LIST_QUICK_NAMESPACES.ID ] = ( COLUMN_LIST_QUICK_NAMESPACES.NAMESPACE, True )

#

class COLUMN_LIST_IMPORT_FOLDERS( COLUMN_LIST_DEFINITION ):
    
    ID = 7
    
    NAME = 0
    PATH = 1
    PAUSED = 2
    CHECK_PERIOD = 3
    

column_list_type_name_lookup[ COLUMN_LIST_IMPORT_FOLDERS.ID ] = 'import folders'

register_column_type( COLUMN_LIST_IMPORT_FOLDERS.ID, COLUMN_LIST_IMPORT_FOLDERS.NAME, 'name', False, 24, True )
register_column_type( COLUMN_LIST_IMPORT_FOLDERS.ID, COLUMN_LIST_IMPORT_FOLDERS.PATH, 'path', False, 36, True )
register_column_type( COLUMN_LIST_IMPORT_FOLDERS.ID, COLUMN_LIST_IMPORT_FOLDERS.PAUSED, 'paused', False, 8, True )
register_column_type( COLUMN_LIST_IMPORT_FOLDERS.ID, COLUMN_LIST_IMPORT_FOLDERS.CHECK_PERIOD, 'check period', False, 24, True )

default_column_list_sort_lookup[ COLUMN_LIST_IMPORT_FOLDERS.ID ] = ( COLUMN_LIST_IMPORT_FOLDERS.NAME, True )

#

class COLUMN_LIST_FILENAME_TAGGING_OPTIONS( COLUMN_LIST_DEFINITION ):
    
    ID = 8
    
    SERVICES = 0
    

column_list_type_name_lookup[ COLUMN_LIST_FILENAME_TAGGING_OPTIONS.ID ] = 'filename tagging options'

register_column_type( COLUMN_LIST_FILENAME_TAGGING_OPTIONS.ID, COLUMN_LIST_FILENAME_TAGGING_OPTIONS.SERVICES, 'filename tagging options services', False, 25, True )

default_column_list_sort_lookup[ COLUMN_LIST_FILENAME_TAGGING_OPTIONS.ID ] = ( COLUMN_LIST_FILENAME_TAGGING_OPTIONS.SERVICES, True )

#

class COLUMN_LIST_PATHS_TO_TAGS( COLUMN_LIST_DEFINITION ):
    
    ID = 9
    
    NUMBER = 0
    PATH = 1
    TAGS = 2
    

column_list_type_name_lookup[ COLUMN_LIST_PATHS_TO_TAGS.ID ] = 'import paths and their metadata'

register_column_type( COLUMN_LIST_PATHS_TO_TAGS.ID, COLUMN_LIST_PATHS_TO_TAGS.NUMBER, '#', False, 4, True )
register_column_type( COLUMN_LIST_PATHS_TO_TAGS.ID, COLUMN_LIST_PATHS_TO_TAGS.PATH, 'path', False, 40, True )
register_column_type( COLUMN_LIST_PATHS_TO_TAGS.ID, COLUMN_LIST_PATHS_TO_TAGS.TAGS, 'metadata', False, 40, True )

default_column_list_sort_lookup[ COLUMN_LIST_PATHS_TO_TAGS.ID ] = ( COLUMN_LIST_PATHS_TO_TAGS.NUMBER, True )

#

class COLUMN_LIST_DOMAINS_TO_LOGIN_INFO( COLUMN_LIST_DEFINITION ):
    
    ID = 10
    
    DOMAIN = 0
    LOGIN_SCRIPT = 1
    ACCESS_GIVEN = 2
    ACTIVE = 3
    LOGGED_IN_NOW = 4
    VALID = 5
    ERROR = 6
    

column_list_type_name_lookup[ COLUMN_LIST_DOMAINS_TO_LOGIN_INFO.ID ] = 'login info for domains'


register_column_type( COLUMN_LIST_DOMAINS_TO_LOGIN_INFO.ID, COLUMN_LIST_DOMAINS_TO_LOGIN_INFO.DOMAIN, 'domain', False, 20, True )
register_column_type( COLUMN_LIST_DOMAINS_TO_LOGIN_INFO.ID, COLUMN_LIST_DOMAINS_TO_LOGIN_INFO.LOGIN_SCRIPT, 'login script', False, 36, True )
register_column_type( COLUMN_LIST_DOMAINS_TO_LOGIN_INFO.ID, COLUMN_LIST_DOMAINS_TO_LOGIN_INFO.ACCESS_GIVEN, 'access given', False, 36, True )
register_column_type( COLUMN_LIST_DOMAINS_TO_LOGIN_INFO.ID, COLUMN_LIST_DOMAINS_TO_LOGIN_INFO.ACTIVE, 'active?', False, 8, True )
register_column_type( COLUMN_LIST_DOMAINS_TO_LOGIN_INFO.ID, COLUMN_LIST_DOMAINS_TO_LOGIN_INFO.LOGGED_IN_NOW, 'logged in now?', False, 28, True )
register_column_type( COLUMN_LIST_DOMAINS_TO_LOGIN_INFO.ID, COLUMN_LIST_DOMAINS_TO_LOGIN_INFO.VALID, 'validity', False, 28, True )
register_column_type( COLUMN_LIST_DOMAINS_TO_LOGIN_INFO.ID, COLUMN_LIST_DOMAINS_TO_LOGIN_INFO.ERROR, 'error/delay?', False, 16, True )

default_column_list_sort_lookup[ COLUMN_LIST_DOMAINS_TO_LOGIN_INFO.ID ] = ( COLUMN_LIST_DOMAINS_TO_LOGIN_INFO.DOMAIN, True )

#

class COLUMN_LIST_CREDENTIAL_DEFINITIONS( COLUMN_LIST_DEFINITION ):
    
    ID = 11
    
    NAME = 0
    TYPE = 1
    VALUE = 2
    

column_list_type_name_lookup[ COLUMN_LIST_CREDENTIAL_DEFINITIONS.ID ] = 'login credential definitions'

register_column_type( COLUMN_LIST_CREDENTIAL_DEFINITIONS.ID, COLUMN_LIST_CREDENTIAL_DEFINITIONS.NAME, 'name', False, 16, True )
register_column_type( COLUMN_LIST_CREDENTIAL_DEFINITIONS.ID, COLUMN_LIST_CREDENTIAL_DEFINITIONS.TYPE, 'type', False, 10, True )
register_column_type( COLUMN_LIST_CREDENTIAL_DEFINITIONS.ID, COLUMN_LIST_CREDENTIAL_DEFINITIONS.VALUE, 'value', False, 16, True )

default_column_list_sort_lookup[ COLUMN_LIST_CREDENTIAL_DEFINITIONS.ID ] = ( COLUMN_LIST_CREDENTIAL_DEFINITIONS.NAME, True )

#

class COLUMN_LIST_EXAMPLE_DOMAINS_INFO( COLUMN_LIST_DEFINITION ):
    
    ID = 12
    
    DOMAIN = 0
    ACCESS_TYPE = 1
    DESCRIPTION = 2
    

column_list_type_name_lookup[ COLUMN_LIST_EXAMPLE_DOMAINS_INFO.ID ] = 'example domains'

register_column_type( COLUMN_LIST_EXAMPLE_DOMAINS_INFO.ID, COLUMN_LIST_EXAMPLE_DOMAINS_INFO.DOMAIN, 'domain', False, 16, True )
register_column_type( COLUMN_LIST_EXAMPLE_DOMAINS_INFO.ID, COLUMN_LIST_EXAMPLE_DOMAINS_INFO.ACCESS_TYPE, 'access type', False, 14, True )
register_column_type( COLUMN_LIST_EXAMPLE_DOMAINS_INFO.ID, COLUMN_LIST_EXAMPLE_DOMAINS_INFO.DESCRIPTION, 'description', False, 40, True )

default_column_list_sort_lookup[ COLUMN_LIST_EXAMPLE_DOMAINS_INFO.ID ] = ( COLUMN_LIST_EXAMPLE_DOMAINS_INFO.DOMAIN, True )

#

class COLUMN_LIST_LOGIN_SCRIPT_TEST_RESULTS( COLUMN_LIST_DEFINITION ):
    
    ID = 13
    
    STEP = 0
    URL = 1
    RESULT = 2
    

column_list_type_name_lookup[ COLUMN_LIST_LOGIN_SCRIPT_TEST_RESULTS.ID ] = 'login script test results'

register_column_type( COLUMN_LIST_LOGIN_SCRIPT_TEST_RESULTS.ID, COLUMN_LIST_LOGIN_SCRIPT_TEST_RESULTS.STEP, 'step', False, 20, True )
register_column_type( COLUMN_LIST_LOGIN_SCRIPT_TEST_RESULTS.ID, COLUMN_LIST_LOGIN_SCRIPT_TEST_RESULTS.URL, 'url', False, 36, True )
register_column_type( COLUMN_LIST_LOGIN_SCRIPT_TEST_RESULTS.ID, COLUMN_LIST_LOGIN_SCRIPT_TEST_RESULTS.RESULT, 'result', False, 14, True )

default_column_list_sort_lookup[ COLUMN_LIST_LOGIN_SCRIPT_TEST_RESULTS.ID ] = ( COLUMN_LIST_LOGIN_SCRIPT_TEST_RESULTS.STEP, True )

#

class COLUMN_LIST_LOGIN_SCRIPTS( COLUMN_LIST_DEFINITION ):
    
    ID = 14
    
    NAME = 0
    EXAMPLE_DOMAINS = 1
    

column_list_type_name_lookup[ COLUMN_LIST_LOGIN_SCRIPTS.ID ] = 'login scripts'

register_column_type( COLUMN_LIST_LOGIN_SCRIPTS.ID, COLUMN_LIST_LOGIN_SCRIPTS.NAME, 'name', False, 24, True )
register_column_type( COLUMN_LIST_LOGIN_SCRIPTS.ID, COLUMN_LIST_LOGIN_SCRIPTS.EXAMPLE_DOMAINS, 'example domains', False, 40, True )

default_column_list_sort_lookup[ COLUMN_LIST_LOGIN_SCRIPTS.ID ] = ( COLUMN_LIST_LOGIN_SCRIPTS.NAME, True )

#

class COLUMN_LIST_GALLERY_IMPORTERS( COLUMN_LIST_DEFINITION ):
    
    ID = 15
    
    QUERY = 0
    SOURCE = 1
    FILES = 2
    GALLERY = 3
    STATUS = 4
    ITEMS = 5
    ADDED = 6
    

column_list_type_name_lookup[ COLUMN_LIST_GALLERY_IMPORTERS.ID ] = 'gallery queries'

register_column_type( COLUMN_LIST_GALLERY_IMPORTERS.ID, COLUMN_LIST_GALLERY_IMPORTERS.QUERY, 'query', False, 8, True )
register_column_type( COLUMN_LIST_GALLERY_IMPORTERS.ID, COLUMN_LIST_GALLERY_IMPORTERS.SOURCE, 'source', False, 11, True )
register_column_type( COLUMN_LIST_GALLERY_IMPORTERS.ID, COLUMN_LIST_GALLERY_IMPORTERS.FILES, 'files status', False, 3, True )
register_column_type( COLUMN_LIST_GALLERY_IMPORTERS.ID, COLUMN_LIST_GALLERY_IMPORTERS.GALLERY, 'search status', False, 3, True )
register_column_type( COLUMN_LIST_GALLERY_IMPORTERS.ID, COLUMN_LIST_GALLERY_IMPORTERS.STATUS, 'status', False, 8, True )
register_column_type( COLUMN_LIST_GALLERY_IMPORTERS.ID, COLUMN_LIST_GALLERY_IMPORTERS.ITEMS, 'items', False, 9, True )
register_column_type( COLUMN_LIST_GALLERY_IMPORTERS.ID, COLUMN_LIST_GALLERY_IMPORTERS.ADDED, 'added', False, 8, True )

default_column_list_sort_lookup[ COLUMN_LIST_GALLERY_IMPORTERS.ID ] = ( COLUMN_LIST_GALLERY_IMPORTERS.QUERY, True )

#

class COLUMN_LIST_WATCHERS( COLUMN_LIST_DEFINITION ):
    
    ID = 16
    
    SUBJECT = 0
    FILES = 1
    CHECKER = 2
    STATUS = 3
    ITEMS = 4
    ADDED = 5
    

column_list_type_name_lookup[ COLUMN_LIST_WATCHERS.ID ] = 'watchers'

register_column_type( COLUMN_LIST_WATCHERS.ID, COLUMN_LIST_WATCHERS.SUBJECT, 'subject', False, 8, True )
register_column_type( COLUMN_LIST_WATCHERS.ID, COLUMN_LIST_WATCHERS.FILES, 'files status', False, 3, True )
register_column_type( COLUMN_LIST_WATCHERS.ID, COLUMN_LIST_WATCHERS.CHECKER, 'checking status', False, 3, True )
register_column_type( COLUMN_LIST_WATCHERS.ID, COLUMN_LIST_WATCHERS.STATUS, 'status', False, 8, True )
register_column_type( COLUMN_LIST_WATCHERS.ID, COLUMN_LIST_WATCHERS.ITEMS, 'items', False, 8, True )
register_column_type( COLUMN_LIST_WATCHERS.ID, COLUMN_LIST_WATCHERS.ADDED, 'added', False, 8, True )

default_column_list_sort_lookup[ COLUMN_LIST_WATCHERS.ID ] = ( COLUMN_LIST_WATCHERS.STATUS, True )

#

class COLUMN_LIST_CLIENT_API_PERMISSIONS( COLUMN_LIST_DEFINITION ):
    
    ID = 17
    
    NAME = 0
    BASIC_PERMISSIONS = 1
    ADVANCED_PERMISSIONS = 2
    

column_list_type_name_lookup[ COLUMN_LIST_CLIENT_API_PERMISSIONS.ID ] = 'client api permissions'

register_column_type( COLUMN_LIST_CLIENT_API_PERMISSIONS.ID, COLUMN_LIST_CLIENT_API_PERMISSIONS.NAME, 'name', False, 36, True )
register_column_type( COLUMN_LIST_CLIENT_API_PERMISSIONS.ID, COLUMN_LIST_CLIENT_API_PERMISSIONS.BASIC_PERMISSIONS, 'basic permissions', False, 36, True )
register_column_type( COLUMN_LIST_CLIENT_API_PERMISSIONS.ID, COLUMN_LIST_CLIENT_API_PERMISSIONS.ADVANCED_PERMISSIONS, 'advanced permissions', False, 36, True )

default_column_list_sort_lookup[ COLUMN_LIST_CLIENT_API_PERMISSIONS.ID ] = ( COLUMN_LIST_CLIENT_API_PERMISSIONS.NAME, True )

#

class COLUMN_LIST_IPFS_SHARES( COLUMN_LIST_DEFINITION ):
    
    ID = 18
    
    MULTIHASH = 0
    NUM_FILES = 1
    TOTAL_SIZE = 2
    NOTE = 3
    

column_list_type_name_lookup[ COLUMN_LIST_IPFS_SHARES.ID ] = 'ipfs shares'

register_column_type( COLUMN_LIST_IPFS_SHARES.ID, COLUMN_LIST_IPFS_SHARES.MULTIHASH, 'multihash', False, 34, True )
register_column_type( COLUMN_LIST_IPFS_SHARES.ID, COLUMN_LIST_IPFS_SHARES.NUM_FILES, 'num files', False, 11, True )
register_column_type( COLUMN_LIST_IPFS_SHARES.ID, COLUMN_LIST_IPFS_SHARES.TOTAL_SIZE, 'total size', False, 12, True )
register_column_type( COLUMN_LIST_IPFS_SHARES.ID, COLUMN_LIST_IPFS_SHARES.NOTE, 'note', False, 32, True )

default_column_list_sort_lookup[ COLUMN_LIST_IPFS_SHARES.ID ] = ( COLUMN_LIST_IPFS_SHARES.MULTIHASH, True )

#

class COLUMN_LIST_LOCAL_BOORU_SHARES( COLUMN_LIST_DEFINITION ):
    
    ID = 19
    
    NAME = 0
    INFO = 1
    EXPIRES = 2
    FILES = 3

column_list_type_name_lookup[ COLUMN_LIST_LOCAL_BOORU_SHARES.ID ] = 'local booru shares'

register_column_type( COLUMN_LIST_LOCAL_BOORU_SHARES.ID, COLUMN_LIST_LOCAL_BOORU_SHARES.NAME, 'name', False, 36, True )
register_column_type( COLUMN_LIST_LOCAL_BOORU_SHARES.ID, COLUMN_LIST_LOCAL_BOORU_SHARES.INFO, 'info', False, 36, True )
register_column_type( COLUMN_LIST_LOCAL_BOORU_SHARES.ID, COLUMN_LIST_LOCAL_BOORU_SHARES.EXPIRES, 'expires', False, 12, True )
register_column_type( COLUMN_LIST_LOCAL_BOORU_SHARES.ID, COLUMN_LIST_LOCAL_BOORU_SHARES.FILES, 'files', False, 12, True )

default_column_list_sort_lookup[ COLUMN_LIST_LOCAL_BOORU_SHARES.ID ] = ( COLUMN_LIST_LOCAL_BOORU_SHARES.NAME, True )

#

class COLUMN_LIST_DOWNLOADER_EXPORT( COLUMN_LIST_DEFINITION ):
    
    ID = 20
    
    NAME = 0
    TYPE = 1
    

column_list_type_name_lookup[ COLUMN_LIST_DOWNLOADER_EXPORT.ID ] = 'downloader export review'

register_column_type( COLUMN_LIST_DOWNLOADER_EXPORT.ID, COLUMN_LIST_DOWNLOADER_EXPORT.NAME, 'name', False, 36, True )
register_column_type( COLUMN_LIST_DOWNLOADER_EXPORT.ID, COLUMN_LIST_DOWNLOADER_EXPORT.TYPE, 'type', False, 40, True )

default_column_list_sort_lookup[ COLUMN_LIST_DOWNLOADER_EXPORT.ID ] = ( COLUMN_LIST_DOWNLOADER_EXPORT.TYPE, True )

#

class COLUMN_LIST_CONTENT_PARSERS( COLUMN_LIST_DEFINITION ):
    
    ID = 21
    
    NAME = 0
    PRODUCES = 1
    

column_list_type_name_lookup[ COLUMN_LIST_CONTENT_PARSERS.ID ] = 'content parsers'

register_column_type( COLUMN_LIST_CONTENT_PARSERS.ID, COLUMN_LIST_CONTENT_PARSERS.NAME, 'name', False, 24, True )
register_column_type( COLUMN_LIST_CONTENT_PARSERS.ID, COLUMN_LIST_CONTENT_PARSERS.PRODUCES, 'produces', False, 40, True )

default_column_list_sort_lookup[ COLUMN_LIST_CONTENT_PARSERS.ID ] = ( COLUMN_LIST_CONTENT_PARSERS.NAME, True )

#

class COLUMN_LIST_NODES( COLUMN_LIST_DEFINITION ):
    
    ID = 22
    
    NAME = 0
    NODE_TYPE = 1
    PRODUCES = 2
    

column_list_type_name_lookup[ COLUMN_LIST_NODES.ID ] = 'parsing nodes'

register_column_type( COLUMN_LIST_NODES.ID, COLUMN_LIST_NODES.NAME, 'name', False, 16, True )
register_column_type( COLUMN_LIST_NODES.ID, COLUMN_LIST_NODES.NODE_TYPE, 'node type', False, 11, True )
register_column_type( COLUMN_LIST_NODES.ID, COLUMN_LIST_NODES.PRODUCES, 'produces', False, 20, True )

default_column_list_sort_lookup[ COLUMN_LIST_NODES.ID ] = ( COLUMN_LIST_NODES.NAME, True )

#

class COLUMN_LIST_SUB_PAGE_PARSERS( COLUMN_LIST_DEFINITION ):
    
    ID = 23
    
    NAME = 0
    FORMULA = 1
    PRODUCES = 2
    

column_list_type_name_lookup[ COLUMN_LIST_SUB_PAGE_PARSERS.ID ] = 'subsidiary page parsers'

register_column_type( COLUMN_LIST_SUB_PAGE_PARSERS.ID, COLUMN_LIST_SUB_PAGE_PARSERS.NAME, 'name', False, 24, True )
register_column_type( COLUMN_LIST_SUB_PAGE_PARSERS.ID, COLUMN_LIST_SUB_PAGE_PARSERS.FORMULA, '\'post\' separation formula', False, 24, True )
register_column_type( COLUMN_LIST_SUB_PAGE_PARSERS.ID, COLUMN_LIST_SUB_PAGE_PARSERS.PRODUCES, 'produces', False, 36, True )

default_column_list_sort_lookup[ COLUMN_LIST_SUB_PAGE_PARSERS.ID ] = ( COLUMN_LIST_SUB_PAGE_PARSERS.NAME, True )

#

class COLUMN_LIST_PARSERS( COLUMN_LIST_DEFINITION ):
    
    ID = 24
    
    NAME = 0
    EXAMPLE_URLS = 1
    PRODUCES = 2

column_list_type_name_lookup[ COLUMN_LIST_PARSERS.ID ] = 'parsers'

register_column_type( COLUMN_LIST_PARSERS.ID, COLUMN_LIST_PARSERS.NAME, 'name', False, 24, True )
register_column_type( COLUMN_LIST_PARSERS.ID, COLUMN_LIST_PARSERS.EXAMPLE_URLS, 'example urls', False, 40, True )
register_column_type( COLUMN_LIST_PARSERS.ID, COLUMN_LIST_PARSERS.PRODUCES, 'produces', False, 40, True )

default_column_list_sort_lookup[ COLUMN_LIST_PARSERS.ID ] = ( COLUMN_LIST_PARSERS.NAME, True )

#

class COLUMN_LIST_PARSING_SCRIPTS( COLUMN_LIST_DEFINITION ):
    
    ID = 25
    
    NAME = 0
    QUERY_TYPE = 1
    SCRIPT_TYPE = 2
    PRODUCES = 3
    

column_list_type_name_lookup[ COLUMN_LIST_PARSING_SCRIPTS.ID ] = 'parsing scripts'

register_column_type( COLUMN_LIST_PARSING_SCRIPTS.ID, COLUMN_LIST_PARSING_SCRIPTS.NAME, 'name', False, 20, True )
register_column_type( COLUMN_LIST_PARSING_SCRIPTS.ID, COLUMN_LIST_PARSING_SCRIPTS.QUERY_TYPE, 'query type', False, 11, True )
register_column_type( COLUMN_LIST_PARSING_SCRIPTS.ID, COLUMN_LIST_PARSING_SCRIPTS.SCRIPT_TYPE, 'script type', False, 11, True )
register_column_type( COLUMN_LIST_PARSING_SCRIPTS.ID, COLUMN_LIST_PARSING_SCRIPTS.PRODUCES, 'produces', False, 20, True )

default_column_list_sort_lookup[ COLUMN_LIST_PARSING_SCRIPTS.ID ] = ( COLUMN_LIST_PARSING_SCRIPTS.NAME, True )

#

class COLUMN_LIST_DEFAULT_TAG_IMPORT_OPTIONS( COLUMN_LIST_DEFINITION ):
    
    ID = 26
    
    URL_CLASS = 0
    URL_TYPE = 1
    DEFAULTS_SET = 2
    

column_list_type_name_lookup[ COLUMN_LIST_DEFAULT_TAG_IMPORT_OPTIONS.ID ] = 'default tag import options'

register_column_type( COLUMN_LIST_DEFAULT_TAG_IMPORT_OPTIONS.ID, COLUMN_LIST_DEFAULT_TAG_IMPORT_OPTIONS.URL_CLASS, 'url class', False, 36, True )
register_column_type( COLUMN_LIST_DEFAULT_TAG_IMPORT_OPTIONS.ID, COLUMN_LIST_DEFAULT_TAG_IMPORT_OPTIONS.URL_TYPE, 'url type', False, 12, True )
register_column_type( COLUMN_LIST_DEFAULT_TAG_IMPORT_OPTIONS.ID, COLUMN_LIST_DEFAULT_TAG_IMPORT_OPTIONS.DEFAULTS_SET, 'defaults set?', False, 15, True )

default_column_list_sort_lookup[ COLUMN_LIST_DEFAULT_TAG_IMPORT_OPTIONS.ID ] = ( COLUMN_LIST_DEFAULT_TAG_IMPORT_OPTIONS.URL_CLASS, True )

#

class COLUMN_LIST_GUG_KEYS_TO_DISPLAY( COLUMN_LIST_DEFINITION ):
    
    ID = 27
    
    GUG = 0
    SHOW = 1

column_list_type_name_lookup[ COLUMN_LIST_GUG_KEYS_TO_DISPLAY.ID ] = 'downloaders to display'

register_column_type( COLUMN_LIST_GUG_KEYS_TO_DISPLAY.ID, COLUMN_LIST_GUG_KEYS_TO_DISPLAY.GUG, 'downloader', False, 36, True )
register_column_type( COLUMN_LIST_GUG_KEYS_TO_DISPLAY.ID, COLUMN_LIST_GUG_KEYS_TO_DISPLAY.SHOW, 'show in main selector list?', False, 29, True )

default_column_list_sort_lookup[ COLUMN_LIST_GUG_KEYS_TO_DISPLAY.ID ] = ( COLUMN_LIST_GUG_KEYS_TO_DISPLAY.GUG, True )

#

class COLUMN_LIST_URL_CLASS_KEYS_TO_DISPLAY( COLUMN_LIST_DEFINITION ):
    
    ID = 28
    
    URL_CLASS = 0
    URL_TYPE = 1
    SHOW = 2
    

column_list_type_name_lookup[ COLUMN_LIST_URL_CLASS_KEYS_TO_DISPLAY.ID ] = 'url classes to display'

register_column_type( COLUMN_LIST_URL_CLASS_KEYS_TO_DISPLAY.ID, COLUMN_LIST_URL_CLASS_KEYS_TO_DISPLAY.URL_CLASS, 'url class', False, 36, True )
register_column_type( COLUMN_LIST_URL_CLASS_KEYS_TO_DISPLAY.ID, COLUMN_LIST_URL_CLASS_KEYS_TO_DISPLAY.URL_TYPE, 'url type', False, 20, True )
register_column_type( COLUMN_LIST_URL_CLASS_KEYS_TO_DISPLAY.ID, COLUMN_LIST_URL_CLASS_KEYS_TO_DISPLAY.SHOW, 'display on media viewer?', False, 36, True )

default_column_list_sort_lookup[ COLUMN_LIST_URL_CLASS_KEYS_TO_DISPLAY.ID ] = ( COLUMN_LIST_URL_CLASS_KEYS_TO_DISPLAY.URL_CLASS, True )

#

class COLUMN_LIST_DUPLICATE_CONTENT_MERGE_OPTIONS_TAG_SERVICES( COLUMN_LIST_DEFINITION ):
    
    ID = 29
    
    SERVICE = 0
    ACTION = 1
    TAGS_MERGED = 2
    

column_list_type_name_lookup[ COLUMN_LIST_DUPLICATE_CONTENT_MERGE_OPTIONS_TAG_SERVICES.ID ] = 'duplicate tag merge options'

register_column_type( COLUMN_LIST_DUPLICATE_CONTENT_MERGE_OPTIONS_TAG_SERVICES.ID, COLUMN_LIST_DUPLICATE_CONTENT_MERGE_OPTIONS_TAG_SERVICES.SERVICE, 'service', False, 24, True )
register_column_type( COLUMN_LIST_DUPLICATE_CONTENT_MERGE_OPTIONS_TAG_SERVICES.ID, COLUMN_LIST_DUPLICATE_CONTENT_MERGE_OPTIONS_TAG_SERVICES.ACTION, 'action', False, 36, True )
register_column_type( COLUMN_LIST_DUPLICATE_CONTENT_MERGE_OPTIONS_TAG_SERVICES.ID, COLUMN_LIST_DUPLICATE_CONTENT_MERGE_OPTIONS_TAG_SERVICES.TAGS_MERGED, 'tags merged', False, 36, True )

default_column_list_sort_lookup[ COLUMN_LIST_DUPLICATE_CONTENT_MERGE_OPTIONS_TAG_SERVICES.ID ] = ( COLUMN_LIST_DUPLICATE_CONTENT_MERGE_OPTIONS_TAG_SERVICES.SERVICE, True )

#

class COLUMN_LIST_DUPLICATE_CONTENT_MERGE_OPTIONS_RATING_SERVICES( COLUMN_LIST_DEFINITION ):
    
    ID = 30
    
    SERVICE = 0
    ACTION = 1
    

column_list_type_name_lookup[ COLUMN_LIST_DUPLICATE_CONTENT_MERGE_OPTIONS_RATING_SERVICES.ID ] = 'duplicate rating merge options'

register_column_type( COLUMN_LIST_DUPLICATE_CONTENT_MERGE_OPTIONS_RATING_SERVICES.ID, COLUMN_LIST_DUPLICATE_CONTENT_MERGE_OPTIONS_RATING_SERVICES.SERVICE, 'service', False, 24, True )
register_column_type( COLUMN_LIST_DUPLICATE_CONTENT_MERGE_OPTIONS_RATING_SERVICES.ID, COLUMN_LIST_DUPLICATE_CONTENT_MERGE_OPTIONS_RATING_SERVICES.ACTION, 'action', False, 36, True )

default_column_list_sort_lookup[ COLUMN_LIST_DUPLICATE_CONTENT_MERGE_OPTIONS_RATING_SERVICES.ID ] = ( COLUMN_LIST_DUPLICATE_CONTENT_MERGE_OPTIONS_RATING_SERVICES.SERVICE, True )

#

class COLUMN_LIST_NGUG_GUGS( COLUMN_LIST_DEFINITION ):
    
    ID = 31
    
    GUG = 0
    AVAILABLE = 1
    

column_list_type_name_lookup[ COLUMN_LIST_NGUG_GUGS.ID ] = 'the gugs for ngugs'

register_column_type( COLUMN_LIST_NGUG_GUGS.ID, COLUMN_LIST_NGUG_GUGS.GUG, 'gug name', False, 24, True )
register_column_type( COLUMN_LIST_NGUG_GUGS.ID, COLUMN_LIST_NGUG_GUGS.AVAILABLE, 'available?', False, 20, True )

default_column_list_sort_lookup[ COLUMN_LIST_NGUG_GUGS.ID ] = ( COLUMN_LIST_NGUG_GUGS.GUG, True )

#

class COLUMN_LIST_GUGS( COLUMN_LIST_DEFINITION ):
    
    ID = 32
    
    NAME = 0
    EXAMPLE_URL = 1
    URL_CLASS = 2

column_list_type_name_lookup[ COLUMN_LIST_GUGS.ID ] = 'gugs'

register_column_type( COLUMN_LIST_GUGS.ID, COLUMN_LIST_GUGS.NAME, 'name', False, 24, True )
register_column_type( COLUMN_LIST_GUGS.ID, COLUMN_LIST_GUGS.EXAMPLE_URL, 'example url', False, 74, True )
register_column_type( COLUMN_LIST_GUGS.ID, COLUMN_LIST_GUGS.URL_CLASS, 'gallery url class?', False, 20, True )

default_column_list_sort_lookup[ COLUMN_LIST_GUGS.ID ] = ( COLUMN_LIST_GUGS.NAME, True )

#

class COLUMN_LIST_NGUGS( COLUMN_LIST_DEFINITION ):
    
    ID = 33
    
    NAME = 0
    GUGS = 1
    MISSING = 2

column_list_type_name_lookup[ COLUMN_LIST_NGUGS.ID ] = 'ngugs'

register_column_type( COLUMN_LIST_NGUGS.ID, COLUMN_LIST_NGUGS.NAME, 'name', False, 24, True )
register_column_type( COLUMN_LIST_NGUGS.ID, COLUMN_LIST_NGUGS.GUGS, 'gugs', False, 64, True )
register_column_type( COLUMN_LIST_NGUGS.ID, COLUMN_LIST_NGUGS.MISSING, 'missing gugs', False, 14, True )

default_column_list_sort_lookup[ COLUMN_LIST_NGUGS.ID ] = ( COLUMN_LIST_NGUGS.NAME, True )

#

class COLUMN_LIST_NETWORK_CONTEXTS_CUSTOM_HEADERS( COLUMN_LIST_DEFINITION ):
    
    ID = 34
    
    CONTEXT = 0
    HEADER = 1
    APPROVED = 2
    REASON = 3
    

column_list_type_name_lookup[ COLUMN_LIST_NETWORK_CONTEXTS_CUSTOM_HEADERS.ID ] = 'custom network headers'

register_column_type( COLUMN_LIST_NETWORK_CONTEXTS_CUSTOM_HEADERS.ID, COLUMN_LIST_NETWORK_CONTEXTS_CUSTOM_HEADERS.CONTEXT, 'context', False, 24, True )
register_column_type( COLUMN_LIST_NETWORK_CONTEXTS_CUSTOM_HEADERS.ID, COLUMN_LIST_NETWORK_CONTEXTS_CUSTOM_HEADERS.HEADER, 'header', False, 30, True )
register_column_type( COLUMN_LIST_NETWORK_CONTEXTS_CUSTOM_HEADERS.ID, COLUMN_LIST_NETWORK_CONTEXTS_CUSTOM_HEADERS.APPROVED, 'approved?', False, 12, True )
register_column_type( COLUMN_LIST_NETWORK_CONTEXTS_CUSTOM_HEADERS.ID, COLUMN_LIST_NETWORK_CONTEXTS_CUSTOM_HEADERS.REASON, 'reason', False, 40, True )

default_column_list_sort_lookup[ COLUMN_LIST_NETWORK_CONTEXTS_CUSTOM_HEADERS.ID ] = ( COLUMN_LIST_NETWORK_CONTEXTS_CUSTOM_HEADERS.CONTEXT, True )

#

class COLUMN_LIST_REGEX_FAVOURITES( COLUMN_LIST_DEFINITION ):
    
    ID = 35
    
    REGEX = 0
    DESCRIPTION = 1
    

column_list_type_name_lookup[ COLUMN_LIST_REGEX_FAVOURITES.ID ] = 'regex favourites'

register_column_type( COLUMN_LIST_REGEX_FAVOURITES.ID, COLUMN_LIST_REGEX_FAVOURITES.REGEX, 'regex', False, 24, True )
register_column_type( COLUMN_LIST_REGEX_FAVOURITES.ID, COLUMN_LIST_REGEX_FAVOURITES.DESCRIPTION, 'description', False, 48, True )

default_column_list_sort_lookup[ COLUMN_LIST_REGEX_FAVOURITES.ID ] = ( COLUMN_LIST_REGEX_FAVOURITES.REGEX, True )

#

class COLUMN_LIST_URL_CLASS_PATH_COMPONENTS( COLUMN_LIST_DEFINITION ):
    
    ID = 36
    
    KEY = 0
    VALUE = 1

column_list_type_name_lookup[ COLUMN_LIST_URL_CLASS_PATH_COMPONENTS.ID ] = 'url class path components'

register_column_type( COLUMN_LIST_URL_CLASS_PATH_COMPONENTS.ID, COLUMN_LIST_URL_CLASS_PATH_COMPONENTS.KEY, 'key', False, 14, True )
register_column_type( COLUMN_LIST_URL_CLASS_PATH_COMPONENTS.ID, COLUMN_LIST_URL_CLASS_PATH_COMPONENTS.VALUE, 'value', False, 45, True )

default_column_list_sort_lookup[ COLUMN_LIST_URL_CLASS_PATH_COMPONENTS.ID ] = ( COLUMN_LIST_URL_CLASS_PATH_COMPONENTS.KEY, True )

#

class COLUMN_LIST_URL_CLASSES( COLUMN_LIST_DEFINITION ):
    
    ID = 37
    
    NAME = 0
    TYPE = 1
    EXAMPLE_URL = 2
    

column_list_type_name_lookup[ COLUMN_LIST_URL_CLASSES.ID ] = 'url classes'

register_column_type( COLUMN_LIST_URL_CLASSES.ID, COLUMN_LIST_URL_CLASSES.NAME, 'name', False, 36, True )
register_column_type( COLUMN_LIST_URL_CLASSES.ID, COLUMN_LIST_URL_CLASSES.TYPE, 'type', False, 20, True )
register_column_type( COLUMN_LIST_URL_CLASSES.ID, COLUMN_LIST_URL_CLASSES.EXAMPLE_URL, 'example (normalised) url', False, 40, True )

default_column_list_sort_lookup[ COLUMN_LIST_URL_CLASSES.ID ] = ( COLUMN_LIST_URL_CLASSES.NAME, True )

#

class COLUMN_LIST_URL_CLASS_API_PAIRS( COLUMN_LIST_DEFINITION ):
    
    ID = 38
    
    URL_CLASS = 0
    API_URL_CLASS = 1
    

column_list_type_name_lookup[ COLUMN_LIST_URL_CLASS_API_PAIRS.ID ] = 'api/redirect links'

register_column_type( COLUMN_LIST_URL_CLASS_API_PAIRS.ID, COLUMN_LIST_URL_CLASS_API_PAIRS.URL_CLASS, 'url class', False, 36, True )
register_column_type( COLUMN_LIST_URL_CLASS_API_PAIRS.ID, COLUMN_LIST_URL_CLASS_API_PAIRS.API_URL_CLASS, 'api/redirect url class', False, 36, True )

default_column_list_sort_lookup[ COLUMN_LIST_URL_CLASS_API_PAIRS.ID ] = ( COLUMN_LIST_URL_CLASS_API_PAIRS.API_URL_CLASS, True )

#

class COLUMN_LIST_URL_CLASS_KEYS_TO_PARSER_KEYS( COLUMN_LIST_DEFINITION ):
    
    ID = 39
    
    URL_CLASS = 0
    URL_TYPE = 1
    PARSER = 2
    

column_list_type_name_lookup[ COLUMN_LIST_URL_CLASS_KEYS_TO_PARSER_KEYS.ID ] = 'url classes and parsers'

register_column_type( COLUMN_LIST_URL_CLASS_KEYS_TO_PARSER_KEYS.ID, COLUMN_LIST_URL_CLASS_KEYS_TO_PARSER_KEYS.URL_CLASS, 'url class', False, 36, True )
register_column_type( COLUMN_LIST_URL_CLASS_KEYS_TO_PARSER_KEYS.ID, COLUMN_LIST_URL_CLASS_KEYS_TO_PARSER_KEYS.URL_TYPE, 'url type', False, 20, True )
register_column_type( COLUMN_LIST_URL_CLASS_KEYS_TO_PARSER_KEYS.ID, COLUMN_LIST_URL_CLASS_KEYS_TO_PARSER_KEYS.PARSER, 'parser', False, 36, True )

default_column_list_sort_lookup[ COLUMN_LIST_URL_CLASS_KEYS_TO_PARSER_KEYS.ID ] = ( COLUMN_LIST_URL_CLASS_KEYS_TO_PARSER_KEYS.URL_CLASS, True )

#

class COLUMN_LIST_ACCOUNT_TYPES( COLUMN_LIST_DEFINITION ):
    
    ID = 40
    
    TITLE = 0
    

column_list_type_name_lookup[ COLUMN_LIST_ACCOUNT_TYPES.ID ] = 'account types'

register_column_type( COLUMN_LIST_ACCOUNT_TYPES.ID, COLUMN_LIST_ACCOUNT_TYPES.TITLE, 'title', False, 20, True )

default_column_list_sort_lookup[ COLUMN_LIST_ACCOUNT_TYPES.ID ] = ( COLUMN_LIST_ACCOUNT_TYPES.TITLE, True )

#

class COLUMN_LIST_MANAGE_SERVICES( COLUMN_LIST_DEFINITION ):
    
    ID = 41
    
    NAME = 0
    TYPE = 1
    DELETABLE = 2
    

column_list_type_name_lookup[ COLUMN_LIST_MANAGE_SERVICES.ID ] = 'manage services'

register_column_type( COLUMN_LIST_MANAGE_SERVICES.ID, COLUMN_LIST_MANAGE_SERVICES.NAME, 'name', False, 20, True )
register_column_type( COLUMN_LIST_MANAGE_SERVICES.ID, COLUMN_LIST_MANAGE_SERVICES.TYPE, 'type', False, 20, True )
register_column_type( COLUMN_LIST_MANAGE_SERVICES.ID, COLUMN_LIST_MANAGE_SERVICES.DELETABLE, 'deletable?', False, 12, True )

default_column_list_sort_lookup[ COLUMN_LIST_MANAGE_SERVICES.ID ] = ( COLUMN_LIST_MANAGE_SERVICES.TYPE, True )

#

class COLUMN_LIST_EXTERNAL_PROGRAMS( COLUMN_LIST_DEFINITION ):
    
    ID = 42
    
    FILE_TYPE = 0
    LAUNCH_PATH = 1
    

column_list_type_name_lookup[ COLUMN_LIST_EXTERNAL_PROGRAMS.ID ] = 'external programs'

register_column_type( COLUMN_LIST_EXTERNAL_PROGRAMS.ID, COLUMN_LIST_EXTERNAL_PROGRAMS.FILE_TYPE, 'filetype', False, 20, True )
register_column_type( COLUMN_LIST_EXTERNAL_PROGRAMS.ID, COLUMN_LIST_EXTERNAL_PROGRAMS.LAUNCH_PATH, 'launch path', False, 30, True )

default_column_list_sort_lookup[ COLUMN_LIST_EXTERNAL_PROGRAMS.ID ] = ( COLUMN_LIST_EXTERNAL_PROGRAMS.FILE_TYPE, True )

#

class COLUMN_LIST_FRAME_LOCATIONS( COLUMN_LIST_DEFINITION ):
    
    ID = 43
    
    NAME = 0
    REMEMBER_SIZE = 1
    REMEMBER_POSITION = 2
    LAST_SIZE = 3
    LAST_POSITION = 4
    DEFAULT_GRAVITY = 5
    DEFAULT_POSITION = 6
    MAXIMISED = 7
    FULLSCREEN = 8

column_list_type_name_lookup[ COLUMN_LIST_FRAME_LOCATIONS.ID ] = 'frame locations'

register_column_type( COLUMN_LIST_FRAME_LOCATIONS.ID, COLUMN_LIST_FRAME_LOCATIONS.NAME, 'name', False, 20, True )
register_column_type( COLUMN_LIST_FRAME_LOCATIONS.ID, COLUMN_LIST_FRAME_LOCATIONS.REMEMBER_SIZE, 'remember size', False, 12, True )
register_column_type( COLUMN_LIST_FRAME_LOCATIONS.ID, COLUMN_LIST_FRAME_LOCATIONS.REMEMBER_POSITION, 'remember position', False, 12, True )
register_column_type( COLUMN_LIST_FRAME_LOCATIONS.ID, COLUMN_LIST_FRAME_LOCATIONS.LAST_SIZE, 'last size', False, 12, True )
register_column_type( COLUMN_LIST_FRAME_LOCATIONS.ID, COLUMN_LIST_FRAME_LOCATIONS.LAST_POSITION, 'last position', False, 12, True )
register_column_type( COLUMN_LIST_FRAME_LOCATIONS.ID, COLUMN_LIST_FRAME_LOCATIONS.DEFAULT_GRAVITY, 'default gravity', False, 12, True )
register_column_type( COLUMN_LIST_FRAME_LOCATIONS.ID, COLUMN_LIST_FRAME_LOCATIONS.DEFAULT_POSITION, 'default position', False, 12, True )
register_column_type( COLUMN_LIST_FRAME_LOCATIONS.ID, COLUMN_LIST_FRAME_LOCATIONS.MAXIMISED, 'maximised', False, 12, True )
register_column_type( COLUMN_LIST_FRAME_LOCATIONS.ID, COLUMN_LIST_FRAME_LOCATIONS.FULLSCREEN, 'fullscreen', False, 12, True )

default_column_list_sort_lookup[ COLUMN_LIST_FRAME_LOCATIONS.ID ] = ( COLUMN_LIST_FRAME_LOCATIONS.NAME, True )

#

class COLUMN_LIST_MEDIA_VIEWER_OPTIONS( COLUMN_LIST_DEFINITION ):
    
    ID = 44
    
    FILETYPE = 0
    MEDIA_ACTION = 1
    PREVIEW_ACTION = 2
    ZOOM_INFO = 3
    

column_list_type_name_lookup[ COLUMN_LIST_MEDIA_VIEWER_OPTIONS.ID ] = 'media viewer options'

register_column_type( COLUMN_LIST_MEDIA_VIEWER_OPTIONS.ID, COLUMN_LIST_MEDIA_VIEWER_OPTIONS.FILETYPE, 'filetype', False, 20, True )
register_column_type( COLUMN_LIST_MEDIA_VIEWER_OPTIONS.ID, COLUMN_LIST_MEDIA_VIEWER_OPTIONS.MEDIA_ACTION, 'media show action', False, 20, True )
register_column_type( COLUMN_LIST_MEDIA_VIEWER_OPTIONS.ID, COLUMN_LIST_MEDIA_VIEWER_OPTIONS.PREVIEW_ACTION, 'preview show action', False, 20, True )
register_column_type( COLUMN_LIST_MEDIA_VIEWER_OPTIONS.ID, COLUMN_LIST_MEDIA_VIEWER_OPTIONS.ZOOM_INFO, 'zoom info', False, 20, True )

default_column_list_sort_lookup[ COLUMN_LIST_MEDIA_VIEWER_OPTIONS.ID ] = ( COLUMN_LIST_MEDIA_VIEWER_OPTIONS.FILETYPE, True )

#

class COLUMN_LIST_SERVICES( COLUMN_LIST_DEFINITION ):
    
    ID = 45
    
    PORT = 0
    NAME = 1
    TYPE = 2
    

column_list_type_name_lookup[ COLUMN_LIST_SERVICES.ID ] = 'services'

register_column_type( COLUMN_LIST_SERVICES.ID, COLUMN_LIST_SERVICES.PORT, 'port', False, 10, True )
register_column_type( COLUMN_LIST_SERVICES.ID, COLUMN_LIST_SERVICES.NAME, 'name', False, 20, True )
register_column_type( COLUMN_LIST_SERVICES.ID, COLUMN_LIST_SERVICES.TYPE, 'type', False, 30, True )

default_column_list_sort_lookup[ COLUMN_LIST_SERVICES.ID ] = ( COLUMN_LIST_SERVICES.PORT, True )

#

class COLUMN_LIST_REPAIR_LOCATIONS( COLUMN_LIST_DEFINITION ):
    
    ID = 46
    
    MISSING_LOCATION = 0
    EXPECTED_SUBDIR = 1
    CORRECT_LOCATION = 2
    OK = 3
    

column_list_type_name_lookup[ COLUMN_LIST_REPAIR_LOCATIONS.ID ] = 'repair locations'

register_column_type( COLUMN_LIST_REPAIR_LOCATIONS.ID, COLUMN_LIST_REPAIR_LOCATIONS.MISSING_LOCATION, 'missing location', False, 36, True )
register_column_type( COLUMN_LIST_REPAIR_LOCATIONS.ID, COLUMN_LIST_REPAIR_LOCATIONS.EXPECTED_SUBDIR, 'expected subdirectory', False, 24, True )
register_column_type( COLUMN_LIST_REPAIR_LOCATIONS.ID, COLUMN_LIST_REPAIR_LOCATIONS.CORRECT_LOCATION, 'correct location', False, 36, True )
register_column_type( COLUMN_LIST_REPAIR_LOCATIONS.ID, COLUMN_LIST_REPAIR_LOCATIONS.OK, 'now ok?', False, 9, True )

default_column_list_sort_lookup[ COLUMN_LIST_REPAIR_LOCATIONS.ID ] = ( COLUMN_LIST_REPAIR_LOCATIONS.MISSING_LOCATION, True )

#

class COLUMN_LIST_DB_MIGRATION_LOCATIONS( COLUMN_LIST_DEFINITION ):
    
    ID = 47
    
    LOCATION = 0
    PORTABLE = 1
    FREE_SPACE = 2
    CURRENT_USAGE = 3
    WEIGHT = 4
    IDEAL_USAGE = 5
    MAX_NUM_BYTES = 6
    

column_list_type_name_lookup[ COLUMN_LIST_DB_MIGRATION_LOCATIONS.ID ] = 'db file storage locations'

register_column_type( COLUMN_LIST_DB_MIGRATION_LOCATIONS.ID, COLUMN_LIST_DB_MIGRATION_LOCATIONS.LOCATION, 'location', False, 36, True )
register_column_type( COLUMN_LIST_DB_MIGRATION_LOCATIONS.ID, COLUMN_LIST_DB_MIGRATION_LOCATIONS.PORTABLE, 'beneath db?', False, 12, True )
register_column_type( COLUMN_LIST_DB_MIGRATION_LOCATIONS.ID, COLUMN_LIST_DB_MIGRATION_LOCATIONS.FREE_SPACE, 'disk free space', False, 12, True )
register_column_type( COLUMN_LIST_DB_MIGRATION_LOCATIONS.ID, COLUMN_LIST_DB_MIGRATION_LOCATIONS.CURRENT_USAGE, 'current usage', False, 24, True )
register_column_type( COLUMN_LIST_DB_MIGRATION_LOCATIONS.ID, COLUMN_LIST_DB_MIGRATION_LOCATIONS.WEIGHT, 'weight', False, 8, True )
register_column_type( COLUMN_LIST_DB_MIGRATION_LOCATIONS.ID, COLUMN_LIST_DB_MIGRATION_LOCATIONS.MAX_NUM_BYTES, 'max size', False, 10, True )
register_column_type( COLUMN_LIST_DB_MIGRATION_LOCATIONS.ID, COLUMN_LIST_DB_MIGRATION_LOCATIONS.IDEAL_USAGE, 'ideal usage', False, 24, True )

default_column_list_sort_lookup[ COLUMN_LIST_DB_MIGRATION_LOCATIONS.ID ] = ( COLUMN_LIST_DB_MIGRATION_LOCATIONS.LOCATION, True )

#

class COLUMN_LIST_BANDWIDTH_REVIEW( COLUMN_LIST_DEFINITION ):
    
    ID = 48
    
    NAME = 0
    TYPE = 1
    CURRENT_USAGE = 2
    PAST_24_HRS = 3
    SEARCH_DISTANCE = 4
    THIS_MONTH = 5
    NON_DEFAULT_RULES = 6
    BLOCKED = 7
    

column_list_type_name_lookup[ COLUMN_LIST_BANDWIDTH_REVIEW.ID ] = 'bandwidth use review'

register_column_type( COLUMN_LIST_BANDWIDTH_REVIEW.ID, COLUMN_LIST_BANDWIDTH_REVIEW.NAME, 'name', False, 30, True )
register_column_type( COLUMN_LIST_BANDWIDTH_REVIEW.ID, COLUMN_LIST_BANDWIDTH_REVIEW.TYPE, 'type', False, 14, True )
register_column_type( COLUMN_LIST_BANDWIDTH_REVIEW.ID, COLUMN_LIST_BANDWIDTH_REVIEW.CURRENT_USAGE, 'current usage', False, 14, True )
register_column_type( COLUMN_LIST_BANDWIDTH_REVIEW.ID, COLUMN_LIST_BANDWIDTH_REVIEW.PAST_24_HRS, 'past 24 hours', False, 15, True )
register_column_type( COLUMN_LIST_BANDWIDTH_REVIEW.ID, COLUMN_LIST_BANDWIDTH_REVIEW.SEARCH_DISTANCE, 'search distance', False, 17, True )
register_column_type( COLUMN_LIST_BANDWIDTH_REVIEW.ID, COLUMN_LIST_BANDWIDTH_REVIEW.THIS_MONTH, 'this month', False, 12, True )
register_column_type( COLUMN_LIST_BANDWIDTH_REVIEW.ID, COLUMN_LIST_BANDWIDTH_REVIEW.NON_DEFAULT_RULES, 'uses non-default rules', False, 24, True )
register_column_type( COLUMN_LIST_BANDWIDTH_REVIEW.ID, COLUMN_LIST_BANDWIDTH_REVIEW.BLOCKED, 'blocked?', False, 10, True )

default_column_list_sort_lookup[ COLUMN_LIST_BANDWIDTH_REVIEW.ID ] = ( COLUMN_LIST_BANDWIDTH_REVIEW.NAME, True )

#

class COLUMN_LIST_FILE_MAINTENANCE_JOBS( COLUMN_LIST_DEFINITION ):
    
    ID = 49
    
    JOB_TYPE = 0
    NUM_JOBS = 1
    

column_list_type_name_lookup[ COLUMN_LIST_FILE_MAINTENANCE_JOBS.ID ] = 'file maintenance jobs'

register_column_type( COLUMN_LIST_FILE_MAINTENANCE_JOBS.ID, COLUMN_LIST_FILE_MAINTENANCE_JOBS.JOB_TYPE, 'job type', False, 48, True )
register_column_type( COLUMN_LIST_FILE_MAINTENANCE_JOBS.ID, COLUMN_LIST_FILE_MAINTENANCE_JOBS.NUM_JOBS, 'due jobs', False, 16, True )

default_column_list_sort_lookup[ COLUMN_LIST_FILE_MAINTENANCE_JOBS.ID ] = ( COLUMN_LIST_FILE_MAINTENANCE_JOBS.NUM_JOBS, False )

#

class COLUMN_LIST_INPUT_LOCAL_FILES( COLUMN_LIST_DEFINITION ):
    
    ID = 50
    
    NUMBER = 0
    PATH = 1
    FILETYPE = 2
    SIZE = 3
    

column_list_type_name_lookup[ COLUMN_LIST_INPUT_LOCAL_FILES.ID ] = 'files to import'

register_column_type( COLUMN_LIST_INPUT_LOCAL_FILES.ID, COLUMN_LIST_INPUT_LOCAL_FILES.NUMBER, '#', False, 4, True )
register_column_type( COLUMN_LIST_INPUT_LOCAL_FILES.ID, COLUMN_LIST_INPUT_LOCAL_FILES.PATH, 'path', False, 98, True )
register_column_type( COLUMN_LIST_INPUT_LOCAL_FILES.ID, COLUMN_LIST_INPUT_LOCAL_FILES.FILETYPE, 'filetype', False, 16, True )
register_column_type( COLUMN_LIST_INPUT_LOCAL_FILES.ID, COLUMN_LIST_INPUT_LOCAL_FILES.SIZE, 'size', False, 10, True )

default_column_list_sort_lookup[ COLUMN_LIST_INPUT_LOCAL_FILES.ID ] = ( COLUMN_LIST_INPUT_LOCAL_FILES.NUMBER, True )

#

class COLUMN_LIST_NETWORK_JOBS_REVIEW( COLUMN_LIST_DEFINITION ):
    
    ID = 51
    
    POSITION = 0
    URL = 1
    STATUS = 2
    CURRENT_SPEED = 3
    PROGRESS = 4
    

column_list_type_name_lookup[ COLUMN_LIST_NETWORK_JOBS_REVIEW.ID ] = 'network jobs'

register_column_type( COLUMN_LIST_NETWORK_JOBS_REVIEW.ID, COLUMN_LIST_NETWORK_JOBS_REVIEW.POSITION, 'position', False, 20, True )
register_column_type( COLUMN_LIST_NETWORK_JOBS_REVIEW.ID, COLUMN_LIST_NETWORK_JOBS_REVIEW.URL, 'url', False, 30, True )
register_column_type( COLUMN_LIST_NETWORK_JOBS_REVIEW.ID, COLUMN_LIST_NETWORK_JOBS_REVIEW.STATUS, 'status', False, 40, True )
register_column_type( COLUMN_LIST_NETWORK_JOBS_REVIEW.ID, COLUMN_LIST_NETWORK_JOBS_REVIEW.CURRENT_SPEED, 'current speed', False, 8, True )
register_column_type( COLUMN_LIST_NETWORK_JOBS_REVIEW.ID, COLUMN_LIST_NETWORK_JOBS_REVIEW.PROGRESS, 'progress', False, 12, True )

default_column_list_sort_lookup[ COLUMN_LIST_NETWORK_JOBS_REVIEW.ID ] = ( COLUMN_LIST_NETWORK_JOBS_REVIEW.POSITION, True )

#

class COLUMN_LIST_REVIEW_NETWORK_SESSIONS( COLUMN_LIST_DEFINITION ):
    
    ID = 52
    
    NETWORK_CONTEXT = 0
    COOKIES = 1
    EXPIRES = 2
    

column_list_type_name_lookup[ COLUMN_LIST_REVIEW_NETWORK_SESSIONS.ID ] = 'network sessions'

register_column_type( COLUMN_LIST_REVIEW_NETWORK_SESSIONS.ID, COLUMN_LIST_REVIEW_NETWORK_SESSIONS.NETWORK_CONTEXT, 'network context', False, 34, True )
register_column_type( COLUMN_LIST_REVIEW_NETWORK_SESSIONS.ID, COLUMN_LIST_REVIEW_NETWORK_SESSIONS.COOKIES, 'cookies', False, 9, True )
register_column_type( COLUMN_LIST_REVIEW_NETWORK_SESSIONS.ID, COLUMN_LIST_REVIEW_NETWORK_SESSIONS.EXPIRES, 'expires', False, 28, True )

default_column_list_sort_lookup[ COLUMN_LIST_REVIEW_NETWORK_SESSIONS.ID ] = ( COLUMN_LIST_REVIEW_NETWORK_SESSIONS.NETWORK_CONTEXT, True )

#

class COLUMN_LIST_REVIEW_NETWORK_SESSION( COLUMN_LIST_DEFINITION ):
    
    ID = 53
    
    NAME = 0
    VALUE = 1
    DOMAIN = 2
    PATH = 3
    EXPIRES = 4
    

column_list_type_name_lookup[ COLUMN_LIST_REVIEW_NETWORK_SESSION.ID ] = 'network session'

register_column_type( COLUMN_LIST_REVIEW_NETWORK_SESSION.ID, COLUMN_LIST_REVIEW_NETWORK_SESSION.NAME, 'name', False, 18, True )
register_column_type( COLUMN_LIST_REVIEW_NETWORK_SESSION.ID, COLUMN_LIST_REVIEW_NETWORK_SESSION.VALUE, 'value', False, 32, True )
register_column_type( COLUMN_LIST_REVIEW_NETWORK_SESSION.ID, COLUMN_LIST_REVIEW_NETWORK_SESSION.DOMAIN, 'domain', False, 20, True )
register_column_type( COLUMN_LIST_REVIEW_NETWORK_SESSION.ID, COLUMN_LIST_REVIEW_NETWORK_SESSION.PATH, 'path', False, 8, True )
register_column_type( COLUMN_LIST_REVIEW_NETWORK_SESSION.ID, COLUMN_LIST_REVIEW_NETWORK_SESSION.EXPIRES, 'expires', False, 28, True )

default_column_list_sort_lookup[ COLUMN_LIST_REVIEW_NETWORK_SESSION.ID ] = ( COLUMN_LIST_REVIEW_NETWORK_SESSION.NAME, True )

#

class COLUMN_LIST_THREADS_REVIEW( COLUMN_LIST_DEFINITION ):
    
    ID = 54
    
    NAME = 0
    TYPE = 1
    CURRENT_JOB = 2
    

column_list_type_name_lookup[ COLUMN_LIST_THREADS_REVIEW.ID ] = 'current threads review'

register_column_type( COLUMN_LIST_THREADS_REVIEW.ID, COLUMN_LIST_THREADS_REVIEW.NAME, 'name', False, 24, True )
register_column_type( COLUMN_LIST_THREADS_REVIEW.ID, COLUMN_LIST_THREADS_REVIEW.TYPE, 'type', False, 20, True )
register_column_type( COLUMN_LIST_THREADS_REVIEW.ID, COLUMN_LIST_THREADS_REVIEW.CURRENT_JOB, 'current job', False, 30, True )

default_column_list_sort_lookup[ COLUMN_LIST_THREADS_REVIEW.ID ] = ( COLUMN_LIST_THREADS_REVIEW.NAME, True )

#

class COLUMN_LIST_FAVOURITE_SEARCHES( COLUMN_LIST_DEFINITION ):
    
    ID = 55
    
    FOLDER = 0
    NAME = 1
    SEARCH = 2
    SORT = 3
    COLLECT = 4
    

column_list_type_name_lookup[ COLUMN_LIST_FAVOURITE_SEARCHES.ID ] = 'favourite searches'

register_column_type( COLUMN_LIST_FAVOURITE_SEARCHES.ID, COLUMN_LIST_FAVOURITE_SEARCHES.FOLDER, 'folder', False, 24, True )
register_column_type( COLUMN_LIST_FAVOURITE_SEARCHES.ID, COLUMN_LIST_FAVOURITE_SEARCHES.NAME, 'name', False, 24, True )
register_column_type( COLUMN_LIST_FAVOURITE_SEARCHES.ID, COLUMN_LIST_FAVOURITE_SEARCHES.SEARCH, 'search', False, 72, True )
register_column_type( COLUMN_LIST_FAVOURITE_SEARCHES.ID, COLUMN_LIST_FAVOURITE_SEARCHES.SORT, 'sort', False, 24, True )
register_column_type( COLUMN_LIST_FAVOURITE_SEARCHES.ID, COLUMN_LIST_FAVOURITE_SEARCHES.COLLECT, 'collect', False, 24, True )

default_column_list_sort_lookup[ COLUMN_LIST_FAVOURITE_SEARCHES.ID ] = ( COLUMN_LIST_FAVOURITE_SEARCHES.FOLDER, True )

#

class COLUMN_LIST_SHORTCUTS( COLUMN_LIST_DEFINITION ):
    
    ID = 56
    
    SHORTCUT = 0
    COMMAND = 1
    

column_list_type_name_lookup[ COLUMN_LIST_SHORTCUTS.ID ] = 'shortcuts'

register_column_type( COLUMN_LIST_SHORTCUTS.ID, COLUMN_LIST_SHORTCUTS.SHORTCUT, 'shortcut', False, 20, True )
register_column_type( COLUMN_LIST_SHORTCUTS.ID, COLUMN_LIST_SHORTCUTS.COMMAND, 'command', False, 20, True )

default_column_list_sort_lookup[ COLUMN_LIST_SHORTCUTS.ID ] = ( COLUMN_LIST_SHORTCUTS.COMMAND, True )

#

class COLUMN_LIST_SHORTCUT_SETS( COLUMN_LIST_DEFINITION ):
    
    ID = 57
    
    NAME = 0
    NUM_SHORTCUTS = 1
    

column_list_type_name_lookup[ COLUMN_LIST_SHORTCUT_SETS.ID ] = 'shortcut sets'

register_column_type( COLUMN_LIST_SHORTCUT_SETS.ID, COLUMN_LIST_SHORTCUT_SETS.NAME, 'name', False, 30, True )
register_column_type( COLUMN_LIST_SHORTCUT_SETS.ID, COLUMN_LIST_SHORTCUT_SETS.NUM_SHORTCUTS, 'number of shortcuts', False, 20, True )

default_column_list_sort_lookup[ COLUMN_LIST_SHORTCUT_SETS.ID ] = ( COLUMN_LIST_SHORTCUT_SETS.NAME, True )

#

class COLUMN_LIST_KEY_TO_STRING_MATCH( COLUMN_LIST_DEFINITION ):
    
    ID = 58
    
    KEY = 0
    MATCH = 1

column_list_type_name_lookup[ COLUMN_LIST_KEY_TO_STRING_MATCH.ID ] = 'string to string match'

register_column_type( COLUMN_LIST_KEY_TO_STRING_MATCH.ID, COLUMN_LIST_KEY_TO_STRING_MATCH.KEY, 'key', False, 20, True )
register_column_type( COLUMN_LIST_KEY_TO_STRING_MATCH.ID, COLUMN_LIST_KEY_TO_STRING_MATCH.MATCH, 'matching', False, 36, True )

default_column_list_sort_lookup[ COLUMN_LIST_KEY_TO_STRING_MATCH.ID ] = ( COLUMN_LIST_KEY_TO_STRING_MATCH.KEY, True )

#

class COLUMN_LIST_KEY_TO_VALUE( COLUMN_LIST_DEFINITION ):
    
    ID = 59
    
    KEY = 0
    VALUE = 1
    

column_list_type_name_lookup[ COLUMN_LIST_KEY_TO_VALUE.ID ] = 'string to string'

register_column_type( COLUMN_LIST_KEY_TO_VALUE.ID, COLUMN_LIST_KEY_TO_VALUE.KEY, 'key', False, 20, True )
register_column_type( COLUMN_LIST_KEY_TO_VALUE.ID, COLUMN_LIST_KEY_TO_VALUE.VALUE, 'value', False, 36, True )

default_column_list_sort_lookup[ COLUMN_LIST_KEY_TO_VALUE.ID ] = ( COLUMN_LIST_KEY_TO_VALUE.KEY, True )

#

class COLUMN_LIST_STRING_CONVERTER_CONVERSIONS( COLUMN_LIST_DEFINITION ):
    
    ID = 60
    
    NUMBER = 0
    CONVERSION = 1
    RESULT = 2
    

column_list_type_name_lookup[ COLUMN_LIST_STRING_CONVERTER_CONVERSIONS.ID ] = 'string converter conversions'

register_column_type( COLUMN_LIST_STRING_CONVERTER_CONVERSIONS.ID, COLUMN_LIST_STRING_CONVERTER_CONVERSIONS.NUMBER, '#', False, 3, True )
register_column_type( COLUMN_LIST_STRING_CONVERTER_CONVERSIONS.ID, COLUMN_LIST_STRING_CONVERTER_CONVERSIONS.CONVERSION, 'conversion', False, 30, True )
register_column_type( COLUMN_LIST_STRING_CONVERTER_CONVERSIONS.ID, COLUMN_LIST_STRING_CONVERTER_CONVERSIONS.RESULT, 'result', False, 36, True )

default_column_list_sort_lookup[ COLUMN_LIST_STRING_CONVERTER_CONVERSIONS.ID ] = ( COLUMN_LIST_STRING_CONVERTER_CONVERSIONS.NUMBER, True )

#

class COLUMN_LIST_SUBSCRIPTION_QUERIES( COLUMN_LIST_DEFINITION ):
    
    ID = 61
    
    NAME_OR_QUERY = 0
    PAUSED = 1
    STATUS = 2
    LAST_NEW_FILE_TIME = 3
    LAST_CHECK_TIME = 4
    NEXT_CHECK_TIME = 5
    FILE_VELOCITY = 6
    RECENT_DELAYS = 7
    ITEMS = 8
    

column_list_type_name_lookup[ COLUMN_LIST_SUBSCRIPTION_QUERIES.ID ] = 'subscription queries'

register_column_type( COLUMN_LIST_SUBSCRIPTION_QUERIES.ID, COLUMN_LIST_SUBSCRIPTION_QUERIES.NAME_OR_QUERY, 'name/query', False, 20, True )
register_column_type( COLUMN_LIST_SUBSCRIPTION_QUERIES.ID, COLUMN_LIST_SUBSCRIPTION_QUERIES.PAUSED, 'paused', False, 8, True )
register_column_type( COLUMN_LIST_SUBSCRIPTION_QUERIES.ID, COLUMN_LIST_SUBSCRIPTION_QUERIES.STATUS, 'status', False, 8, True )
register_column_type( COLUMN_LIST_SUBSCRIPTION_QUERIES.ID, COLUMN_LIST_SUBSCRIPTION_QUERIES.LAST_NEW_FILE_TIME, 'last new file time', False, 20, True )
register_column_type( COLUMN_LIST_SUBSCRIPTION_QUERIES.ID, COLUMN_LIST_SUBSCRIPTION_QUERIES.LAST_CHECK_TIME, 'last check time', False, 20, True )
register_column_type( COLUMN_LIST_SUBSCRIPTION_QUERIES.ID, COLUMN_LIST_SUBSCRIPTION_QUERIES.NEXT_CHECK_TIME, 'next check time', False, 20, True )
register_column_type( COLUMN_LIST_SUBSCRIPTION_QUERIES.ID, COLUMN_LIST_SUBSCRIPTION_QUERIES.FILE_VELOCITY, 'file velocity', False, 20, True )
register_column_type( COLUMN_LIST_SUBSCRIPTION_QUERIES.ID, COLUMN_LIST_SUBSCRIPTION_QUERIES.RECENT_DELAYS, 'recent delays', False, 20, True )
register_column_type( COLUMN_LIST_SUBSCRIPTION_QUERIES.ID, COLUMN_LIST_SUBSCRIPTION_QUERIES.ITEMS, 'items', False, 13, True )

default_column_list_sort_lookup[ COLUMN_LIST_SUBSCRIPTION_QUERIES.ID ] = ( COLUMN_LIST_SUBSCRIPTION_QUERIES.NAME_OR_QUERY, True )

#

class COLUMN_LIST_SUBSCRIPTIONS( COLUMN_LIST_DEFINITION ):
    
    ID = 62
    
    NAME = 0
    SOURCE = 1
    STATUS = 2
    LAST_NEW_FILE_TIME = 3
    LAST_CHECKED = 4
    ERROR = 5
    ITEMS = 6
    PAUSED = 7
    

column_list_type_name_lookup[ COLUMN_LIST_SUBSCRIPTIONS.ID ] = 'subscriptions'

register_column_type( COLUMN_LIST_SUBSCRIPTIONS.ID, COLUMN_LIST_SUBSCRIPTIONS.NAME, 'name', False, 20, True )
register_column_type( COLUMN_LIST_SUBSCRIPTIONS.ID, COLUMN_LIST_SUBSCRIPTIONS.SOURCE, 'source', False, 20, True )
register_column_type( COLUMN_LIST_SUBSCRIPTIONS.ID, COLUMN_LIST_SUBSCRIPTIONS.STATUS, 'status', False, 25, True )
register_column_type( COLUMN_LIST_SUBSCRIPTIONS.ID, COLUMN_LIST_SUBSCRIPTIONS.LAST_NEW_FILE_TIME, 'last new file time', False, 20, True )
register_column_type( COLUMN_LIST_SUBSCRIPTIONS.ID, COLUMN_LIST_SUBSCRIPTIONS.LAST_CHECKED, 'last checked', False, 20, True )
register_column_type( COLUMN_LIST_SUBSCRIPTIONS.ID, COLUMN_LIST_SUBSCRIPTIONS.ERROR, 'error/delay?', False, 16, True )
register_column_type( COLUMN_LIST_SUBSCRIPTIONS.ID, COLUMN_LIST_SUBSCRIPTIONS.ITEMS, 'items', False, 13, True )
register_column_type( COLUMN_LIST_SUBSCRIPTIONS.ID, COLUMN_LIST_SUBSCRIPTIONS.PAUSED, 'paused', False, 8, True )

default_column_list_sort_lookup[ COLUMN_LIST_SUBSCRIPTIONS.ID ] = ( COLUMN_LIST_SUBSCRIPTIONS.NAME, True )

#

class COLUMN_LIST_TAG_PARENTS( COLUMN_LIST_DEFINITION ):
    
    ID = 63
    
    STATUS = 0
    CHILD = 1
    PARENT = 2
    

column_list_type_name_lookup[ COLUMN_LIST_TAG_PARENTS.ID ] = 'tag parents'

register_column_type( COLUMN_LIST_TAG_PARENTS.ID, COLUMN_LIST_TAG_PARENTS.STATUS, '', False, 6, True )
register_column_type( COLUMN_LIST_TAG_PARENTS.ID, COLUMN_LIST_TAG_PARENTS.CHILD, 'child', False, 25, True )
register_column_type( COLUMN_LIST_TAG_PARENTS.ID, COLUMN_LIST_TAG_PARENTS.PARENT, 'parent', False, 25, True )

default_column_list_sort_lookup[ COLUMN_LIST_TAG_PARENTS.ID ] = ( COLUMN_LIST_TAG_PARENTS.PARENT, True )

#

class COLUMN_LIST_TAG_SIBLINGS( COLUMN_LIST_DEFINITION ):
    
    ID = 64
    
    STATUS = 0
    OLD = 1
    NEW = 2
    NOTE = 3
    

column_list_type_name_lookup[ COLUMN_LIST_TAG_SIBLINGS.ID ] = 'tag siblings'

register_column_type( COLUMN_LIST_TAG_SIBLINGS.ID, COLUMN_LIST_TAG_SIBLINGS.STATUS, '', False, 6, True )
register_column_type( COLUMN_LIST_TAG_SIBLINGS.ID, COLUMN_LIST_TAG_SIBLINGS.OLD, 'to be replaced', False, 25, True )
register_column_type( COLUMN_LIST_TAG_SIBLINGS.ID, COLUMN_LIST_TAG_SIBLINGS.NEW, 'ideal', False, 25, True )
register_column_type( COLUMN_LIST_TAG_SIBLINGS.ID, COLUMN_LIST_TAG_SIBLINGS.NOTE, 'note', False, 40, True )

default_column_list_sort_lookup[ COLUMN_LIST_TAG_SIBLINGS.ID ] = ( COLUMN_LIST_TAG_SIBLINGS.NEW, True )

#

class COLUMN_LIST_JOB_SCHEDULER_REVIEW( COLUMN_LIST_DEFINITION ):
    
    ID = 65
    
    TYPE = 0
    JOB = 1
    DUE = 2
    

column_list_type_name_lookup[ COLUMN_LIST_JOB_SCHEDULER_REVIEW.ID ] = 'current jobs review'

register_column_type( COLUMN_LIST_JOB_SCHEDULER_REVIEW.ID, COLUMN_LIST_JOB_SCHEDULER_REVIEW.TYPE, 'type', False, 10, True )
register_column_type( COLUMN_LIST_JOB_SCHEDULER_REVIEW.ID, COLUMN_LIST_JOB_SCHEDULER_REVIEW.JOB, 'job', False, 30, True )
register_column_type( COLUMN_LIST_JOB_SCHEDULER_REVIEW.ID, COLUMN_LIST_JOB_SCHEDULER_REVIEW.DUE, 'due', False, 30, True )

default_column_list_sort_lookup[ COLUMN_LIST_JOB_SCHEDULER_REVIEW.ID ] = ( COLUMN_LIST_JOB_SCHEDULER_REVIEW.DUE, True )

#

class COLUMN_LIST_VACUUM_DATA( COLUMN_LIST_DEFINITION ):
    
    ID = 66
    
    NAME = 0
    SIZE = 1
    FREE_SPACE = 2
    LAST_VACUUM = 3
    CAN_VACUUM = 4
    VACUUM_TIME_ESTIMATE = 5
    

column_list_type_name_lookup[ COLUMN_LIST_VACUUM_DATA.ID ] = 'vacuum data'

register_column_type( COLUMN_LIST_VACUUM_DATA.ID, COLUMN_LIST_VACUUM_DATA.NAME, 'name', False, 32, True )
register_column_type( COLUMN_LIST_VACUUM_DATA.ID, COLUMN_LIST_VACUUM_DATA.SIZE, 'size', False, 8, True )
register_column_type( COLUMN_LIST_VACUUM_DATA.ID, COLUMN_LIST_VACUUM_DATA.FREE_SPACE, 'internal free space', False, 14, True )
register_column_type( COLUMN_LIST_VACUUM_DATA.ID, COLUMN_LIST_VACUUM_DATA.LAST_VACUUM, 'last vacuum', False, 32, True )
register_column_type( COLUMN_LIST_VACUUM_DATA.ID, COLUMN_LIST_VACUUM_DATA.CAN_VACUUM, 'can vacuum?', False, 64, True )
register_column_type( COLUMN_LIST_VACUUM_DATA.ID, COLUMN_LIST_VACUUM_DATA.VACUUM_TIME_ESTIMATE, 'vacuum time estimate', False, 48, True )

default_column_list_sort_lookup[ COLUMN_LIST_VACUUM_DATA.ID ] = ( COLUMN_LIST_VACUUM_DATA.NAME, True )

class COLUMN_LIST_EXIF_DATA( COLUMN_LIST_DEFINITION ):
    
    ID = 67
    
    EXIF_ID = 0
    EXIF_LABEL = 1
    VALUE = 2
    
column_list_type_name_lookup[ COLUMN_LIST_EXIF_DATA.ID ] = 'exif data'

register_column_type( COLUMN_LIST_EXIF_DATA.ID, COLUMN_LIST_EXIF_DATA.EXIF_ID, 'id', False, 6, True )
register_column_type( COLUMN_LIST_EXIF_DATA.ID, COLUMN_LIST_EXIF_DATA.EXIF_LABEL, 'label', False, 20, True )
register_column_type( COLUMN_LIST_EXIF_DATA.ID, COLUMN_LIST_EXIF_DATA.VALUE, 'value', False, 20, True )

default_column_list_sort_lookup[ COLUMN_LIST_EXIF_DATA.ID ] = ( COLUMN_LIST_EXIF_DATA.EXIF_ID, True )

class COLUMN_LIST_TAG_SLICE_WEIGHT( COLUMN_LIST_DEFINITION ):
    
    ID = 68
    
    TAG_SLICE = 0
    WEIGHT = 1
    

column_list_type_name_lookup[ COLUMN_LIST_TAG_SLICE_WEIGHT.ID ] = 'tag slice weight'

register_column_type( COLUMN_LIST_TAG_SLICE_WEIGHT.ID, COLUMN_LIST_TAG_SLICE_WEIGHT.TAG_SLICE, 'namespace', False, 20, True )
register_column_type( COLUMN_LIST_TAG_SLICE_WEIGHT.ID, COLUMN_LIST_TAG_SLICE_WEIGHT.WEIGHT, 'weight', False, 8, True )

default_column_list_sort_lookup[ COLUMN_LIST_TAG_SLICE_WEIGHT.ID ] = ( COLUMN_LIST_TAG_SLICE_WEIGHT.TAG_SLICE, True )

class COLUMN_LIST_FILE_SERVICE_TIMESTAMPS( COLUMN_LIST_DEFINITION ):
    
    ID = 69
    
    SERVICE = 0
    TIMESTAMP_TYPE = 1
    TIMESTAMP = 2
    

column_list_type_name_lookup[ COLUMN_LIST_FILE_SERVICE_TIMESTAMPS.ID ] = 'file service timestamps'

register_column_type( COLUMN_LIST_FILE_SERVICE_TIMESTAMPS.ID, COLUMN_LIST_FILE_SERVICE_TIMESTAMPS.SERVICE, 'service', False, 20, True )
register_column_type( COLUMN_LIST_FILE_SERVICE_TIMESTAMPS.ID, COLUMN_LIST_FILE_SERVICE_TIMESTAMPS.TIMESTAMP_TYPE, 'type', False, 20, True )
register_column_type( COLUMN_LIST_FILE_SERVICE_TIMESTAMPS.ID, COLUMN_LIST_FILE_SERVICE_TIMESTAMPS.TIMESTAMP, 'time', False, 23, True )

default_column_list_sort_lookup[ COLUMN_LIST_FILE_SERVICE_TIMESTAMPS.ID ] = ( COLUMN_LIST_FILE_SERVICE_TIMESTAMPS.TIMESTAMP_TYPE, True )

class COLUMN_LIST_DOMAIN_MODIFIED_TIMESTAMPS( COLUMN_LIST_DEFINITION ):
    
    ID = 70
    
    DOMAIN = 0
    TIMESTAMP = 1
    

column_list_type_name_lookup[ COLUMN_LIST_DOMAIN_MODIFIED_TIMESTAMPS.ID ] = 'domain modified timestamps'

register_column_type( COLUMN_LIST_DOMAIN_MODIFIED_TIMESTAMPS.ID, COLUMN_LIST_DOMAIN_MODIFIED_TIMESTAMPS.DOMAIN, 'domain', False, 20, True )
register_column_type( COLUMN_LIST_DOMAIN_MODIFIED_TIMESTAMPS.ID, COLUMN_LIST_DOMAIN_MODIFIED_TIMESTAMPS.TIMESTAMP, 'time', False, 23, True )

default_column_list_sort_lookup[ COLUMN_LIST_DOMAIN_MODIFIED_TIMESTAMPS.ID ] = ( COLUMN_LIST_DOMAIN_MODIFIED_TIMESTAMPS.DOMAIN, True )

class COLUMN_LIST_PETITIONS_SUMMARY( COLUMN_LIST_DEFINITION ):
    
    ID = 71
    
    ACTION = 0
    ACCOUNT_KEY = 1
    REASON = 2
    CONTENT = 3
    

column_list_type_name_lookup[ COLUMN_LIST_PETITIONS_SUMMARY.ID ] = 'petitions summary'

register_column_type( COLUMN_LIST_PETITIONS_SUMMARY.ID, COLUMN_LIST_PETITIONS_SUMMARY.ACTION, 'action', False, 9, True )
register_column_type( COLUMN_LIST_PETITIONS_SUMMARY.ID, COLUMN_LIST_PETITIONS_SUMMARY.ACCOUNT_KEY, 'account', False, 10, True )
register_column_type( COLUMN_LIST_PETITIONS_SUMMARY.ID, COLUMN_LIST_PETITIONS_SUMMARY.REASON, 'reason', False, 15, True )
register_column_type( COLUMN_LIST_PETITIONS_SUMMARY.ID, COLUMN_LIST_PETITIONS_SUMMARY.CONTENT, 'content', False, 16, True )

default_column_list_sort_lookup[ COLUMN_LIST_PETITIONS_SUMMARY.ID ] = ( COLUMN_LIST_PETITIONS_SUMMARY.ACCOUNT_KEY, True )

class COLUMN_LIST_DEFERRED_DELETE_TABLE_DATA( COLUMN_LIST_DEFINITION ):
    
    ID = 72
    
    NAME = 0
    ROWS = 1
    

column_list_type_name_lookup[ COLUMN_LIST_VACUUM_DATA.ID ] = 'vacuum data'

register_column_type( COLUMN_LIST_DEFERRED_DELETE_TABLE_DATA.ID, COLUMN_LIST_DEFERRED_DELETE_TABLE_DATA.NAME, 'name', False, 64, True )
register_column_type( COLUMN_LIST_DEFERRED_DELETE_TABLE_DATA.ID, COLUMN_LIST_DEFERRED_DELETE_TABLE_DATA.ROWS, 'num rows', False, 12, True )

default_column_list_sort_lookup[ COLUMN_LIST_DEFERRED_DELETE_TABLE_DATA.ID ] = ( COLUMN_LIST_DEFERRED_DELETE_TABLE_DATA.NAME, True )
