class ProblemType(Enum): SONG_ONLY = auto() SONG_TAG = auto() TAG_TITLE = auto() TITLE_ONLY = auto() ELSE = auto()
class RegNo(IntEnum): R_none = -1 R_ax = 0 R_cx = auto() # 1 R_dx = auto() # 2 R_bx = auto() # 3 R_sp = auto() # 4 R_bp = auto() # 5 R_si = auto() # 6 R_di = auto() # 7 R_r8 = auto() # 8 R_r9 = auto() # 9 R_r10 = auto() # 10 R_r11 = auto() # 11 R_r12 = auto() # 12 R_r13 = auto() # 13 R_r14 = auto() # 14 R_r15 = auto() # 15 R_al = auto() R_cl = auto() R_dl = auto() R_bl = auto() R_ah = auto() R_ch = auto() R_dh = auto() R_bh = auto() R_spl = auto() R_bpl = auto() R_sil = auto() R_dil = auto() R_ip = auto() R_es = auto() # 0 R_cs = auto() # 1 R_ss = auto() # 2 R_ds = auto() # 3 R_fs = auto() R_gs = auto() R_cf = auto() # main cc's R_zf = auto() R_sf = auto() R_of = auto() R_pf = auto() # additional cc's R_af = auto() R_tf = auto() R_if = auto() R_df = auto() R_efl = auto() # eflags # the following registers will be used in the disassembly # starting from ida v5.7 R_st0 = auto() # floating point registers(not used in disassembly) R_st1 = auto() R_st2 = auto() R_st3 = auto() R_st4 = auto() R_st5 = auto() R_st6 = auto() R_st7 = auto() R_fpctrl = auto() # fpu control register R_fpstat = auto() # fpu status register R_fptags = auto() # fpu tags register R_mm0 = auto() # mmx registers R_mm1 = auto() R_mm2 = auto() R_mm3 = auto() R_mm4 = auto() R_mm5 = auto() R_mm6 = auto() R_mm7 = auto() R_xmm0 = auto() # xmm registers R_xmm1 = auto() R_xmm2 = auto() R_xmm3 = auto() R_xmm4 = auto() R_xmm5 = auto() R_xmm6 = auto() R_xmm7 = auto() R_xmm8 = auto() R_xmm9 = auto() R_xmm10 = auto() R_xmm11 = auto() R_xmm12 = auto() R_xmm13 = auto() R_xmm14 = auto() R_xmm15 = auto() R_mxcsr = auto() R_ymm0 = auto() # AVX 256 - bit registers R_ymm1 = auto() R_ymm2 = auto() R_ymm3 = auto() R_ymm4 = auto() R_ymm5 = auto() R_ymm6 = auto() R_ymm7 = auto() R_ymm8 = auto() R_ymm9 = auto() R_ymm10 = auto() R_ymm11 = auto() R_ymm12 = auto() R_ymm13 = auto() R_ymm14 = auto() R_ymm15 = auto() R_bnd0 = auto() # MPX registers R_bnd1 = auto() R_bnd2 = auto() R_bnd3 = auto() R_xmm16 = auto() # AVX - 512 extended XMM registers R_xmm17 = auto() R_xmm18 = auto() R_xmm19 = auto() R_xmm20 = auto() R_xmm21 = auto() R_xmm22 = auto() R_xmm23 = auto() R_xmm24 = auto() R_xmm25 = auto() R_xmm26 = auto() R_xmm27 = auto() R_xmm28 = auto() R_xmm29 = auto() R_xmm30 = auto() R_xmm31 = auto() R_ymm16 = auto() # AVX - 512 extended YMM registers R_ymm17 = auto() R_ymm18 = auto() R_ymm19 = auto() R_ymm20 = auto() R_ymm21 = auto() R_ymm22 = auto() R_ymm23 = auto() R_ymm24 = auto() R_ymm25 = auto() R_ymm26 = auto() R_ymm27 = auto() R_ymm28 = auto() R_ymm29 = auto() R_ymm30 = auto() R_ymm31 = auto() R_zmm0 = auto() # AVX - 512 ZMM registers R_zmm1 = auto() R_zmm2 = auto() R_zmm3 = auto() R_zmm4 = auto() R_zmm5 = auto() R_zmm6 = auto() R_zmm7 = auto() R_zmm8 = auto() R_zmm9 = auto() R_zmm10 = auto() R_zmm11 = auto() R_zmm12 = auto() R_zmm13 = auto() R_zmm14 = auto() R_zmm15 = auto() R_zmm16 = auto() R_zmm17 = auto() R_zmm18 = auto() R_zmm19 = auto() R_zmm20 = auto() R_zmm21 = auto() R_zmm22 = auto() R_zmm23 = auto() R_zmm24 = auto() R_zmm25 = auto() R_zmm26 = auto() R_zmm27 = auto() R_zmm28 = auto() R_zmm29 = auto() R_zmm30 = auto() R_zmm31 = auto() R_k0 = auto() # AVX - 512 opmask registers R_k1 = auto() R_k2 = auto() R_k3 = auto() R_k4 = auto() R_k5 = auto() R_k6 = auto() R_k7 = auto() R_last = auto()
class Priority(enum.Enum): """Enum which defines the possible priorities of queue entries. """ HIGH = enum.auto() LOW = enum.auto()
class RenderOrder(Enum): STAIRS = auto() CORPSE = auto() ITEM = auto() ACTOR = auto()
class BuildState(enum.Enum): FINISHED = enum.auto() ONGOING = enum.auto()
class ProtoEnumOpt(Enum): INT = auto() STR = auto()
class Thing(Enum): FARMER = auto() GOOSE = auto() GRAIN = auto() FOX = auto()
class DataMode(Enum): DEFAULT = auto() S3 = auto()
class Rotation(Enum): FULL = auto() STRETCH = auto()
class CheckpointImpl(Enum): REENTRANT = auto() NO_REENTRANT = auto()
class Display(Flag): CLEAN = 0 FAILED = auto()
class _DefaultValue(enum.Enum): INVALID = enum.auto()
class tags(IntEnum): """Avoids magic constants.""" start = auto() stop = auto() default = auto() failed = auto()
class ChannelMode(enum.Enum): FULL_READ_WRITE = enum.auto() # everything is allowed WHITELISTED_READ_WRITE = enum.auto() # only some commands and non-command sends will be allowed EXISTS = enum.auto() # bot knows channel exists, no interaction inside of the channel is allowed PARENT = enum.auto() # means that the channel can't have messages sent to it directly but you need to pick a child
class FieldAttribute(enum.Enum): OPTIONAL = enum.auto() NULLABLE = enum.auto()
class GameState(Enum): """States of the game""" RUNNING = auto() OVER = auto() PAUSED = auto() NOT_STARTED = auto()
class MetadataOpt(Enum): POSTFIX = auto() TYPED = auto()
class Action(Enum): NORTH = auto() SOUTH = auto() EAST = auto() WEST = auto()
class FilterOpt(Enum): ALL = auto() LOGGED = auto()
class AttributeTag(enum.Enum): READABLE = enum.auto() WRITABLE = enum.auto() GLOBAL = enum.auto() NOSUBSCRIBE = enum.auto()
class MouseButton(Enum): primary = auto() secondary = auto() middle = auto()
class EventPriority(enum.Enum): DEBUG = enum.auto() INFO = enum.auto() CRITICAL = enum.auto()
class Field(Enum): """Enumeration, represent a non null field in a battle.""" ELECTRIC_TERRAIN = auto() GRASSY_TERRAIN = auto() GRAVITY = auto() HEAL_BLOCK = auto() MAGIC_ROOM = auto() MISTY_TERRAIN = auto() MUD_SPORT = auto() MUD_SPOT = auto() PSYCHIC_TERRAIN = auto() TRICK_ROOM = auto() WATER_SPORT = auto() WONDER_ROOM = auto() def __str__(self) -> str: return f"{self.name} (field) object" @staticmethod def from_showdown_message(message: str) -> "Field": """Returns the Field object corresponding to the message. :param message: The message to convert. :type message: str :return: The corresponding Field object. :rtype: Field """ message = message.replace("move: ", "") message = message.replace(" ", "_") return Field[message.upper()]
class ClusterSide(enum.Enum): CLIENT = enum.auto() SERVER = enum.auto()
class LoadType(enum.Enum): # One time load. All workflows are submitted almost at the same time. ONE_TIME = enum.auto() # Evenly spread load. N workflows are submitted every k seconds. EVEN = enum.auto()
class StructTag(enum.Enum): REQUEST = enum.auto() RESPONSE = enum.auto()
class ShipyardAction(Enum): SPAWN = auto() def __str__(self) -> str: return self.name
class EndpointContentType(enum.Enum): SERVER_CLUSTER = enum.auto() CLIENT_BINDING = enum.auto()
class TimingOption(Flag): GLOBAL = auto() PER_CHART = auto() BPM_CHANGES = auto()
class AvailableDrink(Enum): # violates OCP COFFEE = auto() TEA = auto()