from .constants import (MonoEffect, CustomEffect)

MONO_EFFECTS = {
  'Solid (custom color)': MonoEffect.SOLID,
  'Breathing (custom color)': MonoEffect.BREATHING,
  'Meteor (custom color)': MonoEffect.METEOR,
  'Flow (custom color)': MonoEffect.FLOW,
  'Wave (custom color)': MonoEffect.WAVE,
  'Flash (custom color)': MonoEffect.FLASH,
  'Stack (custom color)': MonoEffect.STACK,
  'Catchup (custom color)': MonoEffect.CATCHUP,
}

PRESET_EFFECTS = {
  'Rainbow': 0,
  'Colors changing meteors': 1,
  'Flowing Colors': 2,
  'Overlaying Flowing': 3,
  'Red stacking': 4,
  'Green stacking': 5,
  'Blue stacking': 6,
  'Colors changing stacking': 7,
  'Fading flowing': 8,
  'Color changing cross flowing': 9,
  'Cross flowing': 10,
  'Chasing color dots': 11,
  'Colorful wave': 12,
  'Burning fire': 13,
  'Red meteor': 14,
  'Green meteor': 15,
  'Blue meteor': 16,
  'Yellow meteor': 17,
  'Cyan meteor': 18,
  'Purple meteor': 19,
  'White meteor': 20,
  'Red wave': 21,
  'Green wave': 22,
  'Blue wave': 23,
  'Yellow wave': 24,
  'Cyan wave': 25,
  'Purple wave': 26,
  'White wave': 27,
  'Red chasing dots': 28,
  'Green chasing dots': 29,
  'Blue chasing dots': 30,
  'Yellow chasing dots': 31,
  'Cyan chasing dots': 32,
  'White chasing dots': 33,
  'Purple chasing dots': 34,
  'Cyan dots blink on silver': 35,
  'Purple dots blink on silver': 36,
  'Yellow dots blink on silver': 37,
  'Blue dots blink on silver': 38,
  'Green dots blink on silver': 39,
  'Red dots blink on silver': 40,
  'Red and Green flowing': 41,
  'Red and blue flowing': 42,
  'Red and yellow flowing': 43,
  'Red and cyan flowing': 44,
  'Red and purple flowing': 45,
  'Red and white flowing': 46,
  'Green and blue flowing': 47,
  'Green and yellow flowing': 48,
  'Green and cyan flowing': 49,
  'Green and purple flowing': 50,
  'Green and white flowing': 51,
  'Blue and yellow flowing': 52,
  'Blue and cyan flowing': 53,
  'Blue and purple flowing': 54,
  'Blue and white flowing': 55,
  'Yellow and cyan flowing': 56,
  'Yellow and purple flowing': 57,
  'Yellow and white flowing': 58,
  'Cyan and purple flowing': 59,
  'Cyan and white flowing': 60,
  'Red crossing flowing': 61,
  'Green crossing flowing': 62,
  'Blue crossing flowing': 63,
  'Yellow crossing flowing': 64,
  'Cyan crossing flowing': 65,
  'Purple crossing flowing': 66,
  'White crossing flowing': 67,
  'Red arrows': 68,
  'Green arrows': 69,
  'Blue arrows': 70,
  'Yellow arrows': 71,
  'Cyan arrows': 72,
  'Purple arrows': 73,
  'Red cudgel': 74,
  'Green cudgel': 75,
  'Blue cudgel': 76,
  'Yellow cudgel': 77,
  'Cyan cudgel': 78,
  'Purple cudgel': 79,
  'Gaps in cyan': 80,
  'Gaps in purple': 81,
  'Gaps in yellow': 82,
  'Gaps in blue': 83,
  'Gaps in green': 84,
  'Gaps in red': 85,
  'Red breathe': 86,
  'Green breathe': 87,
  'Blue breathe': 88,
  'Yellow breathe': 89,
  'Cyan breathe': 90,
  'Purple breathe': 91,
  'White breathe': 92,
  'Red arrows reverse': 93,
  'Green arrows reverse': 94,
  'Blue arrows reverse': 95,
  'Yellow arrows reverse': 96,
  'Cyan arrows reverse': 97,
  'Purple arrows reverse': 98,
  'Red dots running in cyan': 99,
  'Green dots running in purple': 100,
  'Blue dots running in yellow': 101,
  'Yellow dots running in blue': 102,
  'Cyan dots running in green': 103,
  'Purple dots running in red': 104,
  'White dots running in cyan': 105,
  'Red fading in and out': 106,
  'Green fading in and out': 107,
  'Blue fading in and out': 108,
  'Yellow fading in and out': 109,
  'Cyan fading in and out': 110,
  'Purple fading in and out': 111,
  'White fading in and out': 112,
  'Red meteor reverse': 113,
  'Green meteor reverse': 114,
  'Blue meteor reverse': 115,
  'Yellow meteor reverse': 116,
  'Cyan meteor reverse': 117,
  'Purple meteor reverse': 118,
  'White meteor reverse': 119,
  'Red wave 2': 120,
  'Green wave 2': 121,
  'Blue wave 2': 122,
  'Yellow wave 2': 123,
  'Cyan wave 2': 124,
  'Purple wave 2': 125,
  'White wave 2': 126,
  'Red wing dots': 127,
  'Green swing dots': 128,
  'Blue swing dots': 129,
  'Yellow swing dots': 130,
  'Cyan swing dots': 131,
  'Purple swing dots': 132,
  'White swing dots': 133,
  'Red and green cudgel': 134,
  'Green and blue cudgel': 135,
  'Blue and yellow cudgel': 136,
  'Yellow and cyan cudgel': 137,
  'Cyan and purple cudgel': 138,
  'Purple and white cudgel': 139,
  'White and red cudgel': 140,
  'Red overlaps green': 141,
  'Green overlaps red': 142,
  'Blue overlaps green': 143,
  'Yellow overlaps green': 144,
  'Cyan overlaps green': 145,
  'Purple overlaps green': 146,
  'White overlaps green': 147,
  'Red overlaps blue': 148,
  'Green overlaps blue': 149,
  'Blue overlaps green 2': 150,
  'Yellow overlaps blue': 151,
  'Cyan overlaps blue': 152,
  'Purple overlaps blue': 153,
  'White overlaps blue': 154,
  'Pink mix blue': 155,
  'Green mix yellow': 156,
  'Blue mix pink': 157,
  'Blue mix white': 158,
  'Green mix orange': 159,
  'Blue mix purple': 160,
  'Cyan mix white': 161,
  'Red blinking': 162,
  'Green blinking': 163,
  'Blue blinking': 164,
  'Yellow blinking': 165,
  'Cyan blinking': 166,
  'Purple blinking': 167,
  'White blinking': 168,
  'Red stacking into green': 169,
  'Green stacking into blue': 170,
  'Blue stacking into yellow': 171,
  'Yellow stacking into cyan': 172,
  'Cyan stacking into purple': 173,
  'Purple stacking into white': 174,
  'White stacking into red': 175,
  'Color changing breathing': 176,
  'Multicolored gradients': 177,
  'Color Flashing': 178,
  'Rainbow reverse': 179
}

CUSTOM_EFFECTS = {
  'Custom Effect 1': CustomEffect.CUSTOM_1,
  'Custom Effect 2': CustomEffect.CUSTOM_2,
  'Custom Effect 3': CustomEffect.CUSTOM_3,
  'Custom Effect 4': CustomEffect.CUSTOM_4,
  'Custom Effect 5': CustomEffect.CUSTOM_5,
  'Custom Effect 6': CustomEffect.CUSTOM_6,
  'Custom Effect 7': CustomEffect.CUSTOM_7,
  'Custom Effect 8': CustomEffect.CUSTOM_8,
  'Custom Effect 9': CustomEffect.CUSTOM_9,
  'Custom Effect 10': CustomEffect.CUSTOM_10,
  'Custom Effect 11': CustomEffect.CUSTOM_11,
  'Custom Effect 12': CustomEffect.CUSTOM_12,
}
