########################################################################################
#   This file is auto generated at 2023-02-13 21:55:50.233126, do not edit this file   #
########################################################################################
FIT_TYPES = {
    "file": {
        "base_type": "enum",
        "values": {
            1: {
                "value_name": "device",
                "comment": "Read only, single file. Must be in root " "directory.",
            },
            2: {
                "value_name": "settings",
                "comment": "Read/write, single file. Directory=Settings",
            },
            3: {
                "value_name": "sport",
                "comment": "Read/write, multiple files, file number = sport "
                "type. Directory=Sports",
            },
            4: {
                "value_name": "activity",
                "comment": "Read/erase, multiple files. Directory=Activities",
            },
            5: {
                "value_name": "workout",
                "comment": "Read/write/erase, multiple files. " "Directory=Workouts",
            },
            6: {
                "value_name": "course",
                "comment": "Read/write/erase, multiple files. " "Directory=Courses",
            },
            7: {
                "value_name": "schedules",
                "comment": "Read/write, single file. Directory=Schedules",
            },
            9: {
                "value_name": "weight",
                "comment": "Read only, single file. Circular buffer. All "
                "message definitions at start of file. "
                "Directory=Weight",
            },
            10: {
                "value_name": "totals",
                "comment": "Read only, single file. Directory=Totals",
            },
            11: {
                "value_name": "goals",
                "comment": "Read/write, single file. Directory=Goals",
            },
            14: {
                "value_name": "blood_pressure",
                "comment": "Read only. Directory=Blood Pressure",
            },
            15: {
                "value_name": "monitoring_a",
                "comment": "Read only. Directory=Monitoring. File number=sub " "type.",
            },
            20: {
                "value_name": "activity_summary",
                "comment": "Read/erase, multiple files. " "Directory=Activities",
            },
            28: {"value_name": "monitoring_daily", "comment": ""},
            32: {
                "value_name": "monitoring_b",
                "comment": "Read only. Directory=Monitoring. File " "number=identifier",
            },
            34: {
                "value_name": "segment",
                "comment": "Read/write/erase. Multiple Files. " "Directory=Segments",
            },
            35: {
                "value_name": "segment_list",
                "comment": "Read/write/erase. Single File. " "Directory=Segments",
            },
            40: {
                "value_name": "exd_configuration",
                "comment": "Read/write/erase. Single File. " "Directory=Settings",
            },
            247: {
                "value_name": "mfg_range_min",
                "comment": "0xF7 - 0xFE reserved for manufacturer specific "
                "file types (original value: 0xF7)",
            },
            254: {
                "value_name": "mfg_range_max",
                "comment": "0xF7 - 0xFE reserved for manufacturer specific "
                "file types (original value: 0xFE)",
            },
        },
    },
    "mesg_num": {
        "base_type": "uint16",
        "values": {
            0: {"value_name": "file_id", "comment": ""},
            1: {"value_name": "capabilities", "comment": ""},
            2: {"value_name": "device_settings", "comment": ""},
            3: {"value_name": "user_profile", "comment": ""},
            4: {"value_name": "hrm_profile", "comment": ""},
            5: {"value_name": "sdm_profile", "comment": ""},
            6: {"value_name": "bike_profile", "comment": ""},
            7: {"value_name": "zones_target", "comment": ""},
            8: {"value_name": "hr_zone", "comment": ""},
            9: {"value_name": "power_zone", "comment": ""},
            10: {"value_name": "met_zone", "comment": ""},
            12: {"value_name": "sport", "comment": ""},
            15: {"value_name": "goal", "comment": ""},
            18: {"value_name": "session", "comment": ""},
            19: {"value_name": "lap", "comment": ""},
            20: {"value_name": "record", "comment": ""},
            21: {"value_name": "event", "comment": ""},
            23: {"value_name": "device_info", "comment": ""},
            26: {"value_name": "workout", "comment": ""},
            27: {"value_name": "workout_step", "comment": ""},
            28: {"value_name": "schedule", "comment": ""},
            30: {"value_name": "weight_scale", "comment": ""},
            31: {"value_name": "course", "comment": ""},
            32: {"value_name": "course_point", "comment": ""},
            33: {"value_name": "totals", "comment": ""},
            34: {"value_name": "activity", "comment": ""},
            35: {"value_name": "software", "comment": ""},
            37: {"value_name": "file_capabilities", "comment": ""},
            38: {"value_name": "mesg_capabilities", "comment": ""},
            39: {"value_name": "field_capabilities", "comment": ""},
            49: {"value_name": "file_creator", "comment": ""},
            51: {"value_name": "blood_pressure", "comment": ""},
            53: {"value_name": "speed_zone", "comment": ""},
            55: {"value_name": "monitoring", "comment": ""},
            72: {"value_name": "training_file", "comment": ""},
            78: {"value_name": "hrv", "comment": ""},
            80: {"value_name": "ant_rx", "comment": ""},
            81: {"value_name": "ant_tx", "comment": ""},
            82: {"value_name": "ant_channel_id", "comment": ""},
            101: {"value_name": "length", "comment": ""},
            103: {"value_name": "monitoring_info", "comment": ""},
            105: {"value_name": "pad", "comment": ""},
            106: {"value_name": "slave_device", "comment": ""},
            127: {"value_name": "connectivity", "comment": ""},
            128: {"value_name": "weather_conditions", "comment": ""},
            129: {"value_name": "weather_alert", "comment": ""},
            131: {"value_name": "cadence_zone", "comment": ""},
            132: {"value_name": "hr", "comment": ""},
            142: {"value_name": "segment_lap", "comment": ""},
            145: {"value_name": "memo_glob", "comment": ""},
            148: {"value_name": "segment_id", "comment": ""},
            149: {"value_name": "segment_leaderboard_entry", "comment": ""},
            150: {"value_name": "segment_point", "comment": ""},
            151: {"value_name": "segment_file", "comment": ""},
            158: {"value_name": "workout_session", "comment": ""},
            159: {"value_name": "watchface_settings", "comment": ""},
            160: {"value_name": "gps_metadata", "comment": ""},
            161: {"value_name": "camera_event", "comment": ""},
            162: {"value_name": "timestamp_correlation", "comment": ""},
            164: {"value_name": "gyroscope_data", "comment": ""},
            165: {"value_name": "accelerometer_data", "comment": ""},
            167: {"value_name": "three_d_sensor_calibration", "comment": ""},
            169: {"value_name": "video_frame", "comment": ""},
            174: {"value_name": "obdii_data", "comment": ""},
            177: {"value_name": "nmea_sentence", "comment": ""},
            178: {"value_name": "aviation_attitude", "comment": ""},
            184: {"value_name": "video", "comment": ""},
            185: {"value_name": "video_title", "comment": ""},
            186: {"value_name": "video_description", "comment": ""},
            187: {"value_name": "video_clip", "comment": ""},
            188: {"value_name": "ohr_settings", "comment": ""},
            200: {"value_name": "exd_screen_configuration", "comment": ""},
            201: {"value_name": "exd_data_field_configuration", "comment": ""},
            202: {"value_name": "exd_data_concept_configuration", "comment": ""},
            206: {"value_name": "field_description", "comment": ""},
            207: {"value_name": "developer_data_id", "comment": ""},
            208: {"value_name": "magnetometer_data", "comment": ""},
            209: {"value_name": "barometer_data", "comment": ""},
            210: {"value_name": "one_d_sensor_calibration", "comment": ""},
            225: {"value_name": "set", "comment": ""},
            227: {"value_name": "stress_level", "comment": ""},
            258: {"value_name": "dive_settings", "comment": ""},
            259: {"value_name": "dive_gas", "comment": ""},
            262: {"value_name": "dive_alarm", "comment": ""},
            264: {"value_name": "exercise_title", "comment": ""},
            268: {"value_name": "dive_summary", "comment": ""},
            285: {"value_name": "jump", "comment": ""},
            317: {"value_name": "climb_pro", "comment": ""},
            375: {"value_name": "device_aux_battery_info", "comment": ""},
            65280: {
                "value_name": "mfg_range_min",
                "comment": "0xFF00 - 0xFFFE reserved for manufacturer "
                "specific messages (original value: "
                "0xFF00)",
            },
            65534: {
                "value_name": "mfg_range_max",
                "comment": "0xFF00 - 0xFFFE reserved for manufacturer "
                "specific messages (original value: "
                "0xFFFE)",
            },
        },
    },
    "checksum": {
        "base_type": "uint8",
        "values": {
            0: {
                "value_name": "clear",
                "comment": "Allows clear of checksum for flash memory "
                "where can only write 1 to 0 without erasing "
                "sector.",
            },
            1: {
                "value_name": "ok",
                "comment": "Set to mark checksum as valid if computes to "
                "invalid values 0 or 0xFF. Checksum can also "
                "be set to ok to save encoding computation "
                "time.",
            },
        },
    },
    "file_flags": {
        "base_type": "uint8z",
        "values": {
            2: {"value_name": "read", "comment": "(original value: 0x02)"},
            4: {"value_name": "write", "comment": "(original value: 0x04)"},
            8: {"value_name": "erase", "comment": "(original value: 0x08)"},
        },
    },
    "mesg_count": {
        "base_type": "enum",
        "values": {
            0: {"value_name": "num_per_file", "comment": ""},
            1: {"value_name": "max_per_file", "comment": ""},
            2: {"value_name": "max_per_file_type", "comment": ""},
        },
    },
    "date_time": {
        "base_type": "uint32",
        "values": {
            268435456: {
                "value_name": "min",
                "comment": "if date_time is < 0x10000000 then it "
                "is system time (seconds from device "
                "power on) (original value: "
                "0x10000000)",
            }
        },
    },
    "local_date_time": {
        "base_type": "uint32",
        "values": {
            268435456: {
                "value_name": "min",
                "comment": "if date_time is < 0x10000000 "
                "then it is system time "
                "(seconds from device power on) "
                "(original value: "
                "0x10000000)",
            }
        },
    },
    "message_index": {
        "base_type": "uint16",
        "values": {
            32768: {
                "value_name": "selected",
                "comment": "message is selected if set (original " "value: 0x8000)",
            },
            28672: {
                "value_name": "reserved",
                "comment": "reserved (default 0) (original " "value: 0x7000)",
            },
            4095: {"value_name": "mask", "comment": "index (original value: 0x0FFF)"},
        },
    },
    "device_index": {
        "base_type": "uint8",
        "values": {
            0: {
                "value_name": "creator",
                "comment": "Creator of the file is always device " "index 0.",
            }
        },
    },
    "gender": {
        "base_type": "enum",
        "values": {
            0: {"value_name": "female", "comment": ""},
            1: {"value_name": "male", "comment": ""},
        },
    },
    "language": {
        "base_type": "enum",
        "values": {
            0: {"value_name": "english", "comment": ""},
            1: {"value_name": "french", "comment": ""},
            2: {"value_name": "italian", "comment": ""},
            3: {"value_name": "german", "comment": ""},
            4: {"value_name": "spanish", "comment": ""},
            5: {"value_name": "croatian", "comment": ""},
            6: {"value_name": "czech", "comment": ""},
            7: {"value_name": "danish", "comment": ""},
            8: {"value_name": "dutch", "comment": ""},
            9: {"value_name": "finnish", "comment": ""},
            10: {"value_name": "greek", "comment": ""},
            11: {"value_name": "hungarian", "comment": ""},
            12: {"value_name": "norwegian", "comment": ""},
            13: {"value_name": "polish", "comment": ""},
            14: {"value_name": "portuguese", "comment": ""},
            15: {"value_name": "slovakian", "comment": ""},
            16: {"value_name": "slovenian", "comment": ""},
            17: {"value_name": "swedish", "comment": ""},
            18: {"value_name": "russian", "comment": ""},
            19: {"value_name": "turkish", "comment": ""},
            20: {"value_name": "latvian", "comment": ""},
            21: {"value_name": "ukrainian", "comment": ""},
            22: {"value_name": "arabic", "comment": ""},
            23: {"value_name": "farsi", "comment": ""},
            24: {"value_name": "bulgarian", "comment": ""},
            25: {"value_name": "romanian", "comment": ""},
            26: {"value_name": "chinese", "comment": ""},
            27: {"value_name": "japanese", "comment": ""},
            28: {"value_name": "korean", "comment": ""},
            29: {"value_name": "taiwanese", "comment": ""},
            30: {"value_name": "thai", "comment": ""},
            31: {"value_name": "hebrew", "comment": ""},
            32: {"value_name": "brazilian_portuguese", "comment": ""},
            33: {"value_name": "indonesian", "comment": ""},
            34: {"value_name": "malaysian", "comment": ""},
            35: {"value_name": "vietnamese", "comment": ""},
            36: {"value_name": "burmese", "comment": ""},
            37: {"value_name": "mongolian", "comment": ""},
            254: {"value_name": "custom", "comment": ""},
        },
    },
    "language_bits_0": {
        "base_type": "uint8z",
        "values": {
            1: {"value_name": "english", "comment": "(original value: 0x01)"},
            2: {"value_name": "french", "comment": "(original value: 0x02)"},
            4: {"value_name": "italian", "comment": "(original value: 0x04)"},
            8: {"value_name": "german", "comment": "(original value: 0x08)"},
            16: {"value_name": "spanish", "comment": "(original value: 0x10)"},
            32: {"value_name": "croatian", "comment": "(original value: 0x20)"},
            64: {"value_name": "czech", "comment": "(original value: 0x40)"},
            128: {"value_name": "danish", "comment": "(original value: 0x80)"},
        },
    },
    "language_bits_1": {
        "base_type": "uint8z",
        "values": {
            1: {"value_name": "dutch", "comment": "(original value: 0x01)"},
            2: {"value_name": "finnish", "comment": "(original value: 0x02)"},
            4: {"value_name": "greek", "comment": "(original value: 0x04)"},
            8: {"value_name": "hungarian", "comment": "(original value: 0x08)"},
            16: {"value_name": "norwegian", "comment": "(original value: 0x10)"},
            32: {"value_name": "polish", "comment": "(original value: 0x20)"},
            64: {"value_name": "portuguese", "comment": "(original value: 0x40)"},
            128: {"value_name": "slovakian", "comment": "(original value: 0x80)"},
        },
    },
    "language_bits_2": {
        "base_type": "uint8z",
        "values": {
            1: {"value_name": "slovenian", "comment": "(original value: 0x01)"},
            2: {"value_name": "swedish", "comment": "(original value: 0x02)"},
            4: {"value_name": "russian", "comment": "(original value: 0x04)"},
            8: {"value_name": "turkish", "comment": "(original value: 0x08)"},
            16: {"value_name": "latvian", "comment": "(original value: 0x10)"},
            32: {"value_name": "ukrainian", "comment": "(original value: 0x20)"},
            64: {"value_name": "arabic", "comment": "(original value: 0x40)"},
            128: {"value_name": "farsi", "comment": "(original value: 0x80)"},
        },
    },
    "language_bits_3": {
        "base_type": "uint8z",
        "values": {
            1: {"value_name": "bulgarian", "comment": "(original value: 0x01)"},
            2: {"value_name": "romanian", "comment": "(original value: 0x02)"},
            4: {"value_name": "chinese", "comment": "(original value: 0x04)"},
            8: {"value_name": "japanese", "comment": "(original value: 0x08)"},
            16: {"value_name": "korean", "comment": "(original value: 0x10)"},
            32: {"value_name": "taiwanese", "comment": "(original value: 0x20)"},
            64: {"value_name": "thai", "comment": "(original value: 0x40)"},
            128: {"value_name": "hebrew", "comment": "(original value: 0x80)"},
        },
    },
    "language_bits_4": {
        "base_type": "uint8z",
        "values": {
            1: {
                "value_name": "brazilian_portuguese",
                "comment": "(original value: 0x01)",
            },
            2: {"value_name": "indonesian", "comment": "(original value: 0x02)"},
            4: {"value_name": "malaysian", "comment": "(original value: 0x04)"},
            8: {"value_name": "vietnamese", "comment": "(original value: 0x08)"},
            16: {"value_name": "burmese", "comment": "(original value: 0x10)"},
            32: {"value_name": "mongolian", "comment": "(original value: 0x20)"},
        },
    },
    "time_zone": {
        "base_type": "enum",
        "values": {
            0: {"value_name": "almaty", "comment": ""},
            1: {"value_name": "bangkok", "comment": ""},
            2: {"value_name": "bombay", "comment": ""},
            3: {"value_name": "brasilia", "comment": ""},
            4: {"value_name": "cairo", "comment": ""},
            5: {"value_name": "cape_verde_is", "comment": ""},
            6: {"value_name": "darwin", "comment": ""},
            7: {"value_name": "eniwetok", "comment": ""},
            8: {"value_name": "fiji", "comment": ""},
            9: {"value_name": "hong_kong", "comment": ""},
            10: {"value_name": "islamabad", "comment": ""},
            11: {"value_name": "kabul", "comment": ""},
            12: {"value_name": "magadan", "comment": ""},
            13: {"value_name": "mid_atlantic", "comment": ""},
            14: {"value_name": "moscow", "comment": ""},
            15: {"value_name": "muscat", "comment": ""},
            16: {"value_name": "newfoundland", "comment": ""},
            17: {"value_name": "samoa", "comment": ""},
            18: {"value_name": "sydney", "comment": ""},
            19: {"value_name": "tehran", "comment": ""},
            20: {"value_name": "tokyo", "comment": ""},
            21: {"value_name": "us_alaska", "comment": ""},
            22: {"value_name": "us_atlantic", "comment": ""},
            23: {"value_name": "us_central", "comment": ""},
            24: {"value_name": "us_eastern", "comment": ""},
            25: {"value_name": "us_hawaii", "comment": ""},
            26: {"value_name": "us_mountain", "comment": ""},
            27: {"value_name": "us_pacific", "comment": ""},
            28: {"value_name": "other", "comment": ""},
            29: {"value_name": "auckland", "comment": ""},
            30: {"value_name": "kathmandu", "comment": ""},
            31: {"value_name": "europe_western_wet", "comment": ""},
            32: {"value_name": "europe_central_cet", "comment": ""},
            33: {"value_name": "europe_eastern_eet", "comment": ""},
            34: {"value_name": "jakarta", "comment": ""},
            35: {"value_name": "perth", "comment": ""},
            36: {"value_name": "adelaide", "comment": ""},
            37: {"value_name": "brisbane", "comment": ""},
            38: {"value_name": "tasmania", "comment": ""},
            39: {"value_name": "iceland", "comment": ""},
            40: {"value_name": "amsterdam", "comment": ""},
            41: {"value_name": "athens", "comment": ""},
            42: {"value_name": "barcelona", "comment": ""},
            43: {"value_name": "berlin", "comment": ""},
            44: {"value_name": "brussels", "comment": ""},
            45: {"value_name": "budapest", "comment": ""},
            46: {"value_name": "copenhagen", "comment": ""},
            47: {"value_name": "dublin", "comment": ""},
            48: {"value_name": "helsinki", "comment": ""},
            49: {"value_name": "lisbon", "comment": ""},
            50: {"value_name": "london", "comment": ""},
            51: {"value_name": "madrid", "comment": ""},
            52: {"value_name": "munich", "comment": ""},
            53: {"value_name": "oslo", "comment": ""},
            54: {"value_name": "paris", "comment": ""},
            55: {"value_name": "prague", "comment": ""},
            56: {"value_name": "reykjavik", "comment": ""},
            57: {"value_name": "rome", "comment": ""},
            58: {"value_name": "stockholm", "comment": ""},
            59: {"value_name": "vienna", "comment": ""},
            60: {"value_name": "warsaw", "comment": ""},
            61: {"value_name": "zurich", "comment": ""},
            62: {"value_name": "quebec", "comment": ""},
            63: {"value_name": "ontario", "comment": ""},
            64: {"value_name": "manitoba", "comment": ""},
            65: {"value_name": "saskatchewan", "comment": ""},
            66: {"value_name": "alberta", "comment": ""},
            67: {"value_name": "british_columbia", "comment": ""},
            68: {"value_name": "boise", "comment": ""},
            69: {"value_name": "boston", "comment": ""},
            70: {"value_name": "chicago", "comment": ""},
            71: {"value_name": "dallas", "comment": ""},
            72: {"value_name": "denver", "comment": ""},
            73: {"value_name": "kansas_city", "comment": ""},
            74: {"value_name": "las_vegas", "comment": ""},
            75: {"value_name": "los_angeles", "comment": ""},
            76: {"value_name": "miami", "comment": ""},
            77: {"value_name": "minneapolis", "comment": ""},
            78: {"value_name": "new_york", "comment": ""},
            79: {"value_name": "new_orleans", "comment": ""},
            80: {"value_name": "phoenix", "comment": ""},
            81: {"value_name": "santa_fe", "comment": ""},
            82: {"value_name": "seattle", "comment": ""},
            83: {"value_name": "washington_dc", "comment": ""},
            84: {"value_name": "us_arizona", "comment": ""},
            85: {"value_name": "chita", "comment": ""},
            86: {"value_name": "ekaterinburg", "comment": ""},
            87: {"value_name": "irkutsk", "comment": ""},
            88: {"value_name": "kaliningrad", "comment": ""},
            89: {"value_name": "krasnoyarsk", "comment": ""},
            90: {"value_name": "novosibirsk", "comment": ""},
            91: {"value_name": "petropavlovsk_kamchatskiy", "comment": ""},
            92: {"value_name": "samara", "comment": ""},
            93: {"value_name": "vladivostok", "comment": ""},
            94: {"value_name": "mexico_central", "comment": ""},
            95: {"value_name": "mexico_mountain", "comment": ""},
            96: {"value_name": "mexico_pacific", "comment": ""},
            97: {"value_name": "cape_town", "comment": ""},
            98: {"value_name": "winkhoek", "comment": ""},
            99: {"value_name": "lagos", "comment": ""},
            100: {"value_name": "riyahd", "comment": ""},
            101: {"value_name": "venezuela", "comment": ""},
            102: {"value_name": "australia_lh", "comment": ""},
            103: {"value_name": "santiago", "comment": ""},
            253: {"value_name": "manual", "comment": ""},
            254: {"value_name": "automatic", "comment": ""},
        },
    },
    "display_measure": {
        "base_type": "enum",
        "values": {
            0: {"value_name": "metric", "comment": ""},
            1: {"value_name": "statute", "comment": ""},
            2: {"value_name": "nautical", "comment": ""},
        },
    },
    "display_heart": {
        "base_type": "enum",
        "values": {
            0: {"value_name": "bpm", "comment": ""},
            1: {"value_name": "max", "comment": ""},
            2: {"value_name": "reserve", "comment": ""},
        },
    },
    "display_power": {
        "base_type": "enum",
        "values": {
            0: {"value_name": "watts", "comment": ""},
            1: {"value_name": "percent_ftp", "comment": ""},
        },
    },
    "display_position": {
        "base_type": "enum",
        "values": {
            0: {"value_name": "degree", "comment": "dd.dddddd"},
            1: {"value_name": "degree_minute", "comment": "dddmm.mmm"},
            2: {"value_name": "degree_minute_second", "comment": "dddmmss"},
            3: {"value_name": "austrian_grid", "comment": "Austrian Grid (BMN)"},
            4: {"value_name": "british_grid", "comment": "British National Grid"},
            5: {"value_name": "dutch_grid", "comment": "Dutch grid system"},
            6: {"value_name": "hungarian_grid", "comment": "Hungarian grid system"},
            7: {
                "value_name": "finnish_grid",
                "comment": "Finnish grid system Zone3 KKJ27",
            },
            8: {"value_name": "german_grid", "comment": "Gausss Krueger (German)"},
            9: {"value_name": "icelandic_grid", "comment": "Icelandic Grid"},
            10: {
                "value_name": "indonesian_equatorial",
                "comment": "Indonesian Equatorial LCO",
            },
            11: {"value_name": "indonesian_irian", "comment": "Indonesian Irian LCO"},
            12: {
                "value_name": "indonesian_southern",
                "comment": "Indonesian Southern LCO",
            },
            13: {"value_name": "india_zone_0", "comment": "India zone 0"},
            14: {"value_name": "india_zone_IA", "comment": "India zone IA"},
            15: {"value_name": "india_zone_IB", "comment": "India zone IB"},
            16: {"value_name": "india_zone_IIA", "comment": "India zone IIA"},
            17: {"value_name": "india_zone_IIB", "comment": "India zone IIB"},
            18: {"value_name": "india_zone_IIIA", "comment": "India zone IIIA"},
            19: {"value_name": "india_zone_IIIB", "comment": "India zone IIIB"},
            20: {"value_name": "india_zone_IVA", "comment": "India zone IVA"},
            21: {"value_name": "india_zone_IVB", "comment": "India zone IVB"},
            22: {
                "value_name": "irish_transverse",
                "comment": "Irish Transverse Mercator",
            },
            23: {"value_name": "irish_grid", "comment": "Irish Grid"},
            24: {"value_name": "loran", "comment": "Loran TD"},
            25: {"value_name": "maidenhead_grid", "comment": "Maidenhead grid system"},
            26: {"value_name": "mgrs_grid", "comment": "MGRS grid system"},
            27: {
                "value_name": "new_zealand_grid",
                "comment": "New Zealand grid system",
            },
            28: {
                "value_name": "new_zealand_transverse",
                "comment": "New Zealand Transverse Mercator",
            },
            29: {"value_name": "qatar_grid", "comment": "Qatar National Grid"},
            30: {
                "value_name": "modified_swedish_grid",
                "comment": "Modified RT-90 (Sweden)",
            },
            31: {"value_name": "swedish_grid", "comment": "RT-90 (Sweden)"},
            32: {"value_name": "south_african_grid", "comment": "South African Grid"},
            33: {"value_name": "swiss_grid", "comment": "Swiss CH-1903 grid"},
            34: {"value_name": "taiwan_grid", "comment": "Taiwan Grid"},
            35: {
                "value_name": "united_states_grid",
                "comment": "United States National Grid",
            },
            36: {"value_name": "utm_ups_grid", "comment": "UTM/UPS grid system"},
            37: {"value_name": "west_malayan", "comment": "West Malayan RSO"},
            38: {"value_name": "borneo_rso", "comment": "Borneo RSO"},
            39: {"value_name": "estonian_grid", "comment": "Estonian grid system"},
            40: {
                "value_name": "latvian_grid",
                "comment": "Latvian Transverse Mercator",
            },
            41: {
                "value_name": "swedish_ref_99_grid",
                "comment": "Reference Grid 99 TM (Swedish)",
            },
        },
    },
    "switch": {
        "base_type": "enum",
        "values": {
            0: {"value_name": "off", "comment": ""},
            1: {"value_name": "on", "comment": ""},
            2: {"value_name": "auto", "comment": ""},
        },
    },
    "sport": {
        "base_type": "enum",
        "values": {
            0: {"value_name": "generic", "comment": ""},
            1: {"value_name": "running", "comment": ""},
            2: {"value_name": "cycling", "comment": ""},
            3: {"value_name": "transition", "comment": "Mulitsport transition"},
            4: {"value_name": "fitness_equipment", "comment": ""},
            5: {"value_name": "swimming", "comment": ""},
            6: {"value_name": "basketball", "comment": ""},
            7: {"value_name": "soccer", "comment": ""},
            8: {"value_name": "tennis", "comment": ""},
            9: {"value_name": "american_football", "comment": ""},
            10: {"value_name": "training", "comment": ""},
            11: {"value_name": "walking", "comment": ""},
            12: {"value_name": "cross_country_skiing", "comment": ""},
            13: {"value_name": "alpine_skiing", "comment": ""},
            14: {"value_name": "snowboarding", "comment": ""},
            15: {"value_name": "rowing", "comment": ""},
            16: {"value_name": "mountaineering", "comment": ""},
            17: {"value_name": "hiking", "comment": ""},
            18: {"value_name": "multisport", "comment": ""},
            19: {"value_name": "paddling", "comment": ""},
            20: {"value_name": "flying", "comment": ""},
            21: {"value_name": "e_biking", "comment": ""},
            22: {"value_name": "motorcycling", "comment": ""},
            23: {"value_name": "boating", "comment": ""},
            24: {"value_name": "driving", "comment": ""},
            25: {"value_name": "golf", "comment": ""},
            26: {"value_name": "hang_gliding", "comment": ""},
            27: {"value_name": "horseback_riding", "comment": ""},
            28: {"value_name": "hunting", "comment": ""},
            29: {"value_name": "fishing", "comment": ""},
            30: {"value_name": "inline_skating", "comment": ""},
            31: {"value_name": "rock_climbing", "comment": ""},
            32: {"value_name": "sailing", "comment": ""},
            33: {"value_name": "ice_skating", "comment": ""},
            34: {"value_name": "sky_diving", "comment": ""},
            35: {"value_name": "snowshoeing", "comment": ""},
            36: {"value_name": "snowmobiling", "comment": ""},
            37: {"value_name": "stand_up_paddleboarding", "comment": ""},
            38: {"value_name": "surfing", "comment": ""},
            39: {"value_name": "wakeboarding", "comment": ""},
            40: {"value_name": "water_skiing", "comment": ""},
            41: {"value_name": "kayaking", "comment": ""},
            42: {"value_name": "rafting", "comment": ""},
            43: {"value_name": "windsurfing", "comment": ""},
            44: {"value_name": "kitesurfing", "comment": ""},
            45: {"value_name": "tactical", "comment": ""},
            46: {"value_name": "jumpmaster", "comment": ""},
            47: {"value_name": "boxing", "comment": ""},
            48: {"value_name": "floor_climbing", "comment": ""},
            53: {"value_name": "diving", "comment": ""},
            254: {
                "value_name": "all",
                "comment": "All is for goals only to include all " "sports.",
            },
        },
    },
    "sport_bits_0": {
        "base_type": "uint8z",
        "values": {
            1: {"value_name": "generic", "comment": "(original value: 0x01)"},
            2: {"value_name": "running", "comment": "(original value: 0x02)"},
            4: {"value_name": "cycling", "comment": "(original value: 0x04)"},
            8: {
                "value_name": "transition",
                "comment": "Mulitsport transition (original value: " "0x08)",
            },
            16: {
                "value_name": "fitness_equipment",
                "comment": "(original value: 0x10)",
            },
            32: {"value_name": "swimming", "comment": "(original value: 0x20)"},
            64: {"value_name": "basketball", "comment": "(original value: 0x40)"},
            128: {"value_name": "soccer", "comment": "(original value: 0x80)"},
        },
    },
    "sport_bits_1": {
        "base_type": "uint8z",
        "values": {
            1: {"value_name": "tennis", "comment": "(original value: 0x01)"},
            2: {"value_name": "american_football", "comment": "(original value: 0x02)"},
            4: {"value_name": "training", "comment": "(original value: 0x04)"},
            8: {"value_name": "walking", "comment": "(original value: 0x08)"},
            16: {
                "value_name": "cross_country_skiing",
                "comment": "(original value: 0x10)",
            },
            32: {"value_name": "alpine_skiing", "comment": "(original value: 0x20)"},
            64: {"value_name": "snowboarding", "comment": "(original value: 0x40)"},
            128: {"value_name": "rowing", "comment": "(original value: 0x80)"},
        },
    },
    "sport_bits_2": {
        "base_type": "uint8z",
        "values": {
            1: {"value_name": "mountaineering", "comment": "(original value: 0x01)"},
            2: {"value_name": "hiking", "comment": "(original value: 0x02)"},
            4: {"value_name": "multisport", "comment": "(original value: 0x04)"},
            8: {"value_name": "paddling", "comment": "(original value: 0x08)"},
            16: {"value_name": "flying", "comment": "(original value: 0x10)"},
            32: {"value_name": "e_biking", "comment": "(original value: 0x20)"},
            64: {"value_name": "motorcycling", "comment": "(original value: 0x40)"},
            128: {"value_name": "boating", "comment": "(original value: 0x80)"},
        },
    },
    "sport_bits_3": {
        "base_type": "uint8z",
        "values": {
            1: {"value_name": "driving", "comment": "(original value: 0x01)"},
            2: {"value_name": "golf", "comment": "(original value: 0x02)"},
            4: {"value_name": "hang_gliding", "comment": "(original value: 0x04)"},
            8: {"value_name": "horseback_riding", "comment": "(original value: 0x08)"},
            16: {"value_name": "hunting", "comment": "(original value: 0x10)"},
            32: {"value_name": "fishing", "comment": "(original value: 0x20)"},
            64: {"value_name": "inline_skating", "comment": "(original value: 0x40)"},
            128: {"value_name": "rock_climbing", "comment": "(original value: 0x80)"},
        },
    },
    "sport_bits_4": {
        "base_type": "uint8z",
        "values": {
            1: {"value_name": "sailing", "comment": "(original value: 0x01)"},
            2: {"value_name": "ice_skating", "comment": "(original value: 0x02)"},
            4: {"value_name": "sky_diving", "comment": "(original value: 0x04)"},
            8: {"value_name": "snowshoeing", "comment": "(original value: 0x08)"},
            16: {"value_name": "snowmobiling", "comment": "(original value: 0x10)"},
            32: {
                "value_name": "stand_up_paddleboarding",
                "comment": "(original value: 0x20)",
            },
            64: {"value_name": "surfing", "comment": "(original value: 0x40)"},
            128: {"value_name": "wakeboarding", "comment": "(original value: 0x80)"},
        },
    },
    "sport_bits_5": {
        "base_type": "uint8z",
        "values": {
            1: {"value_name": "water_skiing", "comment": "(original value: 0x01)"},
            2: {"value_name": "kayaking", "comment": "(original value: 0x02)"},
            4: {"value_name": "rafting", "comment": "(original value: 0x04)"},
            8: {"value_name": "windsurfing", "comment": "(original value: 0x08)"},
            16: {"value_name": "kitesurfing", "comment": "(original value: 0x10)"},
            32: {"value_name": "tactical", "comment": "(original value: 0x20)"},
            64: {"value_name": "jumpmaster", "comment": "(original value: 0x40)"},
            128: {"value_name": "boxing", "comment": "(original value: 0x80)"},
        },
    },
    "sport_bits_6": {
        "base_type": "uint8z",
        "values": {
            1: {"value_name": "floor_climbing", "comment": "(original value: 0x01)"}
        },
    },
    "sub_sport": {
        "base_type": "enum",
        "values": {
            0: {"value_name": "generic", "comment": ""},
            1: {"value_name": "treadmill", "comment": "Run/Fitness Equipment"},
            2: {"value_name": "street", "comment": "Run"},
            3: {"value_name": "trail", "comment": "Run"},
            4: {"value_name": "track", "comment": "Run"},
            5: {"value_name": "spin", "comment": "Cycling"},
            6: {"value_name": "indoor_cycling", "comment": "Cycling/Fitness Equipment"},
            7: {"value_name": "road", "comment": "Cycling"},
            8: {"value_name": "mountain", "comment": "Cycling"},
            9: {"value_name": "downhill", "comment": "Cycling"},
            10: {"value_name": "recumbent", "comment": "Cycling"},
            11: {"value_name": "cyclocross", "comment": "Cycling"},
            12: {"value_name": "hand_cycling", "comment": "Cycling"},
            13: {"value_name": "track_cycling", "comment": "Cycling"},
            14: {"value_name": "indoor_rowing", "comment": "Fitness Equipment"},
            15: {"value_name": "elliptical", "comment": "Fitness Equipment"},
            16: {"value_name": "stair_climbing", "comment": "Fitness Equipment"},
            17: {"value_name": "lap_swimming", "comment": "Swimming"},
            18: {"value_name": "open_water", "comment": "Swimming"},
            19: {"value_name": "flexibility_training", "comment": "Training"},
            20: {"value_name": "strength_training", "comment": "Training"},
            21: {"value_name": "warm_up", "comment": "Tennis"},
            22: {"value_name": "match", "comment": "Tennis"},
            23: {"value_name": "exercise", "comment": "Tennis"},
            24: {"value_name": "challenge", "comment": ""},
            25: {"value_name": "indoor_skiing", "comment": "Fitness Equipment"},
            26: {"value_name": "cardio_training", "comment": "Training"},
            27: {
                "value_name": "indoor_walking",
                "comment": "Walking/Fitness Equipment",
            },
            28: {"value_name": "e_bike_fitness", "comment": "E-Biking"},
            29: {"value_name": "bmx", "comment": "Cycling"},
            30: {"value_name": "casual_walking", "comment": "Walking"},
            31: {"value_name": "speed_walking", "comment": "Walking"},
            32: {"value_name": "bike_to_run_transition", "comment": "Transition"},
            33: {"value_name": "run_to_bike_transition", "comment": "Transition"},
            34: {"value_name": "swim_to_bike_transition", "comment": "Transition"},
            35: {"value_name": "atv", "comment": "Motorcycling"},
            36: {"value_name": "motocross", "comment": "Motorcycling"},
            37: {"value_name": "backcountry", "comment": "Alpine Skiing/Snowboarding"},
            38: {"value_name": "resort", "comment": "Alpine Skiing/Snowboarding"},
            39: {"value_name": "rc_drone", "comment": "Flying"},
            40: {"value_name": "wingsuit", "comment": "Flying"},
            41: {"value_name": "whitewater", "comment": "Kayaking/Rafting"},
            42: {"value_name": "skate_skiing", "comment": "Cross Country Skiing"},
            43: {"value_name": "yoga", "comment": "Training"},
            44: {"value_name": "pilates", "comment": "Fitness Equipment"},
            45: {"value_name": "indoor_running", "comment": "Run"},
            46: {"value_name": "gravel_cycling", "comment": "Cycling"},
            47: {"value_name": "e_bike_mountain", "comment": "Cycling"},
            48: {"value_name": "commuting", "comment": "Cycling"},
            49: {"value_name": "mixed_surface", "comment": "Cycling"},
            50: {"value_name": "navigate", "comment": ""},
            51: {"value_name": "track_me", "comment": ""},
            52: {"value_name": "map", "comment": ""},
            53: {"value_name": "single_gas_diving", "comment": "Diving"},
            54: {"value_name": "multi_gas_diving", "comment": "Diving"},
            55: {"value_name": "gauge_diving", "comment": "Diving"},
            56: {"value_name": "apnea_diving", "comment": "Diving"},
            57: {"value_name": "apnea_hunting", "comment": "Diving"},
            58: {"value_name": "virtual_activity", "comment": ""},
            59: {
                "value_name": "obstacle",
                "comment": "Used for events where participants run, "
                "crawl through mud, climb over walls, etc.",
            },
            62: {"value_name": "breathing", "comment": ""},
            65: {"value_name": "sail_race", "comment": "Sailing"},
            67: {"value_name": "ultra", "comment": "Ultramarathon"},
            68: {"value_name": "indoor_climbing", "comment": "Climbing"},
            69: {"value_name": "bouldering", "comment": "Climbing"},
            254: {"value_name": "all", "comment": ""},
        },
    },
    "sport_event": {
        "base_type": "enum",
        "values": {
            0: {"value_name": "uncategorized", "comment": ""},
            1: {"value_name": "geocaching", "comment": ""},
            2: {"value_name": "fitness", "comment": ""},
            3: {"value_name": "recreation", "comment": ""},
            4: {"value_name": "race", "comment": ""},
            5: {"value_name": "special_event", "comment": ""},
            6: {"value_name": "training", "comment": ""},
            7: {"value_name": "transportation", "comment": ""},
            8: {"value_name": "touring", "comment": ""},
        },
    },
    "activity": {
        "base_type": "enum",
        "values": {
            0: {"value_name": "manual", "comment": ""},
            1: {"value_name": "auto_multi_sport", "comment": ""},
        },
    },
    "intensity": {
        "base_type": "enum",
        "values": {
            0: {"value_name": "active", "comment": ""},
            1: {"value_name": "rest", "comment": ""},
            2: {"value_name": "warmup", "comment": ""},
            3: {"value_name": "cooldown", "comment": ""},
            4: {"value_name": "recovery", "comment": ""},
            5: {"value_name": "interval", "comment": ""},
            6: {"value_name": "other", "comment": ""},
        },
    },
    "session_trigger": {
        "base_type": "enum",
        "values": {
            0: {"value_name": "activity_end", "comment": ""},
            1: {"value_name": "manual", "comment": "User changed sport."},
            2: {
                "value_name": "auto_multi_sport",
                "comment": "Auto multi-sport feature is enabled "
                "and user pressed lap button to advance "
                "session.",
            },
            3: {
                "value_name": "fitness_equipment",
                "comment": "Auto sport change caused by user "
                "linking to fitness equipment.",
            },
        },
    },
    "autolap_trigger": {
        "base_type": "enum",
        "values": {
            0: {"value_name": "time", "comment": ""},
            1: {"value_name": "distance", "comment": ""},
            2: {"value_name": "position_start", "comment": ""},
            3: {"value_name": "position_lap", "comment": ""},
            4: {"value_name": "position_waypoint", "comment": ""},
            5: {"value_name": "position_marked", "comment": ""},
            6: {"value_name": "off", "comment": ""},
        },
    },
    "lap_trigger": {
        "base_type": "enum",
        "values": {
            0: {"value_name": "manual", "comment": ""},
            1: {"value_name": "time", "comment": ""},
            2: {"value_name": "distance", "comment": ""},
            3: {"value_name": "position_start", "comment": ""},
            4: {"value_name": "position_lap", "comment": ""},
            5: {"value_name": "position_waypoint", "comment": ""},
            6: {"value_name": "position_marked", "comment": ""},
            7: {"value_name": "session_end", "comment": ""},
            8: {"value_name": "fitness_equipment", "comment": ""},
        },
    },
    "time_mode": {
        "base_type": "enum",
        "values": {
            0: {"value_name": "hour12", "comment": ""},
            1: {
                "value_name": "hour24",
                "comment": "Does not use a leading zero and has a colon",
            },
            2: {
                "value_name": "military",
                "comment": "Uses a leading zero and does not have a " "colon",
            },
            3: {"value_name": "hour_12_with_seconds", "comment": ""},
            4: {"value_name": "hour_24_with_seconds", "comment": ""},
            5: {"value_name": "utc", "comment": ""},
        },
    },
    "backlight_mode": {
        "base_type": "enum",
        "values": {
            0: {"value_name": "off", "comment": ""},
            1: {"value_name": "manual", "comment": ""},
            2: {"value_name": "key_and_messages", "comment": ""},
            3: {"value_name": "auto_brightness", "comment": ""},
            4: {"value_name": "smart_notifications", "comment": ""},
            5: {"value_name": "key_and_messages_night", "comment": ""},
            6: {
                "value_name": "key_and_messages_and_smart_notifications",
                "comment": "",
            },
        },
    },
    "date_mode": {
        "base_type": "enum",
        "values": {
            0: {"value_name": "day_month", "comment": ""},
            1: {"value_name": "month_day", "comment": ""},
        },
    },
    "backlight_timeout": {
        "base_type": "uint8",
        "values": {
            0: {"value_name": "infinite", "comment": "Backlight stays on forever."}
        },
    },
    "event": {
        "base_type": "enum",
        "values": {
            0: {"value_name": "timer", "comment": "Group 0. Start / stop_all"},
            3: {"value_name": "workout", "comment": "start / stop"},
            4: {
                "value_name": "workout_step",
                "comment": "Start at beginning of workout. Stop at end of "
                "each step.",
            },
            5: {"value_name": "power_down", "comment": "stop_all group 0"},
            6: {"value_name": "power_up", "comment": "stop_all group 0"},
            7: {"value_name": "off_course", "comment": "start / stop group 0"},
            8: {"value_name": "session", "comment": "Stop at end of each session."},
            9: {"value_name": "lap", "comment": "Stop at end of each lap."},
            10: {"value_name": "course_point", "comment": "marker"},
            11: {"value_name": "battery", "comment": "marker"},
            12: {
                "value_name": "virtual_partner_pace",
                "comment": "Group 1. Start at beginning of activity if VP "
                "enabled, when VP pace is changed during "
                "activity or VP enabled mid activity. "
                "stop_disable when VP disabled.",
            },
            13: {
                "value_name": "hr_high_alert",
                "comment": "Group 0. Start / stop when in alert condition.",
            },
            14: {
                "value_name": "hr_low_alert",
                "comment": "Group 0. Start / stop when in alert condition.",
            },
            15: {
                "value_name": "speed_high_alert",
                "comment": "Group 0. Start / stop when in alert condition.",
            },
            16: {
                "value_name": "speed_low_alert",
                "comment": "Group 0. Start / stop when in alert condition.",
            },
            17: {
                "value_name": "cad_high_alert",
                "comment": "Group 0. Start / stop when in alert condition.",
            },
            18: {
                "value_name": "cad_low_alert",
                "comment": "Group 0. Start / stop when in alert condition.",
            },
            19: {
                "value_name": "power_high_alert",
                "comment": "Group 0. Start / stop when in alert condition.",
            },
            20: {
                "value_name": "power_low_alert",
                "comment": "Group 0. Start / stop when in alert condition.",
            },
            21: {"value_name": "recovery_hr", "comment": "marker"},
            22: {"value_name": "battery_low", "comment": "marker"},
            23: {
                "value_name": "time_duration_alert",
                "comment": "Group 1. Start if enabled mid activity (not "
                "required at start of activity). Stop when "
                "duration is reached. stop_disable if disabled.",
            },
            24: {
                "value_name": "distance_duration_alert",
                "comment": "Group 1. Start if enabled mid activity (not "
                "required at start of activity). Stop when "
                "duration is reached. stop_disable if disabled.",
            },
            25: {
                "value_name": "calorie_duration_alert",
                "comment": "Group 1. Start if enabled mid activity (not "
                "required at start of activity). Stop when "
                "duration is reached. stop_disable if disabled.",
            },
            26: {
                "value_name": "activity",
                "comment": "Group 1.. Stop at end of activity.",
            },
            27: {"value_name": "fitness_equipment", "comment": "marker"},
            28: {"value_name": "length", "comment": "Stop at end of each length."},
            32: {"value_name": "user_marker", "comment": "marker"},
            33: {"value_name": "sport_point", "comment": "marker"},
            36: {"value_name": "calibration", "comment": "start/stop/marker"},
            42: {"value_name": "front_gear_change", "comment": "marker"},
            43: {"value_name": "rear_gear_change", "comment": "marker"},
            44: {"value_name": "rider_position_change", "comment": "marker"},
            45: {
                "value_name": "elev_high_alert",
                "comment": "Group 0. Start / stop when in alert condition.",
            },
            46: {
                "value_name": "elev_low_alert",
                "comment": "Group 0. Start / stop when in alert condition.",
            },
            47: {"value_name": "comm_timeout", "comment": "marker"},
            75: {"value_name": "radar_threat_alert", "comment": "start/stop/marker"},
        },
    },
    "event_type": {
        "base_type": "enum",
        "values": {
            0: {"value_name": "start", "comment": ""},
            1: {"value_name": "stop", "comment": ""},
            2: {"value_name": "consecutive_depreciated", "comment": ""},
            3: {"value_name": "marker", "comment": ""},
            4: {"value_name": "stop_all", "comment": ""},
            5: {"value_name": "begin_depreciated", "comment": ""},
            6: {"value_name": "end_depreciated", "comment": ""},
            7: {"value_name": "end_all_depreciated", "comment": ""},
            8: {"value_name": "stop_disable", "comment": ""},
            9: {"value_name": "stop_disable_all", "comment": ""},
        },
    },
    "timer_trigger": {
        "base_type": "enum",
        "values": {
            0: {"value_name": "manual", "comment": ""},
            1: {"value_name": "auto", "comment": ""},
            2: {"value_name": "fitness_equipment", "comment": ""},
        },
    },
    "fitness_equipment_state": {
        "base_type": "enum",
        "values": {
            0: {"value_name": "ready", "comment": ""},
            1: {"value_name": "in_use", "comment": ""},
            2: {"value_name": "paused", "comment": ""},
            3: {
                "value_name": "unknown",
                "comment": "lost connection to fitness " "equipment",
            },
        },
    },
    "tone": {
        "base_type": "enum",
        "values": {
            0: {"value_name": "off", "comment": ""},
            1: {"value_name": "tone", "comment": ""},
            2: {"value_name": "vibrate", "comment": ""},
            3: {"value_name": "tone_and_vibrate", "comment": ""},
        },
    },
    "autoscroll": {
        "base_type": "enum",
        "values": {
            0: {"value_name": "none", "comment": ""},
            1: {"value_name": "slow", "comment": ""},
            2: {"value_name": "medium", "comment": ""},
            3: {"value_name": "fast", "comment": ""},
        },
    },
    "activity_class": {
        "base_type": "enum",
        "values": {
            127: {"value_name": "level", "comment": "0 to 100 (original value: 0x7F)"},
            100: {"value_name": "level_max", "comment": ""},
            128: {"value_name": "athlete", "comment": "(original value: 0x80)"},
        },
    },
    "hr_zone_calc": {
        "base_type": "enum",
        "values": {
            0: {"value_name": "custom", "comment": ""},
            1: {"value_name": "percent_max_hr", "comment": ""},
            2: {"value_name": "percent_hrr", "comment": ""},
        },
    },
    "pwr_zone_calc": {
        "base_type": "enum",
        "values": {
            0: {"value_name": "custom", "comment": ""},
            1: {"value_name": "percent_ftp", "comment": ""},
        },
    },
    "wkt_step_duration": {
        "base_type": "enum",
        "values": {
            0: {"value_name": "time", "comment": ""},
            1: {"value_name": "distance", "comment": ""},
            2: {"value_name": "hr_less_than", "comment": ""},
            3: {"value_name": "hr_greater_than", "comment": ""},
            4: {"value_name": "calories", "comment": ""},
            5: {"value_name": "open", "comment": ""},
            6: {"value_name": "repeat_until_steps_cmplt", "comment": ""},
            7: {"value_name": "repeat_until_time", "comment": ""},
            8: {"value_name": "repeat_until_distance", "comment": ""},
            9: {"value_name": "repeat_until_calories", "comment": ""},
            10: {"value_name": "repeat_until_hr_less_than", "comment": ""},
            11: {"value_name": "repeat_until_hr_greater_than", "comment": ""},
            12: {"value_name": "repeat_until_power_less_than", "comment": ""},
            13: {"value_name": "repeat_until_power_greater_than", "comment": ""},
            14: {"value_name": "power_less_than", "comment": ""},
            15: {"value_name": "power_greater_than", "comment": ""},
            16: {"value_name": "training_peaks_tss", "comment": ""},
            17: {"value_name": "repeat_until_power_last_lap_less_than", "comment": ""},
            18: {
                "value_name": "repeat_until_max_power_last_lap_less_than",
                "comment": "",
            },
            19: {"value_name": "power_3s_less_than", "comment": ""},
            20: {"value_name": "power_10s_less_than", "comment": ""},
            21: {"value_name": "power_30s_less_than", "comment": ""},
            22: {"value_name": "power_3s_greater_than", "comment": ""},
            23: {"value_name": "power_10s_greater_than", "comment": ""},
            24: {"value_name": "power_30s_greater_than", "comment": ""},
            25: {"value_name": "power_lap_less_than", "comment": ""},
            26: {"value_name": "power_lap_greater_than", "comment": ""},
            27: {"value_name": "repeat_until_training_peaks_tss", "comment": ""},
            28: {"value_name": "repetition_time", "comment": ""},
            29: {"value_name": "reps", "comment": ""},
            31: {"value_name": "time_only", "comment": ""},
        },
    },
    "wkt_step_target": {
        "base_type": "enum",
        "values": {
            0: {"value_name": "speed", "comment": ""},
            1: {"value_name": "heart_rate", "comment": ""},
            2: {"value_name": "open", "comment": ""},
            3: {"value_name": "cadence", "comment": ""},
            4: {"value_name": "power", "comment": ""},
            5: {"value_name": "grade", "comment": ""},
            6: {"value_name": "resistance", "comment": ""},
            7: {"value_name": "power_3s", "comment": ""},
            8: {"value_name": "power_10s", "comment": ""},
            9: {"value_name": "power_30s", "comment": ""},
            10: {"value_name": "power_lap", "comment": ""},
            11: {"value_name": "swim_stroke", "comment": ""},
            12: {"value_name": "speed_lap", "comment": ""},
            13: {"value_name": "heart_rate_lap", "comment": ""},
        },
    },
    "goal": {
        "base_type": "enum",
        "values": {
            0: {"value_name": "time", "comment": ""},
            1: {"value_name": "distance", "comment": ""},
            2: {"value_name": "calories", "comment": ""},
            3: {"value_name": "frequency", "comment": ""},
            4: {"value_name": "steps", "comment": ""},
            5: {"value_name": "ascent", "comment": ""},
            6: {"value_name": "active_minutes", "comment": ""},
        },
    },
    "goal_recurrence": {
        "base_type": "enum",
        "values": {
            0: {"value_name": "off", "comment": ""},
            1: {"value_name": "daily", "comment": ""},
            2: {"value_name": "weekly", "comment": ""},
            3: {"value_name": "monthly", "comment": ""},
            4: {"value_name": "yearly", "comment": ""},
            5: {"value_name": "custom", "comment": ""},
        },
    },
    "goal_source": {
        "base_type": "enum",
        "values": {
            0: {"value_name": "auto", "comment": "Device generated"},
            1: {"value_name": "community", "comment": "Social network sourced goal"},
            2: {"value_name": "user", "comment": "Manually generated"},
        },
    },
    "schedule": {
        "base_type": "enum",
        "values": {
            0: {"value_name": "workout", "comment": ""},
            1: {"value_name": "course", "comment": ""},
        },
    },
    "course_point": {
        "base_type": "enum",
        "values": {
            0: {"value_name": "generic", "comment": ""},
            1: {"value_name": "summit", "comment": ""},
            2: {"value_name": "valley", "comment": ""},
            3: {"value_name": "water", "comment": ""},
            4: {"value_name": "food", "comment": ""},
            5: {"value_name": "danger", "comment": ""},
            6: {"value_name": "left", "comment": ""},
            7: {"value_name": "right", "comment": ""},
            8: {"value_name": "straight", "comment": ""},
            9: {"value_name": "first_aid", "comment": ""},
            10: {"value_name": "fourth_category", "comment": ""},
            11: {"value_name": "third_category", "comment": ""},
            12: {"value_name": "second_category", "comment": ""},
            13: {"value_name": "first_category", "comment": ""},
            14: {"value_name": "hors_category", "comment": ""},
            15: {"value_name": "sprint", "comment": ""},
            16: {"value_name": "left_fork", "comment": ""},
            17: {"value_name": "right_fork", "comment": ""},
            18: {"value_name": "middle_fork", "comment": ""},
            19: {"value_name": "slight_left", "comment": ""},
            20: {"value_name": "sharp_left", "comment": ""},
            21: {"value_name": "slight_right", "comment": ""},
            22: {"value_name": "sharp_right", "comment": ""},
            23: {"value_name": "u_turn", "comment": ""},
            24: {"value_name": "segment_start", "comment": ""},
            25: {"value_name": "segment_end", "comment": ""},
            27: {"value_name": "campsite", "comment": ""},
            28: {"value_name": "aid_station", "comment": ""},
            29: {"value_name": "rest_area", "comment": ""},
            30: {"value_name": "general_distance", "comment": "Used with UpAhead"},
            31: {"value_name": "service", "comment": ""},
            32: {"value_name": "energy_gel", "comment": ""},
            33: {"value_name": "sports_drink", "comment": ""},
            34: {"value_name": "mile_marker", "comment": ""},
            35: {"value_name": "checkpoint", "comment": ""},
            36: {"value_name": "shelter", "comment": ""},
            37: {"value_name": "meeting_spot", "comment": ""},
            38: {"value_name": "overlook", "comment": ""},
            39: {"value_name": "toilet", "comment": ""},
            40: {"value_name": "shower", "comment": ""},
            41: {"value_name": "gear", "comment": ""},
            42: {"value_name": "sharp_curve", "comment": ""},
            43: {"value_name": "steep_incline", "comment": ""},
            44: {"value_name": "tunnel", "comment": ""},
            45: {"value_name": "bridge", "comment": ""},
            46: {"value_name": "obstacle", "comment": ""},
            47: {"value_name": "crossing", "comment": ""},
            48: {"value_name": "store", "comment": ""},
            49: {"value_name": "transition", "comment": ""},
            50: {"value_name": "navaid", "comment": ""},
            51: {"value_name": "transport", "comment": ""},
            52: {"value_name": "alert", "comment": ""},
            53: {"value_name": "info", "comment": ""},
        },
    },
    "manufacturer": {
        "base_type": "uint16",
        "values": {
            1: {"value_name": "garmin", "comment": ""},
            2: {
                "value_name": "garmin_fr405_antfs",
                "comment": "Do not use. Used by FR405 for ANTFS man " "id.",
            },
            3: {"value_name": "zephyr", "comment": ""},
            4: {"value_name": "dayton", "comment": ""},
            5: {"value_name": "idt", "comment": ""},
            6: {"value_name": "srm", "comment": ""},
            7: {"value_name": "quarq", "comment": ""},
            8: {"value_name": "ibike", "comment": ""},
            9: {"value_name": "saris", "comment": ""},
            10: {"value_name": "spark_hk", "comment": ""},
            11: {"value_name": "tanita", "comment": ""},
            12: {"value_name": "echowell", "comment": ""},
            13: {"value_name": "dynastream_oem", "comment": ""},
            14: {"value_name": "nautilus", "comment": ""},
            15: {"value_name": "dynastream", "comment": ""},
            16: {"value_name": "timex", "comment": ""},
            17: {"value_name": "metrigear", "comment": ""},
            18: {"value_name": "xelic", "comment": ""},
            19: {"value_name": "beurer", "comment": ""},
            20: {"value_name": "cardiosport", "comment": ""},
            21: {"value_name": "a_and_d", "comment": ""},
            22: {"value_name": "hmm", "comment": ""},
            23: {"value_name": "suunto", "comment": ""},
            24: {"value_name": "thita_elektronik", "comment": ""},
            25: {"value_name": "gpulse", "comment": ""},
            26: {"value_name": "clean_mobile", "comment": ""},
            27: {"value_name": "pedal_brain", "comment": ""},
            28: {"value_name": "peaksware", "comment": ""},
            29: {"value_name": "saxonar", "comment": ""},
            30: {"value_name": "lemond_fitness", "comment": ""},
            31: {"value_name": "dexcom", "comment": ""},
            32: {"value_name": "wahoo_fitness", "comment": ""},
            33: {"value_name": "octane_fitness", "comment": ""},
            34: {"value_name": "archinoetics", "comment": ""},
            35: {"value_name": "the_hurt_box", "comment": ""},
            36: {"value_name": "citizen_systems", "comment": ""},
            37: {"value_name": "magellan", "comment": ""},
            38: {"value_name": "osynce", "comment": ""},
            39: {"value_name": "holux", "comment": ""},
            40: {"value_name": "concept2", "comment": ""},
            41: {"value_name": "shimano", "comment": ""},
            42: {"value_name": "one_giant_leap", "comment": ""},
            43: {"value_name": "ace_sensor", "comment": ""},
            44: {"value_name": "brim_brothers", "comment": ""},
            45: {"value_name": "xplova", "comment": ""},
            46: {"value_name": "perception_digital", "comment": ""},
            47: {"value_name": "bf1systems", "comment": ""},
            48: {"value_name": "pioneer", "comment": ""},
            49: {"value_name": "spantec", "comment": ""},
            50: {"value_name": "metalogics", "comment": ""},
            51: {"value_name": "4iiiis", "comment": ""},
            52: {"value_name": "seiko_epson", "comment": ""},
            53: {"value_name": "seiko_epson_oem", "comment": ""},
            54: {"value_name": "ifor_powell", "comment": ""},
            55: {"value_name": "maxwell_guider", "comment": ""},
            56: {"value_name": "star_trac", "comment": ""},
            57: {"value_name": "breakaway", "comment": ""},
            58: {"value_name": "alatech_technology_ltd", "comment": ""},
            59: {"value_name": "mio_technology_europe", "comment": ""},
            60: {"value_name": "rotor", "comment": ""},
            61: {"value_name": "geonaute", "comment": ""},
            62: {"value_name": "id_bike", "comment": ""},
            63: {"value_name": "specialized", "comment": ""},
            64: {"value_name": "wtek", "comment": ""},
            65: {"value_name": "physical_enterprises", "comment": ""},
            66: {"value_name": "north_pole_engineering", "comment": ""},
            67: {"value_name": "bkool", "comment": ""},
            68: {"value_name": "cateye", "comment": ""},
            69: {"value_name": "stages_cycling", "comment": ""},
            70: {"value_name": "sigmasport", "comment": ""},
            71: {"value_name": "tomtom", "comment": ""},
            72: {"value_name": "peripedal", "comment": ""},
            73: {"value_name": "wattbike", "comment": ""},
            76: {"value_name": "moxy", "comment": ""},
            77: {"value_name": "ciclosport", "comment": ""},
            78: {"value_name": "powerbahn", "comment": ""},
            79: {"value_name": "acorn_projects_aps", "comment": ""},
            80: {"value_name": "lifebeam", "comment": ""},
            81: {"value_name": "bontrager", "comment": ""},
            82: {"value_name": "wellgo", "comment": ""},
            83: {"value_name": "scosche", "comment": ""},
            84: {"value_name": "magura", "comment": ""},
            85: {"value_name": "woodway", "comment": ""},
            86: {"value_name": "elite", "comment": ""},
            87: {"value_name": "nielsen_kellerman", "comment": ""},
            88: {"value_name": "dk_city", "comment": ""},
            89: {"value_name": "tacx", "comment": ""},
            90: {"value_name": "direction_technology", "comment": ""},
            91: {"value_name": "magtonic", "comment": ""},
            92: {"value_name": "1partcarbon", "comment": ""},
            93: {"value_name": "inside_ride_technologies", "comment": ""},
            94: {"value_name": "sound_of_motion", "comment": ""},
            95: {"value_name": "stryd", "comment": ""},
            96: {"value_name": "icg", "comment": "Indoorcycling Group"},
            97: {"value_name": "MiPulse", "comment": ""},
            98: {"value_name": "bsx_athletics", "comment": ""},
            99: {"value_name": "look", "comment": ""},
            100: {"value_name": "campagnolo_srl", "comment": ""},
            101: {"value_name": "body_bike_smart", "comment": ""},
            102: {"value_name": "praxisworks", "comment": ""},
            103: {
                "value_name": "limits_technology",
                "comment": "Limits Technology Ltd.",
            },
            104: {
                "value_name": "topaction_technology",
                "comment": "TopAction Technology Inc.",
            },
            105: {"value_name": "cosinuss", "comment": ""},
            106: {"value_name": "fitcare", "comment": ""},
            107: {"value_name": "magene", "comment": ""},
            108: {"value_name": "giant_manufacturing_co", "comment": ""},
            109: {"value_name": "tigrasport", "comment": "Tigrasport"},
            110: {"value_name": "salutron", "comment": ""},
            111: {"value_name": "technogym", "comment": ""},
            112: {"value_name": "bryton_sensors", "comment": ""},
            113: {"value_name": "latitude_limited", "comment": ""},
            114: {"value_name": "soaring_technology", "comment": ""},
            115: {"value_name": "igpsport", "comment": ""},
            116: {"value_name": "thinkrider", "comment": ""},
            117: {"value_name": "gopher_sport", "comment": ""},
            118: {"value_name": "waterrower", "comment": ""},
            119: {"value_name": "orangetheory", "comment": ""},
            120: {"value_name": "inpeak", "comment": ""},
            121: {"value_name": "kinetic", "comment": ""},
            122: {"value_name": "johnson_health_tech", "comment": ""},
            123: {"value_name": "polar_electro", "comment": ""},
            124: {"value_name": "seesense", "comment": ""},
            125: {"value_name": "nci_technology", "comment": ""},
            126: {"value_name": "iqsquare", "comment": ""},
            127: {"value_name": "leomo", "comment": ""},
            128: {"value_name": "ifit_com", "comment": ""},
            129: {"value_name": "coros_byte", "comment": ""},
            130: {"value_name": "versa_design", "comment": ""},
            131: {"value_name": "chileaf", "comment": ""},
            132: {"value_name": "cycplus", "comment": ""},
            133: {"value_name": "gravaa_byte", "comment": ""},
            134: {"value_name": "sigeyi", "comment": ""},
            135: {"value_name": "coospo", "comment": ""},
            136: {"value_name": "geoid", "comment": ""},
            137: {"value_name": "bosch", "comment": ""},
            138: {"value_name": "kyto", "comment": ""},
            139: {"value_name": "kinetic_sports", "comment": ""},
            140: {"value_name": "decathlon_byte", "comment": ""},
            141: {"value_name": "tq_systems", "comment": ""},
            142: {"value_name": "tag_heuer", "comment": ""},
            143: {"value_name": "keiser_fitness", "comment": ""},
            144: {"value_name": "zwift_byte", "comment": ""},
            255: {"value_name": "development", "comment": ""},
            257: {"value_name": "healthandlife", "comment": ""},
            258: {"value_name": "lezyne", "comment": ""},
            259: {"value_name": "scribe_labs", "comment": ""},
            260: {"value_name": "zwift", "comment": ""},
            261: {"value_name": "watteam", "comment": ""},
            262: {"value_name": "recon", "comment": ""},
            263: {"value_name": "favero_electronics", "comment": ""},
            264: {"value_name": "dynovelo", "comment": ""},
            265: {"value_name": "strava", "comment": ""},
            266: {"value_name": "precor", "comment": "Amer Sports"},
            267: {"value_name": "bryton", "comment": ""},
            268: {"value_name": "sram", "comment": ""},
            269: {
                "value_name": "navman",
                "comment": "MiTAC Global Corporation (Mio " "Technology)",
            },
            270: {"value_name": "cobi", "comment": "COBI GmbH"},
            271: {"value_name": "spivi", "comment": ""},
            272: {"value_name": "mio_magellan", "comment": ""},
            273: {"value_name": "evesports", "comment": ""},
            274: {"value_name": "sensitivus_gauge", "comment": ""},
            275: {"value_name": "podoon", "comment": ""},
            276: {"value_name": "life_time_fitness", "comment": ""},
            277: {"value_name": "falco_e_motors", "comment": "Falco eMotors Inc."},
            278: {"value_name": "minoura", "comment": ""},
            279: {"value_name": "cycliq", "comment": ""},
            280: {"value_name": "luxottica", "comment": ""},
            281: {"value_name": "trainer_road", "comment": ""},
            282: {"value_name": "the_sufferfest", "comment": ""},
            283: {"value_name": "fullspeedahead", "comment": ""},
            284: {"value_name": "virtualtraining", "comment": ""},
            285: {"value_name": "feedbacksports", "comment": ""},
            286: {"value_name": "omata", "comment": ""},
            287: {"value_name": "vdo", "comment": ""},
            288: {"value_name": "magneticdays", "comment": ""},
            289: {"value_name": "hammerhead", "comment": ""},
            290: {"value_name": "kinetic_by_kurt", "comment": ""},
            291: {"value_name": "shapelog", "comment": ""},
            292: {"value_name": "dabuziduo", "comment": ""},
            293: {"value_name": "jetblack", "comment": ""},
            294: {"value_name": "coros", "comment": ""},
            295: {"value_name": "virtugo", "comment": ""},
            296: {"value_name": "velosense", "comment": ""},
            297: {"value_name": "cycligentinc", "comment": ""},
            298: {"value_name": "trailforks", "comment": ""},
            299: {"value_name": "mahle_ebikemotion", "comment": ""},
            300: {"value_name": "nurvv", "comment": ""},
            301: {"value_name": "microprogram", "comment": ""},
            302: {"value_name": "zone5cloud", "comment": ""},
            303: {"value_name": "greenteg", "comment": ""},
            304: {"value_name": "yamaha_motors", "comment": ""},
            305: {"value_name": "whoop", "comment": ""},
            306: {"value_name": "gravaa", "comment": ""},
            307: {"value_name": "onelap", "comment": ""},
            308: {"value_name": "monark_exercise", "comment": ""},
            309: {"value_name": "form", "comment": ""},
            310: {"value_name": "decathlon", "comment": ""},
            311: {"value_name": "syncros", "comment": ""},
            312: {"value_name": "heatup", "comment": ""},
            313: {"value_name": "cannondale", "comment": ""},
            314: {"value_name": "true_fitness", "comment": ""},
            315: {"value_name": "RGT_cycling", "comment": ""},
            316: {"value_name": "vasa", "comment": ""},
            317: {"value_name": "race_republic", "comment": ""},
            318: {"value_name": "fazua", "comment": ""},
            319: {"value_name": "oreka_training", "comment": ""},
            320: {"value_name": "isec", "comment": "Lishun Electric & Communication"},
            321: {"value_name": "lululemon_studio", "comment": ""},
            5759: {"value_name": "actigraphcorp", "comment": ""},
        },
    },
    "garmin_product": {
        "base_type": "uint16",
        "values": {
            1: {"value_name": "hrm1", "comment": ""},
            2: {"value_name": "axh01", "comment": "AXH01 HRM chipset"},
            3: {"value_name": "axb01", "comment": ""},
            4: {"value_name": "axb02", "comment": ""},
            5: {"value_name": "hrm2ss", "comment": ""},
            6: {"value_name": "dsi_alf02", "comment": ""},
            7: {"value_name": "hrm3ss", "comment": ""},
            8: {
                "value_name": "hrm_run_single_byte_product_id",
                "comment": "hrm_run model for HRM ANT+ messaging",
            },
            9: {"value_name": "bsm", "comment": "BSM model for ANT+ messaging"},
            10: {"value_name": "bcm", "comment": "BCM model for ANT+ messaging"},
            11: {
                "value_name": "axs01",
                "comment": "AXS01 HRM Bike Chipset model for ANT+ " "messaging",
            },
            12: {
                "value_name": "hrm_tri_single_byte_product_id",
                "comment": "hrm_tri model for HRM ANT+ messaging",
            },
            13: {
                "value_name": "hrm4_run_single_byte_product_id",
                "comment": "hrm4 run model for HRM ANT+ messaging",
            },
            14: {
                "value_name": "fr225_single_byte_product_id",
                "comment": "fr225 model for HRM ANT+ messaging",
            },
            15: {
                "value_name": "gen3_bsm_single_byte_product_id",
                "comment": "gen3_bsm model for Bike Speed ANT+ " "messaging",
            },
            16: {
                "value_name": "gen3_bcm_single_byte_product_id",
                "comment": "gen3_bcm model for Bike Cadence ANT+ " "messaging",
            },
            255: {
                "value_name": "OHR",
                "comment": "Garmin Wearable Optical Heart Rate "
                "Sensor for ANT+ HR Profile "
                "Broadcasting",
            },
            473: {"value_name": "fr301_china", "comment": ""},
            474: {"value_name": "fr301_japan", "comment": ""},
            475: {"value_name": "fr301_korea", "comment": ""},
            494: {"value_name": "fr301_taiwan", "comment": ""},
            717: {"value_name": "fr405", "comment": "Forerunner 405"},
            782: {"value_name": "fr50", "comment": "Forerunner 50"},
            987: {"value_name": "fr405_japan", "comment": ""},
            988: {"value_name": "fr60", "comment": "Forerunner 60"},
            1011: {"value_name": "dsi_alf01", "comment": ""},
            1018: {"value_name": "fr310xt", "comment": "Forerunner 310"},
            1036: {"value_name": "edge500", "comment": ""},
            1124: {"value_name": "fr110", "comment": "Forerunner 110"},
            1169: {"value_name": "edge800", "comment": ""},
            1199: {"value_name": "edge500_taiwan", "comment": ""},
            1213: {"value_name": "edge500_japan", "comment": ""},
            1253: {"value_name": "chirp", "comment": ""},
            1274: {"value_name": "fr110_japan", "comment": ""},
            1325: {"value_name": "edge200", "comment": ""},
            1328: {"value_name": "fr910xt", "comment": ""},
            1333: {"value_name": "edge800_taiwan", "comment": ""},
            1334: {"value_name": "edge800_japan", "comment": ""},
            1341: {"value_name": "alf04", "comment": ""},
            1345: {"value_name": "fr610", "comment": ""},
            1360: {"value_name": "fr210_japan", "comment": ""},
            1380: {"value_name": "vector_ss", "comment": ""},
            1381: {"value_name": "vector_cp", "comment": ""},
            1386: {"value_name": "edge800_china", "comment": ""},
            1387: {"value_name": "edge500_china", "comment": ""},
            1405: {"value_name": "approach_g10", "comment": ""},
            1410: {"value_name": "fr610_japan", "comment": ""},
            1422: {"value_name": "edge500_korea", "comment": ""},
            1436: {"value_name": "fr70", "comment": ""},
            1446: {"value_name": "fr310xt_4t", "comment": ""},
            1461: {"value_name": "amx", "comment": ""},
            1482: {"value_name": "fr10", "comment": ""},
            1497: {"value_name": "edge800_korea", "comment": ""},
            1499: {"value_name": "swim", "comment": ""},
            1537: {"value_name": "fr910xt_china", "comment": ""},
            1551: {"value_name": "fenix", "comment": ""},
            1555: {"value_name": "edge200_taiwan", "comment": ""},
            1561: {"value_name": "edge510", "comment": ""},
            1567: {"value_name": "edge810", "comment": ""},
            1570: {"value_name": "tempe", "comment": ""},
            1600: {"value_name": "fr910xt_japan", "comment": ""},
            1623: {"value_name": "fr620", "comment": ""},
            1632: {"value_name": "fr220", "comment": ""},
            1664: {"value_name": "fr910xt_korea", "comment": ""},
            1688: {"value_name": "fr10_japan", "comment": ""},
            1721: {"value_name": "edge810_japan", "comment": ""},
            1735: {"value_name": "virb_elite", "comment": ""},
            1736: {"value_name": "edge_touring", "comment": "Also Edge Touring Plus"},
            1742: {"value_name": "edge510_japan", "comment": ""},
            1743: {"value_name": "hrm_tri", "comment": "Also HRM-Swim"},
            1752: {"value_name": "hrm_run", "comment": ""},
            1765: {"value_name": "fr920xt", "comment": ""},
            1821: {"value_name": "edge510_asia", "comment": ""},
            1822: {"value_name": "edge810_china", "comment": ""},
            1823: {"value_name": "edge810_taiwan", "comment": ""},
            1836: {"value_name": "edge1000", "comment": ""},
            1837: {"value_name": "vivo_fit", "comment": ""},
            1853: {"value_name": "virb_remote", "comment": ""},
            1885: {"value_name": "vivo_ki", "comment": ""},
            1903: {"value_name": "fr15", "comment": ""},
            1907: {"value_name": "vivo_active", "comment": ""},
            1918: {"value_name": "edge510_korea", "comment": ""},
            1928: {"value_name": "fr620_japan", "comment": ""},
            1929: {"value_name": "fr620_china", "comment": ""},
            1930: {"value_name": "fr220_japan", "comment": ""},
            1931: {"value_name": "fr220_china", "comment": ""},
            1936: {"value_name": "approach_s6", "comment": ""},
            1956: {"value_name": "vivo_smart", "comment": ""},
            1967: {"value_name": "fenix2", "comment": ""},
            1988: {"value_name": "epix", "comment": ""},
            2050: {"value_name": "fenix3", "comment": ""},
            2052: {"value_name": "edge1000_taiwan", "comment": ""},
            2053: {"value_name": "edge1000_japan", "comment": ""},
            2061: {"value_name": "fr15_japan", "comment": ""},
            2067: {"value_name": "edge520", "comment": ""},
            2070: {"value_name": "edge1000_china", "comment": ""},
            2072: {"value_name": "fr620_russia", "comment": ""},
            2073: {"value_name": "fr220_russia", "comment": ""},
            2079: {"value_name": "vector_s", "comment": ""},
            2100: {"value_name": "edge1000_korea", "comment": ""},
            2130: {"value_name": "fr920xt_taiwan", "comment": ""},
            2131: {"value_name": "fr920xt_china", "comment": ""},
            2132: {"value_name": "fr920xt_japan", "comment": ""},
            2134: {"value_name": "virbx", "comment": ""},
            2135: {"value_name": "vivo_smart_apac", "comment": ""},
            2140: {"value_name": "etrex_touch", "comment": ""},
            2147: {"value_name": "edge25", "comment": ""},
            2148: {"value_name": "fr25", "comment": ""},
            2150: {"value_name": "vivo_fit2", "comment": ""},
            2153: {"value_name": "fr225", "comment": ""},
            2156: {"value_name": "fr630", "comment": ""},
            2157: {"value_name": "fr230", "comment": ""},
            2158: {"value_name": "fr735xt", "comment": ""},
            2160: {"value_name": "vivo_active_apac", "comment": ""},
            2161: {"value_name": "vector_2", "comment": ""},
            2162: {"value_name": "vector_2s", "comment": ""},
            2172: {"value_name": "virbxe", "comment": ""},
            2173: {"value_name": "fr620_taiwan", "comment": ""},
            2174: {"value_name": "fr220_taiwan", "comment": ""},
            2175: {"value_name": "truswing", "comment": ""},
            2187: {"value_name": "d2airvenu", "comment": ""},
            2188: {"value_name": "fenix3_china", "comment": ""},
            2189: {"value_name": "fenix3_twn", "comment": ""},
            2192: {"value_name": "varia_headlight", "comment": ""},
            2193: {"value_name": "varia_taillight_old", "comment": ""},
            2204: {"value_name": "edge_explore_1000", "comment": ""},
            2219: {"value_name": "fr225_asia", "comment": ""},
            2225: {"value_name": "varia_radar_taillight", "comment": ""},
            2226: {"value_name": "varia_radar_display", "comment": ""},
            2238: {"value_name": "edge20", "comment": ""},
            2260: {"value_name": "edge520_asia", "comment": ""},
            2261: {"value_name": "edge520_japan", "comment": ""},
            2262: {"value_name": "d2_bravo", "comment": ""},
            2266: {"value_name": "approach_s20", "comment": ""},
            2271: {"value_name": "vivo_smart2", "comment": ""},
            2274: {"value_name": "edge1000_thai", "comment": ""},
            2276: {"value_name": "varia_remote", "comment": ""},
            2288: {"value_name": "edge25_asia", "comment": ""},
            2289: {"value_name": "edge25_jpn", "comment": ""},
            2290: {"value_name": "edge20_asia", "comment": ""},
            2292: {"value_name": "approach_x40", "comment": ""},
            2293: {"value_name": "fenix3_japan", "comment": ""},
            2294: {"value_name": "vivo_smart_emea", "comment": ""},
            2310: {"value_name": "fr630_asia", "comment": ""},
            2311: {"value_name": "fr630_jpn", "comment": ""},
            2313: {"value_name": "fr230_jpn", "comment": ""},
            2327: {"value_name": "hrm4_run", "comment": ""},
            2332: {"value_name": "epix_japan", "comment": ""},
            2337: {"value_name": "vivo_active_hr", "comment": ""},
            2347: {"value_name": "vivo_smart_gps_hr", "comment": ""},
            2348: {"value_name": "vivo_smart_hr", "comment": ""},
            2361: {"value_name": "vivo_smart_hr_asia", "comment": ""},
            2362: {"value_name": "vivo_smart_gps_hr_asia", "comment": ""},
            2368: {"value_name": "vivo_move", "comment": ""},
            2379: {"value_name": "varia_taillight", "comment": ""},
            2396: {"value_name": "fr235_asia", "comment": ""},
            2397: {"value_name": "fr235_japan", "comment": ""},
            2398: {"value_name": "varia_vision", "comment": ""},
            2406: {"value_name": "vivo_fit3", "comment": ""},
            2407: {"value_name": "fenix3_korea", "comment": ""},
            2408: {"value_name": "fenix3_sea", "comment": ""},
            2413: {"value_name": "fenix3_hr", "comment": ""},
            2417: {"value_name": "virb_ultra_30", "comment": ""},
            2429: {"value_name": "index_smart_scale", "comment": ""},
            2431: {"value_name": "fr235", "comment": ""},
            2432: {"value_name": "fenix3_chronos", "comment": ""},
            2441: {"value_name": "oregon7xx", "comment": ""},
            2444: {"value_name": "rino7xx", "comment": ""},
            2457: {"value_name": "epix_korea", "comment": ""},
            2473: {"value_name": "fenix3_hr_chn", "comment": ""},
            2474: {"value_name": "fenix3_hr_twn", "comment": ""},
            2475: {"value_name": "fenix3_hr_jpn", "comment": ""},
            2476: {"value_name": "fenix3_hr_sea", "comment": ""},
            2477: {"value_name": "fenix3_hr_kor", "comment": ""},
            2496: {"value_name": "nautix", "comment": ""},
            2497: {"value_name": "vivo_active_hr_apac", "comment": ""},
            2512: {"value_name": "oregon7xx_ww", "comment": ""},
            2530: {"value_name": "edge_820", "comment": ""},
            2531: {"value_name": "edge_explore_820", "comment": ""},
            2533: {"value_name": "fr735xt_apac", "comment": ""},
            2534: {"value_name": "fr735xt_japan", "comment": ""},
            2544: {"value_name": "fenix5s", "comment": ""},
            2547: {"value_name": "d2_bravo_titanium", "comment": ""},
            2567: {"value_name": "varia_ut800", "comment": "Varia UT 800 SW"},
            2593: {"value_name": "running_dynamics_pod", "comment": ""},
            2599: {"value_name": "edge_820_china", "comment": ""},
            2600: {"value_name": "edge_820_japan", "comment": ""},
            2604: {"value_name": "fenix5x", "comment": ""},
            2606: {"value_name": "vivo_fit_jr", "comment": ""},
            2622: {"value_name": "vivo_smart3", "comment": ""},
            2623: {"value_name": "vivo_sport", "comment": ""},
            2628: {"value_name": "edge_820_taiwan", "comment": ""},
            2629: {"value_name": "edge_820_korea", "comment": ""},
            2630: {"value_name": "edge_820_sea", "comment": ""},
            2650: {"value_name": "fr35_hebrew", "comment": ""},
            2656: {"value_name": "approach_s60", "comment": ""},
            2667: {"value_name": "fr35_apac", "comment": ""},
            2668: {"value_name": "fr35_japan", "comment": ""},
            2675: {"value_name": "fenix3_chronos_asia", "comment": ""},
            2687: {"value_name": "virb_360", "comment": ""},
            2691: {"value_name": "fr935", "comment": ""},
            2697: {"value_name": "fenix5", "comment": ""},
            2700: {"value_name": "vivoactive3", "comment": ""},
            2733: {"value_name": "fr235_china_nfc", "comment": ""},
            2769: {"value_name": "foretrex_601_701", "comment": ""},
            2772: {"value_name": "vivo_move_hr", "comment": ""},
            2713: {"value_name": "edge_1030", "comment": ""},
            2727: {"value_name": "fr35_sea", "comment": ""},
            2787: {"value_name": "vector_3", "comment": ""},
            2796: {"value_name": "fenix5_asia", "comment": ""},
            2797: {"value_name": "fenix5s_asia", "comment": ""},
            2798: {"value_name": "fenix5x_asia", "comment": ""},
            2806: {"value_name": "approach_z80", "comment": ""},
            2814: {"value_name": "fr35_korea", "comment": ""},
            2819: {"value_name": "d2charlie", "comment": ""},
            2831: {"value_name": "vivo_smart3_apac", "comment": ""},
            2832: {"value_name": "vivo_sport_apac", "comment": ""},
            2833: {"value_name": "fr935_asia", "comment": ""},
            2859: {"value_name": "descent", "comment": ""},
            2878: {"value_name": "vivo_fit4", "comment": ""},
            2886: {"value_name": "fr645", "comment": ""},
            2888: {"value_name": "fr645m", "comment": ""},
            2891: {"value_name": "fr30", "comment": ""},
            2900: {"value_name": "fenix5s_plus", "comment": ""},
            2909: {"value_name": "Edge_130", "comment": ""},
            2924: {"value_name": "edge_1030_asia", "comment": ""},
            2927: {"value_name": "vivosmart_4", "comment": ""},
            2945: {"value_name": "vivo_move_hr_asia", "comment": ""},
            2962: {"value_name": "approach_x10", "comment": ""},
            2977: {"value_name": "fr30_asia", "comment": ""},
            2988: {"value_name": "vivoactive3m_w", "comment": ""},
            3003: {"value_name": "fr645_asia", "comment": ""},
            3004: {"value_name": "fr645m_asia", "comment": ""},
            3011: {"value_name": "edge_explore", "comment": ""},
            3028: {"value_name": "gpsmap66", "comment": ""},
            3049: {"value_name": "approach_s10", "comment": ""},
            3066: {"value_name": "vivoactive3m_l", "comment": ""},
            3085: {"value_name": "approach_g80", "comment": ""},
            3092: {"value_name": "edge_130_asia", "comment": ""},
            3095: {"value_name": "edge_1030_bontrager", "comment": ""},
            3110: {"value_name": "fenix5_plus", "comment": ""},
            3111: {"value_name": "fenix5x_plus", "comment": ""},
            3112: {"value_name": "edge_520_plus", "comment": ""},
            3113: {"value_name": "fr945", "comment": ""},
            3121: {"value_name": "edge_530", "comment": ""},
            3122: {"value_name": "edge_830", "comment": ""},
            3126: {"value_name": "instinct_esports", "comment": ""},
            3134: {"value_name": "fenix5s_plus_apac", "comment": ""},
            3135: {"value_name": "fenix5x_plus_apac", "comment": ""},
            3142: {"value_name": "edge_520_plus_apac", "comment": ""},
            3144: {"value_name": "fr235l_asia", "comment": ""},
            3145: {"value_name": "fr245_asia", "comment": ""},
            3163: {"value_name": "vivo_active3m_apac", "comment": ""},
            3192: {"value_name": "gen3_bsm", "comment": "gen3 bike speed sensor"},
            3193: {"value_name": "gen3_bcm", "comment": "gen3 bike cadence sensor"},
            3218: {"value_name": "vivo_smart4_asia", "comment": ""},
            3224: {"value_name": "vivoactive4_small", "comment": ""},
            3225: {"value_name": "vivoactive4_large", "comment": ""},
            3226: {"value_name": "venu", "comment": ""},
            3246: {"value_name": "marq_driver", "comment": ""},
            3247: {"value_name": "marq_aviator", "comment": ""},
            3248: {"value_name": "marq_captain", "comment": ""},
            3249: {"value_name": "marq_commander", "comment": ""},
            3250: {"value_name": "marq_expedition", "comment": ""},
            3251: {"value_name": "marq_athlete", "comment": ""},
            3258: {"value_name": "descent_mk2", "comment": ""},
            3284: {"value_name": "gpsmap66i", "comment": ""},
            3287: {"value_name": "fenix6S_sport", "comment": ""},
            3288: {"value_name": "fenix6S", "comment": ""},
            3289: {"value_name": "fenix6_sport", "comment": ""},
            3290: {"value_name": "fenix6", "comment": ""},
            3291: {"value_name": "fenix6x", "comment": ""},
            3299: {"value_name": "hrm_dual", "comment": "HRM-Dual"},
            3300: {"value_name": "hrm_pro", "comment": "HRM-Pro"},
            3308: {"value_name": "vivo_move3_premium", "comment": ""},
            3314: {"value_name": "approach_s40", "comment": ""},
            3321: {"value_name": "fr245m_asia", "comment": ""},
            3349: {"value_name": "edge_530_apac", "comment": ""},
            3350: {"value_name": "edge_830_apac", "comment": ""},
            3378: {"value_name": "vivo_move3", "comment": ""},
            3387: {"value_name": "vivo_active4_small_asia", "comment": ""},
            3388: {"value_name": "vivo_active4_large_asia", "comment": ""},
            3389: {"value_name": "vivo_active4_oled_asia", "comment": ""},
            3405: {"value_name": "swim2", "comment": ""},
            3420: {"value_name": "marq_driver_asia", "comment": ""},
            3421: {"value_name": "marq_aviator_asia", "comment": ""},
            3422: {"value_name": "vivo_move3_asia", "comment": ""},
            3441: {"value_name": "fr945_asia", "comment": ""},
            3446: {"value_name": "vivo_active3t_chn", "comment": ""},
            3448: {"value_name": "marq_captain_asia", "comment": ""},
            3449: {"value_name": "marq_commander_asia", "comment": ""},
            3450: {"value_name": "marq_expedition_asia", "comment": ""},
            3451: {"value_name": "marq_athlete_asia", "comment": ""},
            3466: {"value_name": "instinct_solar", "comment": ""},
            3469: {"value_name": "fr45_asia", "comment": ""},
            3473: {"value_name": "vivoactive3_daimler", "comment": ""},
            3498: {"value_name": "legacy_rey", "comment": ""},
            3499: {"value_name": "legacy_darth_vader", "comment": ""},
            3500: {"value_name": "legacy_captain_marvel", "comment": ""},
            3501: {"value_name": "legacy_first_avenger", "comment": ""},
            3512: {"value_name": "fenix6s_sport_asia", "comment": ""},
            3513: {"value_name": "fenix6s_asia", "comment": ""},
            3514: {"value_name": "fenix6_sport_asia", "comment": ""},
            3515: {"value_name": "fenix6_asia", "comment": ""},
            3516: {"value_name": "fenix6x_asia", "comment": ""},
            3535: {"value_name": "legacy_captain_marvel_asia", "comment": ""},
            3536: {"value_name": "legacy_first_avenger_asia", "comment": ""},
            3537: {"value_name": "legacy_rey_asia", "comment": ""},
            3538: {"value_name": "legacy_darth_vader_asia", "comment": ""},
            3542: {"value_name": "descent_mk2s", "comment": ""},
            3558: {"value_name": "edge_130_plus", "comment": ""},
            3570: {"value_name": "edge_1030_plus", "comment": ""},
            3578: {
                "value_name": "rally_200",
                "comment": "Rally 100/200 Power Meter Series",
            },
            3589: {"value_name": "fr745", "comment": ""},
            3600: {"value_name": "venusq", "comment": ""},
            3615: {"value_name": "lily", "comment": ""},
            3624: {"value_name": "marq_adventurer", "comment": ""},
            3638: {"value_name": "enduro", "comment": ""},
            3639: {"value_name": "swim2_apac", "comment": ""},
            3648: {"value_name": "marq_adventurer_asia", "comment": ""},
            3652: {"value_name": "fr945_lte", "comment": ""},
            3702: {"value_name": "descent_mk2_asia", "comment": "Mk2 and Mk2i"},
            3703: {"value_name": "venu2", "comment": ""},
            3704: {"value_name": "venu2s", "comment": ""},
            3737: {"value_name": "venu_daimler_asia", "comment": ""},
            3739: {"value_name": "marq_golfer", "comment": ""},
            3740: {"value_name": "venu_daimler", "comment": ""},
            3794: {"value_name": "fr745_asia", "comment": ""},
            3809: {"value_name": "lily_asia", "comment": ""},
            3812: {"value_name": "edge_1030_plus_asia", "comment": ""},
            3813: {"value_name": "edge_130_plus_asia", "comment": ""},
            3823: {"value_name": "approach_s12", "comment": ""},
            3872: {"value_name": "enduro_asia", "comment": ""},
            3837: {"value_name": "venusq_asia", "comment": ""},
            3843: {"value_name": "edge_1040", "comment": ""},
            3850: {"value_name": "marq_golfer_asia", "comment": ""},
            3851: {"value_name": "venu2_plus", "comment": ""},
            3869: {"value_name": "fr55", "comment": ""},
            3888: {"value_name": "instinct_2", "comment": ""},
            3905: {"value_name": "fenix7s", "comment": ""},
            3906: {"value_name": "fenix7", "comment": ""},
            3907: {"value_name": "fenix7x", "comment": ""},
            3908: {"value_name": "fenix7s_apac", "comment": ""},
            3909: {"value_name": "fenix7_apac", "comment": ""},
            3910: {"value_name": "fenix7x_apac", "comment": ""},
            3927: {"value_name": "approach_g12", "comment": ""},
            3930: {"value_name": "descent_mk2s_asia", "comment": ""},
            3934: {"value_name": "approach_s42", "comment": ""},
            3943: {"value_name": "epix_gen2", "comment": ""},
            3944: {"value_name": "epix_gen2_apac", "comment": ""},
            3949: {"value_name": "venu2s_asia", "comment": ""},
            3950: {"value_name": "venu2_asia", "comment": ""},
            3978: {"value_name": "fr945_lte_asia", "comment": ""},
            3982: {"value_name": "vivo_move_sport", "comment": ""},
            3986: {"value_name": "approach_S12_asia", "comment": ""},
            3990: {"value_name": "fr255_music", "comment": ""},
            3991: {"value_name": "fr255_small_music", "comment": ""},
            3992: {"value_name": "fr255", "comment": ""},
            3993: {"value_name": "fr255_small", "comment": ""},
            4001: {"value_name": "approach_g12_asia", "comment": ""},
            4002: {"value_name": "approach_s42_asia", "comment": ""},
            4005: {"value_name": "descent_g1", "comment": ""},
            4017: {"value_name": "venu2_plus_asia", "comment": ""},
            4024: {"value_name": "fr955", "comment": ""},
            4033: {"value_name": "fr55_asia", "comment": ""},
            4063: {"value_name": "vivosmart_5", "comment": ""},
            4071: {"value_name": "instinct_2_asia", "comment": ""},
            4115: {"value_name": "venusq2", "comment": ""},
            4116: {"value_name": "venusq2music", "comment": ""},
            4125: {"value_name": "d2_air_x10", "comment": ""},
            4130: {"value_name": "hrm_pro_plus", "comment": ""},
            4132: {"value_name": "descent_g1_asia", "comment": ""},
            4135: {"value_name": "tactix7", "comment": ""},
            4169: {"value_name": "edge_explore2", "comment": ""},
            4265: {"value_name": "tacx_neo_smart", "comment": "Neo Smart, Tacx"},
            4266: {"value_name": "tacx_neo2_smart", "comment": "Neo 2 Smart, Tacx"},
            4267: {"value_name": "tacx_neo2_t_smart", "comment": "Neo 2T Smart, Tacx"},
            4268: {
                "value_name": "tacx_neo_smart_bike",
                "comment": "Neo Smart Bike, Tacx",
            },
            4269: {"value_name": "tacx_satori_smart", "comment": "Satori Smart, Tacx"},
            4270: {"value_name": "tacx_flow_smart", "comment": "Flow Smart, Tacx"},
            4271: {"value_name": "tacx_vortex_smart", "comment": "Vortex Smart, Tacx"},
            4272: {
                "value_name": "tacx_bushido_smart",
                "comment": "Bushido Smart, Tacx",
            },
            4273: {"value_name": "tacx_genius_smart", "comment": "Genius Smart, Tacx"},
            4274: {
                "value_name": "tacx_flux_flux_s_smart",
                "comment": "Flux/Flux S Smart, Tacx",
            },
            4275: {"value_name": "tacx_flux2_smart", "comment": "Flux 2 Smart, Tacx"},
            4276: {"value_name": "tacx_magnum", "comment": "Magnum, Tacx"},
            4305: {"value_name": "edge_1040_asia", "comment": ""},
            4341: {"value_name": "enduro2", "comment": ""},
            10007: {"value_name": "sdm4", "comment": "SDM4 footpod"},
            10014: {"value_name": "edge_remote", "comment": ""},
            20533: {"value_name": "tacx_training_app_win", "comment": ""},
            20534: {"value_name": "tacx_training_app_mac", "comment": ""},
            20565: {"value_name": "tacx_training_app_mac_catalyst", "comment": ""},
            20119: {"value_name": "training_center", "comment": ""},
            30045: {"value_name": "tacx_training_app_android", "comment": ""},
            30046: {"value_name": "tacx_training_app_ios", "comment": ""},
            30047: {"value_name": "tacx_training_app_legacy", "comment": ""},
            65531: {"value_name": "connectiq_simulator", "comment": ""},
            65532: {"value_name": "android_antplus_plugin", "comment": ""},
            65534: {"value_name": "connect", "comment": "Garmin Connect website"},
        },
    },
    "antplus_device_type": {
        "base_type": "uint8",
        "values": {
            1: {"value_name": "antfs", "comment": ""},
            11: {"value_name": "bike_power", "comment": ""},
            12: {"value_name": "environment_sensor_legacy", "comment": ""},
            15: {"value_name": "multi_sport_speed_distance", "comment": ""},
            16: {"value_name": "control", "comment": ""},
            17: {"value_name": "fitness_equipment", "comment": ""},
            18: {"value_name": "blood_pressure", "comment": ""},
            19: {"value_name": "geocache_node", "comment": ""},
            20: {"value_name": "light_electric_vehicle", "comment": ""},
            25: {"value_name": "env_sensor", "comment": ""},
            26: {"value_name": "racquet", "comment": ""},
            27: {"value_name": "control_hub", "comment": ""},
            31: {"value_name": "muscle_oxygen", "comment": ""},
            34: {"value_name": "shifting", "comment": ""},
            35: {"value_name": "bike_light_main", "comment": ""},
            36: {"value_name": "bike_light_shared", "comment": ""},
            38: {"value_name": "exd", "comment": ""},
            40: {"value_name": "bike_radar", "comment": ""},
            46: {"value_name": "bike_aero", "comment": ""},
            119: {"value_name": "weight_scale", "comment": ""},
            120: {"value_name": "heart_rate", "comment": ""},
            121: {"value_name": "bike_speed_cadence", "comment": ""},
            122: {"value_name": "bike_cadence", "comment": ""},
            123: {"value_name": "bike_speed", "comment": ""},
            124: {"value_name": "stride_speed_distance", "comment": ""},
        },
    },
    "ant_network": {
        "base_type": "enum",
        "values": {
            0: {"value_name": "public", "comment": ""},
            1: {"value_name": "antplus", "comment": ""},
            2: {"value_name": "antfs", "comment": ""},
            3: {"value_name": "private", "comment": ""},
        },
    },
    "workout_capabilities": {
        "base_type": "uint32z",
        "values": {
            1: {"value_name": "interval", "comment": "(original value: 0x00000001)"},
            2: {"value_name": "custom", "comment": "(original value: 0x00000002)"},
            4: {
                "value_name": "fitness_equipment",
                "comment": "(original value: 0x00000004)",
            },
            8: {"value_name": "firstbeat", "comment": "(original value: 0x00000008)"},
            16: {"value_name": "new_leaf", "comment": "(original value: 0x00000010)"},
            32: {
                "value_name": "tcx",
                "comment": "For backwards compatibility. "
                "Watch should add missing id "
                "fields then clear flag. "
                "(original value: 0x00000020)",
            },
            128: {
                "value_name": "speed",
                "comment": "Speed source required for "
                "workout step. (original value: "
                "0x00000080)",
            },
            256: {
                "value_name": "heart_rate",
                "comment": "Heart rate source required for "
                "workout step. (original value: "
                "0x00000100)",
            },
            512: {
                "value_name": "distance",
                "comment": "Distance source required for "
                "workout step. (original value: "
                "0x00000200)",
            },
            1024: {
                "value_name": "cadence",
                "comment": "Cadence source required for "
                "workout step. (original value: "
                "0x00000400)",
            },
            2048: {
                "value_name": "power",
                "comment": "Power source required for "
                "workout step. (original value: "
                "0x00000800)",
            },
            4096: {
                "value_name": "grade",
                "comment": "Grade source required for "
                "workout step. (original value: "
                "0x00001000)",
            },
            8192: {
                "value_name": "resistance",
                "comment": "Resistance source required for "
                "workout step. (original value: "
                "0x00002000)",
            },
            16384: {
                "value_name": "protected",
                "comment": "(original value: " "0x00004000)",
            },
        },
    },
    "battery_status": {
        "base_type": "uint8",
        "values": {
            1: {"value_name": "new", "comment": ""},
            2: {"value_name": "good", "comment": ""},
            3: {"value_name": "ok", "comment": ""},
            4: {"value_name": "low", "comment": ""},
            5: {"value_name": "critical", "comment": ""},
            6: {"value_name": "charging", "comment": ""},
            7: {"value_name": "unknown", "comment": ""},
        },
    },
    "hr_type": {
        "base_type": "enum",
        "values": {
            0: {"value_name": "normal", "comment": ""},
            1: {"value_name": "irregular", "comment": ""},
        },
    },
    "course_capabilities": {
        "base_type": "uint32z",
        "values": {
            1: {"value_name": "processed", "comment": "(original value: 0x00000001)"},
            2: {"value_name": "valid", "comment": "(original value: 0x00000002)"},
            4: {"value_name": "time", "comment": "(original value: 0x00000004)"},
            8: {"value_name": "distance", "comment": "(original value: 0x00000008)"},
            16: {"value_name": "position", "comment": "(original value: 0x00000010)"},
            32: {"value_name": "heart_rate", "comment": "(original value: 0x00000020)"},
            64: {"value_name": "power", "comment": "(original value: 0x00000040)"},
            128: {"value_name": "cadence", "comment": "(original value: 0x00000080)"},
            256: {"value_name": "training", "comment": "(original value: 0x00000100)"},
            512: {
                "value_name": "navigation",
                "comment": "(original value: 0x00000200)",
            },
            1024: {"value_name": "bikeway", "comment": "(original value: 0x00000400)"},
        },
    },
    "weight": {
        "base_type": "uint16",
        "values": {
            65534: {"value_name": "calculating", "comment": "(original value: 0xFFFE)"}
        },
    },
    "workout_hr": {
        "base_type": "uint32",
        "values": {100: {"value_name": "bpm_offset", "comment": ""}},
    },
    "workout_power": {
        "base_type": "uint32",
        "values": {1000: {"value_name": "watts_offset", "comment": ""}},
    },
    "bp_status": {
        "base_type": "enum",
        "values": {
            0: {"value_name": "no_error", "comment": ""},
            1: {"value_name": "error_incomplete_data", "comment": ""},
            2: {"value_name": "error_no_measurement", "comment": ""},
            3: {"value_name": "error_data_out_of_range", "comment": ""},
            4: {"value_name": "error_irregular_heart_rate", "comment": ""},
        },
    },
    "user_local_id": {
        "base_type": "uint16",
        "values": {
            0: {"value_name": "local_min", "comment": "(original value: 0x0000)"},
            15: {"value_name": "local_max", "comment": "(original value: 0x000F)"},
            16: {"value_name": "stationary_min", "comment": "(original value: 0x0010)"},
            255: {
                "value_name": "stationary_max",
                "comment": "(original value: 0x00FF)",
            },
            256: {"value_name": "portable_min", "comment": "(original value: 0x0100)"},
            65534: {
                "value_name": "portable_max",
                "comment": "(original value: 0xFFFE)",
            },
        },
    },
    "swim_stroke": {
        "base_type": "enum",
        "values": {
            0: {"value_name": "freestyle", "comment": ""},
            1: {"value_name": "backstroke", "comment": ""},
            2: {"value_name": "breaststroke", "comment": ""},
            3: {"value_name": "butterfly", "comment": ""},
            4: {"value_name": "drill", "comment": ""},
            5: {"value_name": "mixed", "comment": ""},
            6: {
                "value_name": "im",
                "comment": "IM is a mixed interval containing the same "
                "number of lengths for each of: Butterfly, "
                "Backstroke, Breaststroke, Freestyle, swam "
                "in that order.",
            },
        },
    },
    "activity_type": {
        "base_type": "enum",
        "values": {
            0: {"value_name": "generic", "comment": ""},
            1: {"value_name": "running", "comment": ""},
            2: {"value_name": "cycling", "comment": ""},
            3: {"value_name": "transition", "comment": "Mulitsport transition"},
            4: {"value_name": "fitness_equipment", "comment": ""},
            5: {"value_name": "swimming", "comment": ""},
            6: {"value_name": "walking", "comment": ""},
            8: {"value_name": "sedentary", "comment": ""},
            254: {
                "value_name": "all",
                "comment": "All is for goals only to include all " "sports.",
            },
        },
    },
    "activity_subtype": {
        "base_type": "enum",
        "values": {
            0: {"value_name": "generic", "comment": ""},
            1: {"value_name": "treadmill", "comment": "Run"},
            2: {"value_name": "street", "comment": "Run"},
            3: {"value_name": "trail", "comment": "Run"},
            4: {"value_name": "track", "comment": "Run"},
            5: {"value_name": "spin", "comment": "Cycling"},
            6: {"value_name": "indoor_cycling", "comment": "Cycling"},
            7: {"value_name": "road", "comment": "Cycling"},
            8: {"value_name": "mountain", "comment": "Cycling"},
            9: {"value_name": "downhill", "comment": "Cycling"},
            10: {"value_name": "recumbent", "comment": "Cycling"},
            11: {"value_name": "cyclocross", "comment": "Cycling"},
            12: {"value_name": "hand_cycling", "comment": "Cycling"},
            13: {"value_name": "track_cycling", "comment": "Cycling"},
            14: {"value_name": "indoor_rowing", "comment": "Fitness Equipment"},
            15: {"value_name": "elliptical", "comment": "Fitness Equipment"},
            16: {"value_name": "stair_climbing", "comment": "Fitness Equipment"},
            17: {"value_name": "lap_swimming", "comment": "Swimming"},
            18: {"value_name": "open_water", "comment": "Swimming"},
            254: {"value_name": "all", "comment": ""},
        },
    },
    "activity_level": {
        "base_type": "enum",
        "values": {
            0: {"value_name": "low", "comment": ""},
            1: {"value_name": "medium", "comment": ""},
            2: {"value_name": "high", "comment": ""},
        },
    },
    "side": {
        "base_type": "enum",
        "values": {
            0: {"value_name": "right", "comment": ""},
            1: {"value_name": "left", "comment": ""},
        },
    },
    "left_right_balance": {
        "base_type": "uint8",
        "values": {
            127: {
                "value_name": "mask",
                "comment": "% contribution (original value: " "0x7F)",
            },
            128: {
                "value_name": "right",
                "comment": "data corresponds to right if set, "
                "otherwise unknown (original "
                "value: 0x80)",
            },
        },
    },
    "left_right_balance_100": {
        "base_type": "uint16",
        "values": {
            16383: {
                "value_name": "mask",
                "comment": "% contribution scaled by "
                "100 (original value: "
                "0x3FFF)",
            },
            32768: {
                "value_name": "right",
                "comment": "data corresponds to right "
                "if set, otherwise unknown "
                "(original value: 0x8000)",
            },
        },
    },
    "length_type": {
        "base_type": "enum",
        "values": {
            0: {"value_name": "idle", "comment": "Rest period. Length with no strokes"},
            1: {"value_name": "active", "comment": "Length with strokes."},
        },
    },
    "day_of_week": {
        "base_type": "enum",
        "values": {
            0: {"value_name": "sunday", "comment": ""},
            1: {"value_name": "monday", "comment": ""},
            2: {"value_name": "tuesday", "comment": ""},
            3: {"value_name": "wednesday", "comment": ""},
            4: {"value_name": "thursday", "comment": ""},
            5: {"value_name": "friday", "comment": ""},
            6: {"value_name": "saturday", "comment": ""},
        },
    },
    "connectivity_capabilities": {
        "base_type": "uint32z",
        "values": {
            1: {
                "value_name": "bluetooth",
                "comment": "(original value: " "0x00000001)",
            },
            2: {
                "value_name": "bluetooth_le",
                "comment": "(original value: " "0x00000002)",
            },
            4: {"value_name": "ant", "comment": "(original value: " "0x00000004)"},
            8: {
                "value_name": "activity_upload",
                "comment": "(original value: " "0x00000008)",
            },
            16: {
                "value_name": "course_download",
                "comment": "(original value: " "0x00000010)",
            },
            32: {
                "value_name": "workout_download",
                "comment": "(original value: " "0x00000020)",
            },
            64: {
                "value_name": "live_track",
                "comment": "(original value: " "0x00000040)",
            },
            128: {
                "value_name": "weather_conditions",
                "comment": "(original value: " "0x00000080)",
            },
            256: {
                "value_name": "weather_alerts",
                "comment": "(original value: " "0x00000100)",
            },
            512: {
                "value_name": "gps_ephemeris_download",
                "comment": "(original value: " "0x00000200)",
            },
            1024: {
                "value_name": "explicit_archive",
                "comment": "(original value: " "0x00000400)",
            },
            2048: {
                "value_name": "setup_incomplete",
                "comment": "(original value: " "0x00000800)",
            },
            4096: {
                "value_name": "continue_sync_after_software_update",
                "comment": "(original value: " "0x00001000)",
            },
            8192: {
                "value_name": "connect_iq_app_download",
                "comment": "(original value: " "0x00002000)",
            },
            16384: {
                "value_name": "golf_course_download",
                "comment": "(original value: " "0x00004000)",
            },
            32768: {
                "value_name": "device_initiates_sync",
                "comment": "Indicates device is in "
                "control of initiating "
                "all syncs (original "
                "value: 0x00008000)",
            },
            65536: {
                "value_name": "connect_iq_watch_app_download",
                "comment": "(original value: " "0x00010000)",
            },
            131072: {
                "value_name": "connect_iq_widget_download",
                "comment": "(original value: " "0x00020000)",
            },
            262144: {
                "value_name": "connect_iq_watch_face_download",
                "comment": "(original value: " "0x00040000)",
            },
            524288: {
                "value_name": "connect_iq_data_field_download",
                "comment": "(original value: " "0x00080000)",
            },
            1048576: {
                "value_name": "connect_iq_app_managment",
                "comment": "Device supports delete "
                "and reorder of apps "
                "via GCM (original "
                "value: 0x00100000)",
            },
            2097152: {
                "value_name": "swing_sensor",
                "comment": "(original value: " "0x00200000)",
            },
            4194304: {
                "value_name": "swing_sensor_remote",
                "comment": "(original value: " "0x00400000)",
            },
            8388608: {
                "value_name": "incident_detection",
                "comment": "Device supports "
                "incident detection "
                "(original value: "
                "0x00800000)",
            },
            16777216: {
                "value_name": "audio_prompts",
                "comment": "(original value: " "0x01000000)",
            },
            33554432: {
                "value_name": "wifi_verification",
                "comment": "Device supports "
                "reporting wifi "
                "verification via GCM "
                "(original value: "
                "0x02000000)",
            },
            67108864: {
                "value_name": "true_up",
                "comment": "Device supports True " "Up (original value: " "0x04000000)",
            },
            134217728: {
                "value_name": "find_my_watch",
                "comment": "Device supports Find "
                "My Watch (original "
                "value: 0x08000000)",
            },
            268435456: {
                "value_name": "remote_manual_sync",
                "comment": "(original value: " "0x10000000)",
            },
            536870912: {
                "value_name": "live_track_auto_start",
                "comment": "Device supports "
                "LiveTrack auto start "
                "(original value: "
                "0x20000000)",
            },
            1073741824: {
                "value_name": "live_track_messaging",
                "comment": "Device supports "
                "LiveTrack Messaging "
                "(original value: "
                "0x40000000)",
            },
            2147483648: {
                "value_name": "instant_input",
                "comment": "Device supports "
                "instant input "
                "feature (original "
                "value: "
                "0x80000000)",
            },
        },
    },
    "weather_report": {
        "base_type": "enum",
        "values": {
            0: {"value_name": "current", "comment": ""},
            1: {"value_name": "hourly_forecast", "comment": ""},
            2: {"value_name": "daily_forecast", "comment": ""},
        },
    },
    "weather_status": {
        "base_type": "enum",
        "values": {
            0: {"value_name": "clear", "comment": ""},
            1: {"value_name": "partly_cloudy", "comment": ""},
            2: {"value_name": "mostly_cloudy", "comment": ""},
            3: {"value_name": "rain", "comment": ""},
            4: {"value_name": "snow", "comment": ""},
            5: {"value_name": "windy", "comment": ""},
            6: {"value_name": "thunderstorms", "comment": ""},
            7: {"value_name": "wintry_mix", "comment": ""},
            8: {"value_name": "fog", "comment": ""},
            11: {"value_name": "hazy", "comment": ""},
            12: {"value_name": "hail", "comment": ""},
            13: {"value_name": "scattered_showers", "comment": ""},
            14: {"value_name": "scattered_thunderstorms", "comment": ""},
            15: {"value_name": "unknown_precipitation", "comment": ""},
            16: {"value_name": "light_rain", "comment": ""},
            17: {"value_name": "heavy_rain", "comment": ""},
            18: {"value_name": "light_snow", "comment": ""},
            19: {"value_name": "heavy_snow", "comment": ""},
            20: {"value_name": "light_rain_snow", "comment": ""},
            21: {"value_name": "heavy_rain_snow", "comment": ""},
            22: {"value_name": "cloudy", "comment": ""},
        },
    },
    "weather_severity": {
        "base_type": "enum",
        "values": {
            0: {"value_name": "unknown", "comment": ""},
            1: {"value_name": "warning", "comment": ""},
            2: {"value_name": "watch", "comment": ""},
            3: {"value_name": "advisory", "comment": ""},
            4: {"value_name": "statement", "comment": ""},
        },
    },
    "weather_severe_type": {
        "base_type": "enum",
        "values": {
            0: {"value_name": "unspecified", "comment": ""},
            1: {"value_name": "tornado", "comment": ""},
            2: {"value_name": "tsunami", "comment": ""},
            3: {"value_name": "hurricane", "comment": ""},
            4: {"value_name": "extreme_wind", "comment": ""},
            5: {"value_name": "typhoon", "comment": ""},
            6: {"value_name": "inland_hurricane", "comment": ""},
            7: {"value_name": "hurricane_force_wind", "comment": ""},
            8: {"value_name": "waterspout", "comment": ""},
            9: {"value_name": "severe_thunderstorm", "comment": ""},
            10: {"value_name": "wreckhouse_winds", "comment": ""},
            11: {"value_name": "les_suetes_wind", "comment": ""},
            12: {"value_name": "avalanche", "comment": ""},
            13: {"value_name": "flash_flood", "comment": ""},
            14: {"value_name": "tropical_storm", "comment": ""},
            15: {"value_name": "inland_tropical_storm", "comment": ""},
            16: {"value_name": "blizzard", "comment": ""},
            17: {"value_name": "ice_storm", "comment": ""},
            18: {"value_name": "freezing_rain", "comment": ""},
            19: {"value_name": "debris_flow", "comment": ""},
            20: {"value_name": "flash_freeze", "comment": ""},
            21: {"value_name": "dust_storm", "comment": ""},
            22: {"value_name": "high_wind", "comment": ""},
            23: {"value_name": "winter_storm", "comment": ""},
            24: {"value_name": "heavy_freezing_spray", "comment": ""},
            25: {"value_name": "extreme_cold", "comment": ""},
            26: {"value_name": "wind_chill", "comment": ""},
            27: {"value_name": "cold_wave", "comment": ""},
            28: {"value_name": "heavy_snow_alert", "comment": ""},
            29: {"value_name": "lake_effect_blowing_snow", "comment": ""},
            30: {"value_name": "snow_squall", "comment": ""},
            31: {"value_name": "lake_effect_snow", "comment": ""},
            32: {"value_name": "winter_weather", "comment": ""},
            33: {"value_name": "sleet", "comment": ""},
            34: {"value_name": "snowfall", "comment": ""},
            35: {"value_name": "snow_and_blowing_snow", "comment": ""},
            36: {"value_name": "blowing_snow", "comment": ""},
            37: {"value_name": "snow_alert", "comment": ""},
            38: {"value_name": "arctic_outflow", "comment": ""},
            39: {"value_name": "freezing_drizzle", "comment": ""},
            40: {"value_name": "storm", "comment": ""},
            41: {"value_name": "storm_surge", "comment": ""},
            42: {"value_name": "rainfall", "comment": ""},
            43: {"value_name": "areal_flood", "comment": ""},
            44: {"value_name": "coastal_flood", "comment": ""},
            45: {"value_name": "lakeshore_flood", "comment": ""},
            46: {"value_name": "excessive_heat", "comment": ""},
            47: {"value_name": "heat", "comment": ""},
            48: {"value_name": "weather", "comment": ""},
            49: {"value_name": "high_heat_and_humidity", "comment": ""},
            50: {"value_name": "humidex_and_health", "comment": ""},
            51: {"value_name": "humidex", "comment": ""},
            52: {"value_name": "gale", "comment": ""},
            53: {"value_name": "freezing_spray", "comment": ""},
            54: {"value_name": "special_marine", "comment": ""},
            55: {"value_name": "squall", "comment": ""},
            56: {"value_name": "strong_wind", "comment": ""},
            57: {"value_name": "lake_wind", "comment": ""},
            58: {"value_name": "marine_weather", "comment": ""},
            59: {"value_name": "wind", "comment": ""},
            60: {"value_name": "small_craft_hazardous_seas", "comment": ""},
            61: {"value_name": "hazardous_seas", "comment": ""},
            62: {"value_name": "small_craft", "comment": ""},
            63: {"value_name": "small_craft_winds", "comment": ""},
            64: {"value_name": "small_craft_rough_bar", "comment": ""},
            65: {"value_name": "high_water_level", "comment": ""},
            66: {"value_name": "ashfall", "comment": ""},
            67: {"value_name": "freezing_fog", "comment": ""},
            68: {"value_name": "dense_fog", "comment": ""},
            69: {"value_name": "dense_smoke", "comment": ""},
            70: {"value_name": "blowing_dust", "comment": ""},
            71: {"value_name": "hard_freeze", "comment": ""},
            72: {"value_name": "freeze", "comment": ""},
            73: {"value_name": "frost", "comment": ""},
            74: {"value_name": "fire_weather", "comment": ""},
            75: {"value_name": "flood", "comment": ""},
            76: {"value_name": "rip_tide", "comment": ""},
            77: {"value_name": "high_surf", "comment": ""},
            78: {"value_name": "smog", "comment": ""},
            79: {"value_name": "air_quality", "comment": ""},
            80: {"value_name": "brisk_wind", "comment": ""},
            81: {"value_name": "air_stagnation", "comment": ""},
            82: {"value_name": "low_water", "comment": ""},
            83: {"value_name": "hydrological", "comment": ""},
            84: {"value_name": "special_weather", "comment": ""},
        },
    },
    "time_into_day": {"base_type": "uint32", "values": {}},
    "localtime_into_day": {"base_type": "uint32", "values": {}},
    "stroke_type": {
        "base_type": "enum",
        "values": {
            0: {"value_name": "no_event", "comment": ""},
            1: {
                "value_name": "other",
                "comment": "stroke was detected but cannot be " "identified",
            },
            2: {"value_name": "serve", "comment": ""},
            3: {"value_name": "forehand", "comment": ""},
            4: {"value_name": "backhand", "comment": ""},
            5: {"value_name": "smash", "comment": ""},
        },
    },
    "body_location": {
        "base_type": "enum",
        "values": {
            0: {"value_name": "left_leg", "comment": ""},
            1: {"value_name": "left_calf", "comment": ""},
            2: {"value_name": "left_shin", "comment": ""},
            3: {"value_name": "left_hamstring", "comment": ""},
            4: {"value_name": "left_quad", "comment": ""},
            5: {"value_name": "left_glute", "comment": ""},
            6: {"value_name": "right_leg", "comment": ""},
            7: {"value_name": "right_calf", "comment": ""},
            8: {"value_name": "right_shin", "comment": ""},
            9: {"value_name": "right_hamstring", "comment": ""},
            10: {"value_name": "right_quad", "comment": ""},
            11: {"value_name": "right_glute", "comment": ""},
            12: {"value_name": "torso_back", "comment": ""},
            13: {"value_name": "left_lower_back", "comment": ""},
            14: {"value_name": "left_upper_back", "comment": ""},
            15: {"value_name": "right_lower_back", "comment": ""},
            16: {"value_name": "right_upper_back", "comment": ""},
            17: {"value_name": "torso_front", "comment": ""},
            18: {"value_name": "left_abdomen", "comment": ""},
            19: {"value_name": "left_chest", "comment": ""},
            20: {"value_name": "right_abdomen", "comment": ""},
            21: {"value_name": "right_chest", "comment": ""},
            22: {"value_name": "left_arm", "comment": ""},
            23: {"value_name": "left_shoulder", "comment": ""},
            24: {"value_name": "left_bicep", "comment": ""},
            25: {"value_name": "left_tricep", "comment": ""},
            26: {
                "value_name": "left_brachioradialis",
                "comment": "Left anterior forearm",
            },
            27: {
                "value_name": "left_forearm_extensors",
                "comment": "Left posterior forearm",
            },
            28: {"value_name": "right_arm", "comment": ""},
            29: {"value_name": "right_shoulder", "comment": ""},
            30: {"value_name": "right_bicep", "comment": ""},
            31: {"value_name": "right_tricep", "comment": ""},
            32: {
                "value_name": "right_brachioradialis",
                "comment": "Right anterior forearm",
            },
            33: {
                "value_name": "right_forearm_extensors",
                "comment": "Right posterior forearm",
            },
            34: {"value_name": "neck", "comment": ""},
            35: {"value_name": "throat", "comment": ""},
            36: {"value_name": "waist_mid_back", "comment": ""},
            37: {"value_name": "waist_front", "comment": ""},
            38: {"value_name": "waist_left", "comment": ""},
            39: {"value_name": "waist_right", "comment": ""},
        },
    },
    "segment_lap_status": {
        "base_type": "enum",
        "values": {
            0: {"value_name": "end", "comment": ""},
            1: {"value_name": "fail", "comment": ""},
        },
    },
    "segment_leaderboard_type": {
        "base_type": "enum",
        "values": {
            0: {"value_name": "overall", "comment": ""},
            1: {"value_name": "personal_best", "comment": ""},
            2: {"value_name": "connections", "comment": ""},
            3: {"value_name": "group", "comment": ""},
            4: {"value_name": "challenger", "comment": ""},
            5: {"value_name": "kom", "comment": ""},
            6: {"value_name": "qom", "comment": ""},
            7: {"value_name": "pr", "comment": ""},
            8: {"value_name": "goal", "comment": ""},
            9: {"value_name": "rival", "comment": ""},
            10: {"value_name": "club_leader", "comment": ""},
        },
    },
    "segment_delete_status": {
        "base_type": "enum",
        "values": {
            0: {"value_name": "do_not_delete", "comment": ""},
            1: {"value_name": "delete_one", "comment": ""},
            2: {"value_name": "delete_all", "comment": ""},
        },
    },
    "segment_selection_type": {
        "base_type": "enum",
        "values": {
            0: {"value_name": "starred", "comment": ""},
            1: {"value_name": "suggested", "comment": ""},
        },
    },
    "source_type": {
        "base_type": "enum",
        "values": {
            0: {"value_name": "ant", "comment": "External device connected with ANT"},
            1: {
                "value_name": "antplus",
                "comment": "External device connected with ANT+",
            },
            2: {
                "value_name": "bluetooth",
                "comment": "External device connected with BT",
            },
            3: {
                "value_name": "bluetooth_low_energy",
                "comment": "External device connected with BLE",
            },
            4: {"value_name": "wifi", "comment": "External device connected with Wifi"},
            5: {"value_name": "local", "comment": "Onboard device"},
        },
    },
    "local_device_type": {"base_type": "uint8", "values": {}},
    "display_orientation": {
        "base_type": "enum",
        "values": {
            0: {
                "value_name": "auto",
                "comment": "automatic if the device supports " "it",
            },
            1: {"value_name": "portrait", "comment": ""},
            2: {"value_name": "landscape", "comment": ""},
            3: {
                "value_name": "portrait_flipped",
                "comment": "portrait mode but rotated 180 " "degrees",
            },
            4: {
                "value_name": "landscape_flipped",
                "comment": "landscape mode but rotated 180 " "degrees",
            },
        },
    },
    "workout_equipment": {
        "base_type": "enum",
        "values": {
            0: {"value_name": "none", "comment": ""},
            1: {"value_name": "swim_fins", "comment": ""},
            2: {"value_name": "swim_kickboard", "comment": ""},
            3: {"value_name": "swim_paddles", "comment": ""},
            4: {"value_name": "swim_pull_buoy", "comment": ""},
            5: {"value_name": "swim_snorkel", "comment": ""},
        },
    },
    "watchface_mode": {
        "base_type": "enum",
        "values": {
            0: {"value_name": "digital", "comment": ""},
            1: {"value_name": "analog", "comment": ""},
            2: {"value_name": "connect_iq", "comment": ""},
            3: {"value_name": "disabled", "comment": ""},
        },
    },
    "digital_watchface_layout": {
        "base_type": "enum",
        "values": {
            0: {"value_name": "traditional", "comment": ""},
            1: {"value_name": "modern", "comment": ""},
            2: {"value_name": "bold", "comment": ""},
        },
    },
    "analog_watchface_layout": {
        "base_type": "enum",
        "values": {
            0: {"value_name": "minimal", "comment": ""},
            1: {"value_name": "traditional", "comment": ""},
            2: {"value_name": "modern", "comment": ""},
        },
    },
    "rider_position_type": {
        "base_type": "enum",
        "values": {
            0: {"value_name": "seated", "comment": ""},
            1: {"value_name": "standing", "comment": ""},
            2: {"value_name": "transition_to_seated", "comment": ""},
            3: {"value_name": "transition_to_standing", "comment": ""},
        },
    },
    "power_phase_type": {
        "base_type": "enum",
        "values": {
            0: {"value_name": "power_phase_start_angle", "comment": ""},
            1: {"value_name": "power_phase_end_angle", "comment": ""},
            2: {"value_name": "power_phase_arc_length", "comment": ""},
            3: {"value_name": "power_phase_center", "comment": ""},
        },
    },
    "camera_event_type": {
        "base_type": "enum",
        "values": {
            0: {"value_name": "video_start", "comment": "Start of video recording"},
            1: {
                "value_name": "video_split",
                "comment": "Mark of video file split (end of one "
                "file, beginning of the other)",
            },
            2: {"value_name": "video_end", "comment": "End of video recording"},
            3: {"value_name": "photo_taken", "comment": "Still photo taken"},
            4: {"value_name": "video_second_stream_start", "comment": ""},
            5: {"value_name": "video_second_stream_split", "comment": ""},
            6: {"value_name": "video_second_stream_end", "comment": ""},
            7: {
                "value_name": "video_split_start",
                "comment": "Mark of video file split start",
            },
            8: {"value_name": "video_second_stream_split_start", "comment": ""},
            11: {
                "value_name": "video_pause",
                "comment": "Mark when a video recording has " "been paused",
            },
            12: {"value_name": "video_second_stream_pause", "comment": ""},
            13: {
                "value_name": "video_resume",
                "comment": "Mark when a video recording has " "been resumed",
            },
            14: {"value_name": "video_second_stream_resume", "comment": ""},
        },
    },
    "sensor_type": {
        "base_type": "enum",
        "values": {
            0: {"value_name": "accelerometer", "comment": ""},
            1: {"value_name": "gyroscope", "comment": ""},
            2: {"value_name": "compass", "comment": "Magnetometer"},
            3: {"value_name": "barometer", "comment": ""},
        },
    },
    "bike_light_network_config_type": {
        "base_type": "enum",
        "values": {
            0: {"value_name": "auto", "comment": ""},
            4: {"value_name": "individual", "comment": ""},
            5: {"value_name": "high_visibility", "comment": ""},
            6: {"value_name": "trail", "comment": ""},
        },
    },
    "comm_timeout_type": {
        "base_type": "uint16",
        "values": {
            0: {
                "value_name": "wildcard_pairing_timeout",
                "comment": "Timeout pairing to any device",
            },
            1: {
                "value_name": "pairing_timeout",
                "comment": "Timeout pairing to previously paired " "device",
            },
            2: {
                "value_name": "connection_lost",
                "comment": "Temporary loss of communications",
            },
            3: {
                "value_name": "connection_timeout",
                "comment": "Connection closed due to extended " "bad communications",
            },
        },
    },
    "camera_orientation_type": {
        "base_type": "enum",
        "values": {
            0: {"value_name": "camera_orientation_0", "comment": ""},
            1: {"value_name": "camera_orientation_90", "comment": ""},
            2: {"value_name": "camera_orientation_180", "comment": ""},
            3: {"value_name": "camera_orientation_270", "comment": ""},
        },
    },
    "attitude_stage": {
        "base_type": "enum",
        "values": {
            0: {"value_name": "failed", "comment": ""},
            1: {"value_name": "aligning", "comment": ""},
            2: {"value_name": "degraded", "comment": ""},
            3: {"value_name": "valid", "comment": ""},
        },
    },
    "attitude_validity": {
        "base_type": "uint16",
        "values": {
            1: {
                "value_name": "track_angle_heading_valid",
                "comment": "(original value: 0x0001)",
            },
            2: {"value_name": "pitch_valid", "comment": "(original value: 0x0002)"},
            4: {"value_name": "roll_valid", "comment": "(original value: 0x0004)"},
            8: {
                "value_name": "lateral_body_accel_valid",
                "comment": "(original value: 0x0008)",
            },
            16: {
                "value_name": "normal_body_accel_valid",
                "comment": "(original value: 0x0010)",
            },
            32: {
                "value_name": "turn_rate_valid",
                "comment": "(original value: 0x0020)",
            },
            64: {"value_name": "hw_fail", "comment": "(original value: 0x0040)"},
            128: {"value_name": "mag_invalid", "comment": "(original value: 0x0080)"},
            256: {"value_name": "no_gps", "comment": "(original value: 0x0100)"},
            512: {"value_name": "gps_invalid", "comment": "(original value: 0x0200)"},
            1024: {
                "value_name": "solution_coasting",
                "comment": "(original value: 0x0400)",
            },
            2048: {
                "value_name": "true_track_angle",
                "comment": "(original value: 0x0800)",
            },
            4096: {
                "value_name": "magnetic_heading",
                "comment": "(original value: 0x1000)",
            },
        },
    },
    "auto_sync_frequency": {
        "base_type": "enum",
        "values": {
            0: {"value_name": "never", "comment": ""},
            1: {"value_name": "occasionally", "comment": ""},
            2: {"value_name": "frequent", "comment": ""},
            3: {"value_name": "once_a_day", "comment": ""},
            4: {"value_name": "remote", "comment": ""},
        },
    },
    "exd_layout": {
        "base_type": "enum",
        "values": {
            0: {"value_name": "full_screen", "comment": ""},
            1: {"value_name": "half_vertical", "comment": ""},
            2: {"value_name": "half_horizontal", "comment": ""},
            3: {"value_name": "half_vertical_right_split", "comment": ""},
            4: {"value_name": "half_horizontal_bottom_split", "comment": ""},
            5: {"value_name": "full_quarter_split", "comment": ""},
            6: {"value_name": "half_vertical_left_split", "comment": ""},
            7: {"value_name": "half_horizontal_top_split", "comment": ""},
            8: {
                "value_name": "dynamic",
                "comment": "The EXD may display the configured concepts "
                "in any layout it sees fit.",
            },
        },
    },
    "exd_display_type": {
        "base_type": "enum",
        "values": {
            0: {"value_name": "numerical", "comment": ""},
            1: {"value_name": "simple", "comment": ""},
            2: {"value_name": "graph", "comment": ""},
            3: {"value_name": "bar", "comment": ""},
            4: {"value_name": "circle_graph", "comment": ""},
            5: {"value_name": "virtual_partner", "comment": ""},
            6: {"value_name": "balance", "comment": ""},
            7: {"value_name": "string_list", "comment": ""},
            8: {"value_name": "string", "comment": ""},
            9: {"value_name": "simple_dynamic_icon", "comment": ""},
            10: {"value_name": "gauge", "comment": ""},
        },
    },
    "exd_data_units": {
        "base_type": "enum",
        "values": {
            0: {"value_name": "no_units", "comment": ""},
            1: {"value_name": "laps", "comment": ""},
            2: {"value_name": "miles_per_hour", "comment": ""},
            3: {"value_name": "kilometers_per_hour", "comment": ""},
            4: {"value_name": "feet_per_hour", "comment": ""},
            5: {"value_name": "meters_per_hour", "comment": ""},
            6: {"value_name": "degrees_celsius", "comment": ""},
            7: {"value_name": "degrees_farenheit", "comment": ""},
            8: {"value_name": "zone", "comment": ""},
            9: {"value_name": "gear", "comment": ""},
            10: {"value_name": "rpm", "comment": ""},
            11: {"value_name": "bpm", "comment": ""},
            12: {"value_name": "degrees", "comment": ""},
            13: {"value_name": "millimeters", "comment": ""},
            14: {"value_name": "meters", "comment": ""},
            15: {"value_name": "kilometers", "comment": ""},
            16: {"value_name": "feet", "comment": ""},
            17: {"value_name": "yards", "comment": ""},
            18: {"value_name": "kilofeet", "comment": ""},
            19: {"value_name": "miles", "comment": ""},
            20: {"value_name": "time", "comment": ""},
            21: {"value_name": "enum_turn_type", "comment": ""},
            22: {"value_name": "percent", "comment": ""},
            23: {"value_name": "watts", "comment": ""},
            24: {"value_name": "watts_per_kilogram", "comment": ""},
            25: {"value_name": "enum_battery_status", "comment": ""},
            26: {"value_name": "enum_bike_light_beam_angle_mode", "comment": ""},
            27: {"value_name": "enum_bike_light_battery_status", "comment": ""},
            28: {"value_name": "enum_bike_light_network_config_type", "comment": ""},
            29: {"value_name": "lights", "comment": ""},
            30: {"value_name": "seconds", "comment": ""},
            31: {"value_name": "minutes", "comment": ""},
            32: {"value_name": "hours", "comment": ""},
            33: {"value_name": "calories", "comment": ""},
            34: {"value_name": "kilojoules", "comment": ""},
            35: {"value_name": "milliseconds", "comment": ""},
            36: {"value_name": "second_per_mile", "comment": ""},
            37: {"value_name": "second_per_kilometer", "comment": ""},
            38: {"value_name": "centimeter", "comment": ""},
            39: {"value_name": "enum_course_point", "comment": ""},
            40: {"value_name": "bradians", "comment": ""},
            41: {"value_name": "enum_sport", "comment": ""},
            42: {"value_name": "inches_hg", "comment": ""},
            43: {"value_name": "mm_hg", "comment": ""},
            44: {"value_name": "mbars", "comment": ""},
            45: {"value_name": "hecto_pascals", "comment": ""},
            46: {"value_name": "feet_per_min", "comment": ""},
            47: {"value_name": "meters_per_min", "comment": ""},
            48: {"value_name": "meters_per_sec", "comment": ""},
            49: {"value_name": "eight_cardinal", "comment": ""},
        },
    },
    "exd_qualifiers": {
        "base_type": "enum",
        "values": {
            0: {"value_name": "no_qualifier", "comment": ""},
            1: {"value_name": "instantaneous", "comment": ""},
            2: {"value_name": "average", "comment": ""},
            3: {"value_name": "lap", "comment": ""},
            4: {"value_name": "maximum", "comment": ""},
            5: {"value_name": "maximum_average", "comment": ""},
            6: {"value_name": "maximum_lap", "comment": ""},
            7: {"value_name": "last_lap", "comment": ""},
            8: {"value_name": "average_lap", "comment": ""},
            9: {"value_name": "to_destination", "comment": ""},
            10: {"value_name": "to_go", "comment": ""},
            11: {"value_name": "to_next", "comment": ""},
            12: {"value_name": "next_course_point", "comment": ""},
            13: {"value_name": "total", "comment": ""},
            14: {"value_name": "three_second_average", "comment": ""},
            15: {"value_name": "ten_second_average", "comment": ""},
            16: {"value_name": "thirty_second_average", "comment": ""},
            17: {"value_name": "percent_maximum", "comment": ""},
            18: {"value_name": "percent_maximum_average", "comment": ""},
            19: {"value_name": "lap_percent_maximum", "comment": ""},
            20: {"value_name": "elapsed", "comment": ""},
            21: {"value_name": "sunrise", "comment": ""},
            22: {"value_name": "sunset", "comment": ""},
            23: {"value_name": "compared_to_virtual_partner", "comment": ""},
            24: {"value_name": "maximum_24h", "comment": ""},
            25: {"value_name": "minimum_24h", "comment": ""},
            26: {"value_name": "minimum", "comment": ""},
            27: {"value_name": "first", "comment": ""},
            28: {"value_name": "second", "comment": ""},
            29: {"value_name": "third", "comment": ""},
            30: {"value_name": "shifter", "comment": ""},
            31: {"value_name": "last_sport", "comment": ""},
            32: {"value_name": "moving", "comment": ""},
            33: {"value_name": "stopped", "comment": ""},
            34: {"value_name": "estimated_total", "comment": ""},
            242: {"value_name": "zone_9", "comment": ""},
            243: {"value_name": "zone_8", "comment": ""},
            244: {"value_name": "zone_7", "comment": ""},
            245: {"value_name": "zone_6", "comment": ""},
            246: {"value_name": "zone_5", "comment": ""},
            247: {"value_name": "zone_4", "comment": ""},
            248: {"value_name": "zone_3", "comment": ""},
            249: {"value_name": "zone_2", "comment": ""},
            250: {"value_name": "zone_1", "comment": ""},
        },
    },
    "exd_descriptors": {
        "base_type": "enum",
        "values": {
            0: {"value_name": "bike_light_battery_status", "comment": ""},
            1: {"value_name": "beam_angle_status", "comment": ""},
            2: {"value_name": "batery_level", "comment": ""},
            3: {"value_name": "light_network_mode", "comment": ""},
            4: {"value_name": "number_lights_connected", "comment": ""},
            5: {"value_name": "cadence", "comment": ""},
            6: {"value_name": "distance", "comment": ""},
            7: {"value_name": "estimated_time_of_arrival", "comment": ""},
            8: {"value_name": "heading", "comment": ""},
            9: {"value_name": "time", "comment": ""},
            10: {"value_name": "battery_level", "comment": ""},
            11: {"value_name": "trainer_resistance", "comment": ""},
            12: {"value_name": "trainer_target_power", "comment": ""},
            13: {"value_name": "time_seated", "comment": ""},
            14: {"value_name": "time_standing", "comment": ""},
            15: {"value_name": "elevation", "comment": ""},
            16: {"value_name": "grade", "comment": ""},
            17: {"value_name": "ascent", "comment": ""},
            18: {"value_name": "descent", "comment": ""},
            19: {"value_name": "vertical_speed", "comment": ""},
            20: {"value_name": "di2_battery_level", "comment": ""},
            21: {"value_name": "front_gear", "comment": ""},
            22: {"value_name": "rear_gear", "comment": ""},
            23: {"value_name": "gear_ratio", "comment": ""},
            24: {"value_name": "heart_rate", "comment": ""},
            25: {"value_name": "heart_rate_zone", "comment": ""},
            26: {"value_name": "time_in_heart_rate_zone", "comment": ""},
            27: {"value_name": "heart_rate_reserve", "comment": ""},
            28: {"value_name": "calories", "comment": ""},
            29: {"value_name": "gps_accuracy", "comment": ""},
            30: {"value_name": "gps_signal_strength", "comment": ""},
            31: {"value_name": "temperature", "comment": ""},
            32: {"value_name": "time_of_day", "comment": ""},
            33: {"value_name": "balance", "comment": ""},
            34: {"value_name": "pedal_smoothness", "comment": ""},
            35: {"value_name": "power", "comment": ""},
            36: {"value_name": "functional_threshold_power", "comment": ""},
            37: {"value_name": "intensity_factor", "comment": ""},
            38: {"value_name": "work", "comment": ""},
            39: {"value_name": "power_ratio", "comment": ""},
            40: {"value_name": "normalized_power", "comment": ""},
            41: {"value_name": "training_stress_Score", "comment": ""},
            42: {"value_name": "time_on_zone", "comment": ""},
            43: {"value_name": "speed", "comment": ""},
            44: {"value_name": "laps", "comment": ""},
            45: {"value_name": "reps", "comment": ""},
            46: {"value_name": "workout_step", "comment": ""},
            47: {"value_name": "course_distance", "comment": ""},
            48: {"value_name": "navigation_distance", "comment": ""},
            49: {"value_name": "course_estimated_time_of_arrival", "comment": ""},
            50: {"value_name": "navigation_estimated_time_of_arrival", "comment": ""},
            51: {"value_name": "course_time", "comment": ""},
            52: {"value_name": "navigation_time", "comment": ""},
            53: {"value_name": "course_heading", "comment": ""},
            54: {"value_name": "navigation_heading", "comment": ""},
            55: {"value_name": "power_zone", "comment": ""},
            56: {"value_name": "torque_effectiveness", "comment": ""},
            57: {"value_name": "timer_time", "comment": ""},
            58: {"value_name": "power_weight_ratio", "comment": ""},
            59: {"value_name": "left_platform_center_offset", "comment": ""},
            60: {"value_name": "right_platform_center_offset", "comment": ""},
            61: {"value_name": "left_power_phase_start_angle", "comment": ""},
            62: {"value_name": "right_power_phase_start_angle", "comment": ""},
            63: {"value_name": "left_power_phase_finish_angle", "comment": ""},
            64: {"value_name": "right_power_phase_finish_angle", "comment": ""},
            65: {"value_name": "gears", "comment": "Combined gear information"},
            66: {"value_name": "pace", "comment": ""},
            67: {"value_name": "training_effect", "comment": ""},
            68: {"value_name": "vertical_oscillation", "comment": ""},
            69: {"value_name": "vertical_ratio", "comment": ""},
            70: {"value_name": "ground_contact_time", "comment": ""},
            71: {"value_name": "left_ground_contact_time_balance", "comment": ""},
            72: {"value_name": "right_ground_contact_time_balance", "comment": ""},
            73: {"value_name": "stride_length", "comment": ""},
            74: {"value_name": "running_cadence", "comment": ""},
            75: {"value_name": "performance_condition", "comment": ""},
            76: {"value_name": "course_type", "comment": ""},
            77: {"value_name": "time_in_power_zone", "comment": ""},
            78: {"value_name": "navigation_turn", "comment": ""},
            79: {"value_name": "course_location", "comment": ""},
            80: {"value_name": "navigation_location", "comment": ""},
            81: {"value_name": "compass", "comment": ""},
            82: {"value_name": "gear_combo", "comment": ""},
            83: {"value_name": "muscle_oxygen", "comment": ""},
            84: {"value_name": "icon", "comment": ""},
            85: {"value_name": "compass_heading", "comment": ""},
            86: {"value_name": "gps_heading", "comment": ""},
            87: {"value_name": "gps_elevation", "comment": ""},
            88: {"value_name": "anaerobic_training_effect", "comment": ""},
            89: {"value_name": "course", "comment": ""},
            90: {"value_name": "off_course", "comment": ""},
            91: {"value_name": "glide_ratio", "comment": ""},
            92: {"value_name": "vertical_distance", "comment": ""},
            93: {"value_name": "vmg", "comment": ""},
            94: {"value_name": "ambient_pressure", "comment": ""},
            95: {"value_name": "pressure", "comment": ""},
            96: {"value_name": "vam", "comment": ""},
        },
    },
    "auto_activity_detect": {
        "base_type": "uint32",
        "values": {
            0: {"value_name": "none", "comment": "(original value: 0x00000000)"},
            1: {"value_name": "running", "comment": "(original value: 0x00000001)"},
            2: {"value_name": "cycling", "comment": "(original value: 0x00000002)"},
            4: {"value_name": "swimming", "comment": "(original value: 0x00000004)"},
            8: {"value_name": "walking", "comment": "(original value: 0x00000008)"},
            32: {"value_name": "elliptical", "comment": "(original value: 0x00000020)"},
            1024: {
                "value_name": "sedentary",
                "comment": "(original value: " "0x00000400)",
            },
        },
    },
    "supported_exd_screen_layouts": {
        "base_type": "uint32z",
        "values": {
            1: {
                "value_name": "full_screen",
                "comment": "(original value: " "0x00000001)",
            },
            2: {
                "value_name": "half_vertical",
                "comment": "(original value: " "0x00000002)",
            },
            4: {
                "value_name": "half_horizontal",
                "comment": "(original value: " "0x00000004)",
            },
            8: {
                "value_name": "half_vertical_right_split",
                "comment": "(original value: " "0x00000008)",
            },
            16: {
                "value_name": "half_horizontal_bottom_split",
                "comment": "(original value: " "0x00000010)",
            },
            32: {
                "value_name": "full_quarter_split",
                "comment": "(original value: " "0x00000020)",
            },
            64: {
                "value_name": "half_vertical_left_split",
                "comment": "(original value: " "0x00000040)",
            },
            128: {
                "value_name": "half_horizontal_top_split",
                "comment": "(original value: " "0x00000080)",
            },
        },
    },
    "fit_base_type": {
        "base_type": "uint8",
        "values": {
            0: {"value_name": "enum", "comment": ""},
            1: {"value_name": "sint8", "comment": ""},
            2: {"value_name": "uint8", "comment": ""},
            131: {"value_name": "sint16", "comment": ""},
            132: {"value_name": "uint16", "comment": ""},
            133: {"value_name": "sint32", "comment": ""},
            134: {"value_name": "uint32", "comment": ""},
            7: {"value_name": "string", "comment": ""},
            136: {"value_name": "float32", "comment": ""},
            137: {"value_name": "float64", "comment": ""},
            10: {"value_name": "uint8z", "comment": ""},
            139: {"value_name": "uint16z", "comment": ""},
            140: {"value_name": "uint32z", "comment": ""},
            13: {"value_name": "byte", "comment": ""},
            142: {"value_name": "sint64", "comment": ""},
            143: {"value_name": "uint64", "comment": ""},
            144: {"value_name": "uint64z", "comment": ""},
        },
    },
    "turn_type": {
        "base_type": "enum",
        "values": {
            0: {"value_name": "arriving_idx", "comment": ""},
            1: {"value_name": "arriving_left_idx", "comment": ""},
            2: {"value_name": "arriving_right_idx", "comment": ""},
            3: {"value_name": "arriving_via_idx", "comment": ""},
            4: {"value_name": "arriving_via_left_idx", "comment": ""},
            5: {"value_name": "arriving_via_right_idx", "comment": ""},
            6: {"value_name": "bear_keep_left_idx", "comment": ""},
            7: {"value_name": "bear_keep_right_idx", "comment": ""},
            8: {"value_name": "continue_idx", "comment": ""},
            9: {"value_name": "exit_left_idx", "comment": ""},
            10: {"value_name": "exit_right_idx", "comment": ""},
            11: {"value_name": "ferry_idx", "comment": ""},
            12: {"value_name": "roundabout_45_idx", "comment": ""},
            13: {"value_name": "roundabout_90_idx", "comment": ""},
            14: {"value_name": "roundabout_135_idx", "comment": ""},
            15: {"value_name": "roundabout_180_idx", "comment": ""},
            16: {"value_name": "roundabout_225_idx", "comment": ""},
            17: {"value_name": "roundabout_270_idx", "comment": ""},
            18: {"value_name": "roundabout_315_idx", "comment": ""},
            19: {"value_name": "roundabout_360_idx", "comment": ""},
            20: {"value_name": "roundabout_neg_45_idx", "comment": ""},
            21: {"value_name": "roundabout_neg_90_idx", "comment": ""},
            22: {"value_name": "roundabout_neg_135_idx", "comment": ""},
            23: {"value_name": "roundabout_neg_180_idx", "comment": ""},
            24: {"value_name": "roundabout_neg_225_idx", "comment": ""},
            25: {"value_name": "roundabout_neg_270_idx", "comment": ""},
            26: {"value_name": "roundabout_neg_315_idx", "comment": ""},
            27: {"value_name": "roundabout_neg_360_idx", "comment": ""},
            28: {"value_name": "roundabout_generic_idx", "comment": ""},
            29: {"value_name": "roundabout_neg_generic_idx", "comment": ""},
            30: {"value_name": "sharp_turn_left_idx", "comment": ""},
            31: {"value_name": "sharp_turn_right_idx", "comment": ""},
            32: {"value_name": "turn_left_idx", "comment": ""},
            33: {"value_name": "turn_right_idx", "comment": ""},
            34: {"value_name": "uturn_left_idx", "comment": ""},
            35: {"value_name": "uturn_right_idx", "comment": ""},
            36: {"value_name": "icon_inv_idx", "comment": ""},
            37: {"value_name": "icon_idx_cnt", "comment": ""},
        },
    },
    "bike_light_beam_angle_mode": {
        "base_type": "uint8",
        "values": {
            0: {"value_name": "manual", "comment": ""},
            1: {"value_name": "auto", "comment": ""},
        },
    },
    "fit_base_unit": {
        "base_type": "uint16",
        "values": {
            0: {"value_name": "other", "comment": ""},
            1: {"value_name": "kilogram", "comment": ""},
            2: {"value_name": "pound", "comment": ""},
        },
    },
    "set_type": {
        "base_type": "uint8",
        "values": {
            0: {"value_name": "rest", "comment": ""},
            1: {"value_name": "active", "comment": ""},
        },
    },
    "exercise_category": {
        "base_type": "uint16",
        "values": {
            0: {"value_name": "bench_press", "comment": ""},
            1: {"value_name": "calf_raise", "comment": ""},
            2: {"value_name": "cardio", "comment": ""},
            3: {"value_name": "carry", "comment": ""},
            4: {"value_name": "chop", "comment": ""},
            5: {"value_name": "core", "comment": ""},
            6: {"value_name": "crunch", "comment": ""},
            7: {"value_name": "curl", "comment": ""},
            8: {"value_name": "deadlift", "comment": ""},
            9: {"value_name": "flye", "comment": ""},
            10: {"value_name": "hip_raise", "comment": ""},
            11: {"value_name": "hip_stability", "comment": ""},
            12: {"value_name": "hip_swing", "comment": ""},
            13: {"value_name": "hyperextension", "comment": ""},
            14: {"value_name": "lateral_raise", "comment": ""},
            15: {"value_name": "leg_curl", "comment": ""},
            16: {"value_name": "leg_raise", "comment": ""},
            17: {"value_name": "lunge", "comment": ""},
            18: {"value_name": "olympic_lift", "comment": ""},
            19: {"value_name": "plank", "comment": ""},
            20: {"value_name": "plyo", "comment": ""},
            21: {"value_name": "pull_up", "comment": ""},
            22: {"value_name": "push_up", "comment": ""},
            23: {"value_name": "row", "comment": ""},
            24: {"value_name": "shoulder_press", "comment": ""},
            25: {"value_name": "shoulder_stability", "comment": ""},
            26: {"value_name": "shrug", "comment": ""},
            27: {"value_name": "sit_up", "comment": ""},
            28: {"value_name": "squat", "comment": ""},
            29: {"value_name": "total_body", "comment": ""},
            30: {"value_name": "triceps_extension", "comment": ""},
            31: {"value_name": "warm_up", "comment": ""},
            32: {"value_name": "run", "comment": ""},
            65534: {"value_name": "unknown", "comment": ""},
        },
    },
    "bench_press_exercise_name": {
        "base_type": "uint16",
        "values": {
            0: {
                "value_name": "alternating_dumbbell_chest_press_on_swiss_ball",
                "comment": "",
            },
            1: {"value_name": "barbell_bench_press", "comment": ""},
            2: {"value_name": "barbell_board_bench_press", "comment": ""},
            3: {"value_name": "barbell_floor_press", "comment": ""},
            4: {"value_name": "close_grip_barbell_bench_press", "comment": ""},
            5: {"value_name": "decline_dumbbell_bench_press", "comment": ""},
            6: {"value_name": "dumbbell_bench_press", "comment": ""},
            7: {"value_name": "dumbbell_floor_press", "comment": ""},
            8: {"value_name": "incline_barbell_bench_press", "comment": ""},
            9: {"value_name": "incline_dumbbell_bench_press", "comment": ""},
            10: {"value_name": "incline_smith_machine_bench_press", "comment": ""},
            11: {"value_name": "isometric_barbell_bench_press", "comment": ""},
            12: {"value_name": "kettlebell_chest_press", "comment": ""},
            13: {"value_name": "neutral_grip_dumbbell_bench_press", "comment": ""},
            14: {
                "value_name": "neutral_grip_dumbbell_incline_bench_press",
                "comment": "",
            },
            15: {"value_name": "one_arm_floor_press", "comment": ""},
            16: {"value_name": "weighted_one_arm_floor_press", "comment": ""},
            17: {"value_name": "partial_lockout", "comment": ""},
            18: {"value_name": "reverse_grip_barbell_bench_press", "comment": ""},
            19: {"value_name": "reverse_grip_incline_bench_press", "comment": ""},
            20: {"value_name": "single_arm_cable_chest_press", "comment": ""},
            21: {"value_name": "single_arm_dumbbell_bench_press", "comment": ""},
            22: {"value_name": "smith_machine_bench_press", "comment": ""},
            23: {"value_name": "swiss_ball_dumbbell_chest_press", "comment": ""},
            24: {"value_name": "triple_stop_barbell_bench_press", "comment": ""},
            25: {"value_name": "wide_grip_barbell_bench_press", "comment": ""},
            26: {"value_name": "alternating_dumbbell_chest_press", "comment": ""},
        },
    },
    "calf_raise_exercise_name": {
        "base_type": "uint16",
        "values": {
            0: {"value_name": "3_way_calf_raise", "comment": ""},
            1: {"value_name": "3_way_weighted_calf_raise", "comment": ""},
            2: {"value_name": "3_way_single_leg_calf_raise", "comment": ""},
            3: {"value_name": "3_way_weighted_single_leg_calf_raise", "comment": ""},
            4: {"value_name": "donkey_calf_raise", "comment": ""},
            5: {"value_name": "weighted_donkey_calf_raise", "comment": ""},
            6: {"value_name": "seated_calf_raise", "comment": ""},
            7: {"value_name": "weighted_seated_calf_raise", "comment": ""},
            8: {"value_name": "seated_dumbbell_toe_raise", "comment": ""},
            9: {"value_name": "single_leg_bent_knee_calf_raise", "comment": ""},
            10: {
                "value_name": "weighted_single_leg_bent_knee_calf_raise",
                "comment": "",
            },
            11: {"value_name": "single_leg_decline_push_up", "comment": ""},
            12: {"value_name": "single_leg_donkey_calf_raise", "comment": ""},
            13: {"value_name": "weighted_single_leg_donkey_calf_raise", "comment": ""},
            14: {"value_name": "single_leg_hip_raise_with_knee_hold", "comment": ""},
            15: {"value_name": "single_leg_standing_calf_raise", "comment": ""},
            16: {
                "value_name": "single_leg_standing_dumbbell_calf_raise",
                "comment": "",
            },
            17: {"value_name": "standing_barbell_calf_raise", "comment": ""},
            18: {"value_name": "standing_calf_raise", "comment": ""},
            19: {"value_name": "weighted_standing_calf_raise", "comment": ""},
            20: {"value_name": "standing_dumbbell_calf_raise", "comment": ""},
        },
    },
    "cardio_exercise_name": {
        "base_type": "uint16",
        "values": {
            0: {"value_name": "bob_and_weave_circle", "comment": ""},
            1: {"value_name": "weighted_bob_and_weave_circle", "comment": ""},
            2: {"value_name": "cardio_core_crawl", "comment": ""},
            3: {"value_name": "weighted_cardio_core_crawl", "comment": ""},
            4: {"value_name": "double_under", "comment": ""},
            5: {"value_name": "weighted_double_under", "comment": ""},
            6: {"value_name": "jump_rope", "comment": ""},
            7: {"value_name": "weighted_jump_rope", "comment": ""},
            8: {"value_name": "jump_rope_crossover", "comment": ""},
            9: {"value_name": "weighted_jump_rope_crossover", "comment": ""},
            10: {"value_name": "jump_rope_jog", "comment": ""},
            11: {"value_name": "weighted_jump_rope_jog", "comment": ""},
            12: {"value_name": "jumping_jacks", "comment": ""},
            13: {"value_name": "weighted_jumping_jacks", "comment": ""},
            14: {"value_name": "ski_moguls", "comment": ""},
            15: {"value_name": "weighted_ski_moguls", "comment": ""},
            16: {"value_name": "split_jacks", "comment": ""},
            17: {"value_name": "weighted_split_jacks", "comment": ""},
            18: {"value_name": "squat_jacks", "comment": ""},
            19: {"value_name": "weighted_squat_jacks", "comment": ""},
            20: {"value_name": "triple_under", "comment": ""},
            21: {"value_name": "weighted_triple_under", "comment": ""},
        },
    },
    "carry_exercise_name": {
        "base_type": "uint16",
        "values": {
            0: {"value_name": "bar_holds", "comment": ""},
            1: {"value_name": "farmers_walk", "comment": ""},
            2: {"value_name": "farmers_walk_on_toes", "comment": ""},
            3: {"value_name": "hex_dumbbell_hold", "comment": ""},
            4: {"value_name": "overhead_carry", "comment": ""},
        },
    },
    "chop_exercise_name": {
        "base_type": "uint16",
        "values": {
            0: {"value_name": "cable_pull_through", "comment": ""},
            1: {"value_name": "cable_rotational_lift", "comment": ""},
            2: {"value_name": "cable_woodchop", "comment": ""},
            3: {"value_name": "cross_chop_to_knee", "comment": ""},
            4: {"value_name": "weighted_cross_chop_to_knee", "comment": ""},
            5: {"value_name": "dumbbell_chop", "comment": ""},
            6: {"value_name": "half_kneeling_rotation", "comment": ""},
            7: {"value_name": "weighted_half_kneeling_rotation", "comment": ""},
            8: {"value_name": "half_kneeling_rotational_chop", "comment": ""},
            9: {"value_name": "half_kneeling_rotational_reverse_chop", "comment": ""},
            10: {"value_name": "half_kneeling_stability_chop", "comment": ""},
            11: {"value_name": "half_kneeling_stability_reverse_chop", "comment": ""},
            12: {"value_name": "kneeling_rotational_chop", "comment": ""},
            13: {"value_name": "kneeling_rotational_reverse_chop", "comment": ""},
            14: {"value_name": "kneeling_stability_chop", "comment": ""},
            15: {"value_name": "kneeling_woodchopper", "comment": ""},
            16: {"value_name": "medicine_ball_wood_chops", "comment": ""},
            17: {"value_name": "power_squat_chops", "comment": ""},
            18: {"value_name": "weighted_power_squat_chops", "comment": ""},
            19: {"value_name": "standing_rotational_chop", "comment": ""},
            20: {"value_name": "standing_split_rotational_chop", "comment": ""},
            21: {"value_name": "standing_split_rotational_reverse_chop", "comment": ""},
            22: {"value_name": "standing_stability_reverse_chop", "comment": ""},
        },
    },
    "core_exercise_name": {
        "base_type": "uint16",
        "values": {
            0: {"value_name": "abs_jabs", "comment": ""},
            1: {"value_name": "weighted_abs_jabs", "comment": ""},
            2: {"value_name": "alternating_plate_reach", "comment": ""},
            3: {"value_name": "barbell_rollout", "comment": ""},
            4: {"value_name": "weighted_barbell_rollout", "comment": ""},
            5: {"value_name": "body_bar_oblique_twist", "comment": ""},
            6: {"value_name": "cable_core_press", "comment": ""},
            7: {"value_name": "cable_side_bend", "comment": ""},
            8: {"value_name": "side_bend", "comment": ""},
            9: {"value_name": "weighted_side_bend", "comment": ""},
            10: {"value_name": "crescent_circle", "comment": ""},
            11: {"value_name": "weighted_crescent_circle", "comment": ""},
            12: {"value_name": "cycling_russian_twist", "comment": ""},
            13: {"value_name": "weighted_cycling_russian_twist", "comment": ""},
            14: {"value_name": "elevated_feet_russian_twist", "comment": ""},
            15: {"value_name": "weighted_elevated_feet_russian_twist", "comment": ""},
            16: {"value_name": "half_turkish_get_up", "comment": ""},
            17: {"value_name": "kettlebell_windmill", "comment": ""},
            18: {"value_name": "kneeling_ab_wheel", "comment": ""},
            19: {"value_name": "weighted_kneeling_ab_wheel", "comment": ""},
            20: {"value_name": "modified_front_lever", "comment": ""},
            21: {"value_name": "open_knee_tucks", "comment": ""},
            22: {"value_name": "weighted_open_knee_tucks", "comment": ""},
            23: {"value_name": "side_abs_leg_lift", "comment": ""},
            24: {"value_name": "weighted_side_abs_leg_lift", "comment": ""},
            25: {"value_name": "swiss_ball_jackknife", "comment": ""},
            26: {"value_name": "weighted_swiss_ball_jackknife", "comment": ""},
            27: {"value_name": "swiss_ball_pike", "comment": ""},
            28: {"value_name": "weighted_swiss_ball_pike", "comment": ""},
            29: {"value_name": "swiss_ball_rollout", "comment": ""},
            30: {"value_name": "weighted_swiss_ball_rollout", "comment": ""},
            31: {"value_name": "triangle_hip_press", "comment": ""},
            32: {"value_name": "weighted_triangle_hip_press", "comment": ""},
            33: {"value_name": "trx_suspended_jackknife", "comment": ""},
            34: {"value_name": "weighted_trx_suspended_jackknife", "comment": ""},
            35: {"value_name": "u_boat", "comment": ""},
            36: {"value_name": "weighted_u_boat", "comment": ""},
            37: {"value_name": "windmill_switches", "comment": ""},
            38: {"value_name": "weighted_windmill_switches", "comment": ""},
            39: {"value_name": "alternating_slide_out", "comment": ""},
            40: {"value_name": "weighted_alternating_slide_out", "comment": ""},
            41: {"value_name": "ghd_back_extensions", "comment": ""},
            42: {"value_name": "weighted_ghd_back_extensions", "comment": ""},
            43: {"value_name": "overhead_walk", "comment": ""},
            44: {"value_name": "inchworm", "comment": ""},
            45: {"value_name": "weighted_modified_front_lever", "comment": ""},
            46: {"value_name": "russian_twist", "comment": ""},
            47: {
                "value_name": "abdominal_leg_rotations",
                "comment": "Deprecated do not use",
            },
            48: {"value_name": "arm_and_leg_extension_on_knees", "comment": ""},
            49: {"value_name": "bicycle", "comment": ""},
            50: {"value_name": "bicep_curl_with_leg_extension", "comment": ""},
            51: {"value_name": "cat_cow", "comment": ""},
            52: {"value_name": "corkscrew", "comment": ""},
            53: {"value_name": "criss_cross", "comment": ""},
            54: {
                "value_name": "criss_cross_with_ball",
                "comment": "Deprecated do not use",
            },
            55: {"value_name": "double_leg_stretch", "comment": ""},
            56: {"value_name": "knee_folds", "comment": ""},
            57: {"value_name": "lower_lift", "comment": ""},
            58: {"value_name": "neck_pull", "comment": ""},
            59: {"value_name": "pelvic_clocks", "comment": ""},
            60: {"value_name": "roll_over", "comment": ""},
            61: {"value_name": "roll_up", "comment": ""},
            62: {"value_name": "rolling", "comment": ""},
            63: {"value_name": "rowing_1", "comment": ""},
            64: {"value_name": "rowing_2", "comment": ""},
            65: {"value_name": "scissors", "comment": ""},
            66: {"value_name": "single_leg_circles", "comment": ""},
            67: {"value_name": "single_leg_stretch", "comment": ""},
            68: {
                "value_name": "snake_twist_1_and_2",
                "comment": "Deprecated do not use",
            },
            69: {"value_name": "swan", "comment": ""},
            70: {"value_name": "swimming", "comment": ""},
            71: {"value_name": "teaser", "comment": ""},
            72: {"value_name": "the_hundred", "comment": ""},
        },
    },
    "crunch_exercise_name": {
        "base_type": "uint16",
        "values": {
            0: {"value_name": "bicycle_crunch", "comment": ""},
            1: {"value_name": "cable_crunch", "comment": ""},
            2: {"value_name": "circular_arm_crunch", "comment": ""},
            3: {"value_name": "crossed_arms_crunch", "comment": ""},
            4: {"value_name": "weighted_crossed_arms_crunch", "comment": ""},
            5: {"value_name": "cross_leg_reverse_crunch", "comment": ""},
            6: {"value_name": "weighted_cross_leg_reverse_crunch", "comment": ""},
            7: {"value_name": "crunch_chop", "comment": ""},
            8: {"value_name": "weighted_crunch_chop", "comment": ""},
            9: {"value_name": "double_crunch", "comment": ""},
            10: {"value_name": "weighted_double_crunch", "comment": ""},
            11: {"value_name": "elbow_to_knee_crunch", "comment": ""},
            12: {"value_name": "weighted_elbow_to_knee_crunch", "comment": ""},
            13: {"value_name": "flutter_kicks", "comment": ""},
            14: {"value_name": "weighted_flutter_kicks", "comment": ""},
            15: {"value_name": "foam_roller_reverse_crunch_on_bench", "comment": ""},
            16: {
                "value_name": "weighted_foam_roller_reverse_crunch_on_bench",
                "comment": "",
            },
            17: {
                "value_name": "foam_roller_reverse_crunch_with_dumbbell",
                "comment": "",
            },
            18: {
                "value_name": "foam_roller_reverse_crunch_with_medicine_ball",
                "comment": "",
            },
            19: {"value_name": "frog_press", "comment": ""},
            20: {"value_name": "hanging_knee_raise_oblique_crunch", "comment": ""},
            21: {
                "value_name": "weighted_hanging_knee_raise_oblique_crunch",
                "comment": "",
            },
            22: {"value_name": "hip_crossover", "comment": ""},
            23: {"value_name": "weighted_hip_crossover", "comment": ""},
            24: {"value_name": "hollow_rock", "comment": ""},
            25: {"value_name": "weighted_hollow_rock", "comment": ""},
            26: {"value_name": "incline_reverse_crunch", "comment": ""},
            27: {"value_name": "weighted_incline_reverse_crunch", "comment": ""},
            28: {"value_name": "kneeling_cable_crunch", "comment": ""},
            29: {"value_name": "kneeling_cross_crunch", "comment": ""},
            30: {"value_name": "weighted_kneeling_cross_crunch", "comment": ""},
            31: {"value_name": "kneeling_oblique_cable_crunch", "comment": ""},
            32: {"value_name": "knees_to_elbow", "comment": ""},
            33: {"value_name": "leg_extensions", "comment": ""},
            34: {"value_name": "weighted_leg_extensions", "comment": ""},
            35: {"value_name": "leg_levers", "comment": ""},
            36: {"value_name": "mcgill_curl_up", "comment": ""},
            37: {"value_name": "weighted_mcgill_curl_up", "comment": ""},
            38: {"value_name": "modified_pilates_roll_up_with_ball", "comment": ""},
            39: {
                "value_name": "weighted_modified_pilates_roll_up_with_ball",
                "comment": "",
            },
            40: {"value_name": "pilates_crunch", "comment": ""},
            41: {"value_name": "weighted_pilates_crunch", "comment": ""},
            42: {"value_name": "pilates_roll_up_with_ball", "comment": ""},
            43: {"value_name": "weighted_pilates_roll_up_with_ball", "comment": ""},
            44: {"value_name": "raised_legs_crunch", "comment": ""},
            45: {"value_name": "weighted_raised_legs_crunch", "comment": ""},
            46: {"value_name": "reverse_crunch", "comment": ""},
            47: {"value_name": "weighted_reverse_crunch", "comment": ""},
            48: {"value_name": "reverse_crunch_on_a_bench", "comment": ""},
            49: {"value_name": "weighted_reverse_crunch_on_a_bench", "comment": ""},
            50: {"value_name": "reverse_curl_and_lift", "comment": ""},
            51: {"value_name": "weighted_reverse_curl_and_lift", "comment": ""},
            52: {"value_name": "rotational_lift", "comment": ""},
            53: {"value_name": "weighted_rotational_lift", "comment": ""},
            54: {"value_name": "seated_alternating_reverse_crunch", "comment": ""},
            55: {
                "value_name": "weighted_seated_alternating_reverse_crunch",
                "comment": "",
            },
            56: {"value_name": "seated_leg_u", "comment": ""},
            57: {"value_name": "weighted_seated_leg_u", "comment": ""},
            58: {"value_name": "side_to_side_crunch_and_weave", "comment": ""},
            59: {"value_name": "weighted_side_to_side_crunch_and_weave", "comment": ""},
            60: {"value_name": "single_leg_reverse_crunch", "comment": ""},
            61: {"value_name": "weighted_single_leg_reverse_crunch", "comment": ""},
            62: {"value_name": "skater_crunch_cross", "comment": ""},
            63: {"value_name": "weighted_skater_crunch_cross", "comment": ""},
            64: {"value_name": "standing_cable_crunch", "comment": ""},
            65: {"value_name": "standing_side_crunch", "comment": ""},
            66: {"value_name": "step_climb", "comment": ""},
            67: {"value_name": "weighted_step_climb", "comment": ""},
            68: {"value_name": "swiss_ball_crunch", "comment": ""},
            69: {"value_name": "swiss_ball_reverse_crunch", "comment": ""},
            70: {"value_name": "weighted_swiss_ball_reverse_crunch", "comment": ""},
            71: {"value_name": "swiss_ball_russian_twist", "comment": ""},
            72: {"value_name": "weighted_swiss_ball_russian_twist", "comment": ""},
            73: {"value_name": "swiss_ball_side_crunch", "comment": ""},
            74: {"value_name": "weighted_swiss_ball_side_crunch", "comment": ""},
            75: {"value_name": "thoracic_crunches_on_foam_roller", "comment": ""},
            76: {
                "value_name": "weighted_thoracic_crunches_on_foam_roller",
                "comment": "",
            },
            77: {"value_name": "triceps_crunch", "comment": ""},
            78: {"value_name": "weighted_bicycle_crunch", "comment": ""},
            79: {"value_name": "weighted_crunch", "comment": ""},
            80: {"value_name": "weighted_swiss_ball_crunch", "comment": ""},
            81: {"value_name": "toes_to_bar", "comment": ""},
            82: {"value_name": "weighted_toes_to_bar", "comment": ""},
            83: {"value_name": "crunch", "comment": ""},
            84: {"value_name": "straight_leg_crunch_with_ball", "comment": ""},
        },
    },
    "curl_exercise_name": {
        "base_type": "uint16",
        "values": {
            0: {"value_name": "alternating_dumbbell_biceps_curl", "comment": ""},
            1: {
                "value_name": "alternating_dumbbell_biceps_curl_on_swiss_ball",
                "comment": "",
            },
            2: {
                "value_name": "alternating_incline_dumbbell_biceps_curl",
                "comment": "",
            },
            3: {"value_name": "barbell_biceps_curl", "comment": ""},
            4: {"value_name": "barbell_reverse_wrist_curl", "comment": ""},
            5: {"value_name": "barbell_wrist_curl", "comment": ""},
            6: {
                "value_name": "behind_the_back_barbell_reverse_wrist_curl",
                "comment": "",
            },
            7: {"value_name": "behind_the_back_one_arm_cable_curl", "comment": ""},
            8: {"value_name": "cable_biceps_curl", "comment": ""},
            9: {"value_name": "cable_hammer_curl", "comment": ""},
            10: {"value_name": "cheating_barbell_biceps_curl", "comment": ""},
            11: {"value_name": "close_grip_ez_bar_biceps_curl", "comment": ""},
            12: {"value_name": "cross_body_dumbbell_hammer_curl", "comment": ""},
            13: {"value_name": "dead_hang_biceps_curl", "comment": ""},
            14: {"value_name": "decline_hammer_curl", "comment": ""},
            15: {"value_name": "dumbbell_biceps_curl_with_static_hold", "comment": ""},
            16: {"value_name": "dumbbell_hammer_curl", "comment": ""},
            17: {"value_name": "dumbbell_reverse_wrist_curl", "comment": ""},
            18: {"value_name": "dumbbell_wrist_curl", "comment": ""},
            19: {"value_name": "ez_bar_preacher_curl", "comment": ""},
            20: {"value_name": "forward_bend_biceps_curl", "comment": ""},
            21: {"value_name": "hammer_curl_to_press", "comment": ""},
            22: {"value_name": "incline_dumbbell_biceps_curl", "comment": ""},
            23: {"value_name": "incline_offset_thumb_dumbbell_curl", "comment": ""},
            24: {"value_name": "kettlebell_biceps_curl", "comment": ""},
            25: {"value_name": "lying_concentration_cable_curl", "comment": ""},
            26: {"value_name": "one_arm_preacher_curl", "comment": ""},
            27: {"value_name": "plate_pinch_curl", "comment": ""},
            28: {"value_name": "preacher_curl_with_cable", "comment": ""},
            29: {"value_name": "reverse_ez_bar_curl", "comment": ""},
            30: {"value_name": "reverse_grip_wrist_curl", "comment": ""},
            31: {"value_name": "reverse_grip_barbell_biceps_curl", "comment": ""},
            32: {
                "value_name": "seated_alternating_dumbbell_biceps_curl",
                "comment": "",
            },
            33: {"value_name": "seated_dumbbell_biceps_curl", "comment": ""},
            34: {"value_name": "seated_reverse_dumbbell_curl", "comment": ""},
            35: {
                "value_name": "split_stance_offset_pinky_dumbbell_curl",
                "comment": "",
            },
            36: {"value_name": "standing_alternating_dumbbell_curls", "comment": ""},
            37: {"value_name": "standing_dumbbell_biceps_curl", "comment": ""},
            38: {"value_name": "standing_ez_bar_biceps_curl", "comment": ""},
            39: {"value_name": "static_curl", "comment": ""},
            40: {
                "value_name": "swiss_ball_dumbbell_overhead_triceps_extension",
                "comment": "",
            },
            41: {"value_name": "swiss_ball_ez_bar_preacher_curl", "comment": ""},
            42: {"value_name": "twisting_standing_dumbbell_biceps_curl", "comment": ""},
            43: {"value_name": "wide_grip_ez_bar_biceps_curl", "comment": ""},
        },
    },
    "deadlift_exercise_name": {
        "base_type": "uint16",
        "values": {
            0: {"value_name": "barbell_deadlift", "comment": ""},
            1: {"value_name": "barbell_straight_leg_deadlift", "comment": ""},
            2: {"value_name": "dumbbell_deadlift", "comment": ""},
            3: {"value_name": "dumbbell_single_leg_deadlift_to_row", "comment": ""},
            4: {"value_name": "dumbbell_straight_leg_deadlift", "comment": ""},
            5: {"value_name": "kettlebell_floor_to_shelf", "comment": ""},
            6: {"value_name": "one_arm_one_leg_deadlift", "comment": ""},
            7: {"value_name": "rack_pull", "comment": ""},
            8: {
                "value_name": "rotational_dumbbell_straight_leg_deadlift",
                "comment": "",
            },
            9: {"value_name": "single_arm_deadlift", "comment": ""},
            10: {"value_name": "single_leg_barbell_deadlift", "comment": ""},
            11: {
                "value_name": "single_leg_barbell_straight_leg_deadlift",
                "comment": "",
            },
            12: {"value_name": "single_leg_deadlift_with_barbell", "comment": ""},
            13: {"value_name": "single_leg_rdl_circuit", "comment": ""},
            14: {
                "value_name": "single_leg_romanian_deadlift_with_dumbbell",
                "comment": "",
            },
            15: {"value_name": "sumo_deadlift", "comment": ""},
            16: {"value_name": "sumo_deadlift_high_pull", "comment": ""},
            17: {"value_name": "trap_bar_deadlift", "comment": ""},
            18: {"value_name": "wide_grip_barbell_deadlift", "comment": ""},
        },
    },
    "flye_exercise_name": {
        "base_type": "uint16",
        "values": {
            0: {"value_name": "cable_crossover", "comment": ""},
            1: {"value_name": "decline_dumbbell_flye", "comment": ""},
            2: {"value_name": "dumbbell_flye", "comment": ""},
            3: {"value_name": "incline_dumbbell_flye", "comment": ""},
            4: {"value_name": "kettlebell_flye", "comment": ""},
            5: {"value_name": "kneeling_rear_flye", "comment": ""},
            6: {"value_name": "single_arm_standing_cable_reverse_flye", "comment": ""},
            7: {"value_name": "swiss_ball_dumbbell_flye", "comment": ""},
            8: {"value_name": "arm_rotations", "comment": ""},
            9: {"value_name": "hug_a_tree", "comment": ""},
        },
    },
    "hip_raise_exercise_name": {
        "base_type": "uint16",
        "values": {
            0: {"value_name": "barbell_hip_thrust_on_floor", "comment": ""},
            1: {"value_name": "barbell_hip_thrust_with_bench", "comment": ""},
            2: {"value_name": "bent_knee_swiss_ball_reverse_hip_raise", "comment": ""},
            3: {
                "value_name": "weighted_bent_knee_swiss_ball_reverse_hip_raise",
                "comment": "",
            },
            4: {"value_name": "bridge_with_leg_extension", "comment": ""},
            5: {"value_name": "weighted_bridge_with_leg_extension", "comment": ""},
            6: {"value_name": "clam_bridge", "comment": ""},
            7: {"value_name": "front_kick_tabletop", "comment": ""},
            8: {"value_name": "weighted_front_kick_tabletop", "comment": ""},
            9: {"value_name": "hip_extension_and_cross", "comment": ""},
            10: {"value_name": "weighted_hip_extension_and_cross", "comment": ""},
            11: {"value_name": "hip_raise", "comment": ""},
            12: {"value_name": "weighted_hip_raise", "comment": ""},
            13: {"value_name": "hip_raise_with_feet_on_swiss_ball", "comment": ""},
            14: {
                "value_name": "weighted_hip_raise_with_feet_on_swiss_ball",
                "comment": "",
            },
            15: {"value_name": "hip_raise_with_head_on_bosu_ball", "comment": ""},
            16: {
                "value_name": "weighted_hip_raise_with_head_on_bosu_ball",
                "comment": "",
            },
            17: {"value_name": "hip_raise_with_head_on_swiss_ball", "comment": ""},
            18: {
                "value_name": "weighted_hip_raise_with_head_on_swiss_ball",
                "comment": "",
            },
            19: {"value_name": "hip_raise_with_knee_squeeze", "comment": ""},
            20: {"value_name": "weighted_hip_raise_with_knee_squeeze", "comment": ""},
            21: {"value_name": "incline_rear_leg_extension", "comment": ""},
            22: {"value_name": "weighted_incline_rear_leg_extension", "comment": ""},
            23: {"value_name": "kettlebell_swing", "comment": ""},
            24: {"value_name": "marching_hip_raise", "comment": ""},
            25: {"value_name": "weighted_marching_hip_raise", "comment": ""},
            26: {
                "value_name": "marching_hip_raise_with_feet_on_a_swiss_ball",
                "comment": "",
            },
            27: {
                "value_name": "weighted_marching_hip_raise_with_feet_on_a_swiss_ball",
                "comment": "",
            },
            28: {"value_name": "reverse_hip_raise", "comment": ""},
            29: {"value_name": "weighted_reverse_hip_raise", "comment": ""},
            30: {"value_name": "single_leg_hip_raise", "comment": ""},
            31: {"value_name": "weighted_single_leg_hip_raise", "comment": ""},
            32: {
                "value_name": "single_leg_hip_raise_with_foot_on_bench",
                "comment": "",
            },
            33: {
                "value_name": "weighted_single_leg_hip_raise_with_foot_on_bench",
                "comment": "",
            },
            34: {
                "value_name": "single_leg_hip_raise_with_foot_on_bosu_ball",
                "comment": "",
            },
            35: {
                "value_name": "weighted_single_leg_hip_raise_with_foot_on_bosu_ball",
                "comment": "",
            },
            36: {
                "value_name": "single_leg_hip_raise_with_foot_on_foam_roller",
                "comment": "",
            },
            37: {
                "value_name": "weighted_single_leg_hip_raise_with_foot_on_foam_roller",
                "comment": "",
            },
            38: {
                "value_name": "single_leg_hip_raise_with_foot_on_medicine_ball",
                "comment": "",
            },
            39: {
                "value_name": "weighted_single_leg_hip_raise_with_foot_on_medicine_ball",
                "comment": "",
            },
            40: {
                "value_name": "single_leg_hip_raise_with_head_on_bosu_ball",
                "comment": "",
            },
            41: {
                "value_name": "weighted_single_leg_hip_raise_with_head_on_bosu_ball",
                "comment": "",
            },
            42: {"value_name": "weighted_clam_bridge", "comment": ""},
            43: {
                "value_name": "single_leg_swiss_ball_hip_raise_and_leg_curl",
                "comment": "",
            },
            44: {"value_name": "clams", "comment": ""},
            45: {
                "value_name": "inner_thigh_circles",
                "comment": "Deprecated do not use",
            },
            46: {
                "value_name": "inner_thigh_side_lift",
                "comment": "Deprecated do not use",
            },
            47: {"value_name": "leg_circles", "comment": ""},
            48: {"value_name": "leg_lift", "comment": ""},
            49: {"value_name": "leg_lift_in_external_rotation", "comment": ""},
        },
    },
    "hip_stability_exercise_name": {
        "base_type": "uint16",
        "values": {
            0: {"value_name": "band_side_lying_leg_raise", "comment": ""},
            1: {"value_name": "dead_bug", "comment": ""},
            2: {"value_name": "weighted_dead_bug", "comment": ""},
            3: {"value_name": "external_hip_raise", "comment": ""},
            4: {"value_name": "weighted_external_hip_raise", "comment": ""},
            5: {"value_name": "fire_hydrant_kicks", "comment": ""},
            6: {"value_name": "weighted_fire_hydrant_kicks", "comment": ""},
            7: {"value_name": "hip_circles", "comment": ""},
            8: {"value_name": "weighted_hip_circles", "comment": ""},
            9: {"value_name": "inner_thigh_lift", "comment": ""},
            10: {"value_name": "weighted_inner_thigh_lift", "comment": ""},
            11: {"value_name": "lateral_walks_with_band_at_ankles", "comment": ""},
            12: {"value_name": "pretzel_side_kick", "comment": ""},
            13: {"value_name": "weighted_pretzel_side_kick", "comment": ""},
            14: {"value_name": "prone_hip_internal_rotation", "comment": ""},
            15: {"value_name": "weighted_prone_hip_internal_rotation", "comment": ""},
            16: {"value_name": "quadruped", "comment": ""},
            17: {"value_name": "quadruped_hip_extension", "comment": ""},
            18: {"value_name": "weighted_quadruped_hip_extension", "comment": ""},
            19: {"value_name": "quadruped_with_leg_lift", "comment": ""},
            20: {"value_name": "weighted_quadruped_with_leg_lift", "comment": ""},
            21: {"value_name": "side_lying_leg_raise", "comment": ""},
            22: {"value_name": "weighted_side_lying_leg_raise", "comment": ""},
            23: {"value_name": "sliding_hip_adduction", "comment": ""},
            24: {"value_name": "weighted_sliding_hip_adduction", "comment": ""},
            25: {"value_name": "standing_adduction", "comment": ""},
            26: {"value_name": "weighted_standing_adduction", "comment": ""},
            27: {"value_name": "standing_cable_hip_abduction", "comment": ""},
            28: {"value_name": "standing_hip_abduction", "comment": ""},
            29: {"value_name": "weighted_standing_hip_abduction", "comment": ""},
            30: {"value_name": "standing_rear_leg_raise", "comment": ""},
            31: {"value_name": "weighted_standing_rear_leg_raise", "comment": ""},
            32: {"value_name": "supine_hip_internal_rotation", "comment": ""},
            33: {"value_name": "weighted_supine_hip_internal_rotation", "comment": ""},
        },
    },
    "hip_swing_exercise_name": {
        "base_type": "uint16",
        "values": {
            0: {"value_name": "single_arm_kettlebell_swing", "comment": ""},
            1: {"value_name": "single_arm_dumbbell_swing", "comment": ""},
            2: {"value_name": "step_out_swing", "comment": ""},
        },
    },
    "hyperextension_exercise_name": {
        "base_type": "uint16",
        "values": {
            0: {
                "value_name": "back_extension_with_opposite_arm_and_leg_reach",
                "comment": "",
            },
            1: {
                "value_name": "weighted_back_extension_with_opposite_arm_and_leg_reach",
                "comment": "",
            },
            2: {"value_name": "base_rotations", "comment": ""},
            3: {"value_name": "weighted_base_rotations", "comment": ""},
            4: {"value_name": "bent_knee_reverse_hyperextension", "comment": ""},
            5: {
                "value_name": "weighted_bent_knee_reverse_hyperextension",
                "comment": "",
            },
            6: {"value_name": "hollow_hold_and_roll", "comment": ""},
            7: {"value_name": "weighted_hollow_hold_and_roll", "comment": ""},
            8: {"value_name": "kicks", "comment": ""},
            9: {"value_name": "weighted_kicks", "comment": ""},
            10: {"value_name": "knee_raises", "comment": ""},
            11: {"value_name": "weighted_knee_raises", "comment": ""},
            12: {"value_name": "kneeling_superman", "comment": ""},
            13: {"value_name": "weighted_kneeling_superman", "comment": ""},
            14: {"value_name": "lat_pull_down_with_row", "comment": ""},
            15: {"value_name": "medicine_ball_deadlift_to_reach", "comment": ""},
            16: {"value_name": "one_arm_one_leg_row", "comment": ""},
            17: {"value_name": "one_arm_row_with_band", "comment": ""},
            18: {"value_name": "overhead_lunge_with_medicine_ball", "comment": ""},
            19: {"value_name": "plank_knee_tucks", "comment": ""},
            20: {"value_name": "weighted_plank_knee_tucks", "comment": ""},
            21: {"value_name": "side_step", "comment": ""},
            22: {"value_name": "weighted_side_step", "comment": ""},
            23: {"value_name": "single_leg_back_extension", "comment": ""},
            24: {"value_name": "weighted_single_leg_back_extension", "comment": ""},
            25: {"value_name": "spine_extension", "comment": ""},
            26: {"value_name": "weighted_spine_extension", "comment": ""},
            27: {"value_name": "static_back_extension", "comment": ""},
            28: {"value_name": "weighted_static_back_extension", "comment": ""},
            29: {"value_name": "superman_from_floor", "comment": ""},
            30: {"value_name": "weighted_superman_from_floor", "comment": ""},
            31: {"value_name": "swiss_ball_back_extension", "comment": ""},
            32: {"value_name": "weighted_swiss_ball_back_extension", "comment": ""},
            33: {"value_name": "swiss_ball_hyperextension", "comment": ""},
            34: {"value_name": "weighted_swiss_ball_hyperextension", "comment": ""},
            35: {"value_name": "swiss_ball_opposite_arm_and_leg_lift", "comment": ""},
            36: {
                "value_name": "weighted_swiss_ball_opposite_arm_and_leg_lift",
                "comment": "",
            },
            37: {"value_name": "superman_on_swiss_ball", "comment": ""},
            38: {"value_name": "cobra", "comment": ""},
            39: {
                "value_name": "supine_floor_barre",
                "comment": "Deprecated do not use",
            },
        },
    },
    "lateral_raise_exercise_name": {
        "base_type": "uint16",
        "values": {
            0: {"value_name": "45_degree_cable_external_rotation", "comment": ""},
            1: {
                "value_name": "alternating_lateral_raise_with_static_hold",
                "comment": "",
            },
            2: {"value_name": "bar_muscle_up", "comment": ""},
            3: {"value_name": "bent_over_lateral_raise", "comment": ""},
            4: {"value_name": "cable_diagonal_raise", "comment": ""},
            5: {"value_name": "cable_front_raise", "comment": ""},
            6: {"value_name": "calorie_row", "comment": ""},
            7: {"value_name": "combo_shoulder_raise", "comment": ""},
            8: {"value_name": "dumbbell_diagonal_raise", "comment": ""},
            9: {"value_name": "dumbbell_v_raise", "comment": ""},
            10: {"value_name": "front_raise", "comment": ""},
            11: {"value_name": "leaning_dumbbell_lateral_raise", "comment": ""},
            12: {"value_name": "lying_dumbbell_raise", "comment": ""},
            13: {"value_name": "muscle_up", "comment": ""},
            14: {"value_name": "one_arm_cable_lateral_raise", "comment": ""},
            15: {"value_name": "overhand_grip_rear_lateral_raise", "comment": ""},
            16: {"value_name": "plate_raises", "comment": ""},
            17: {"value_name": "ring_dip", "comment": ""},
            18: {"value_name": "weighted_ring_dip", "comment": ""},
            19: {"value_name": "ring_muscle_up", "comment": ""},
            20: {"value_name": "weighted_ring_muscle_up", "comment": ""},
            21: {"value_name": "rope_climb", "comment": ""},
            22: {"value_name": "weighted_rope_climb", "comment": ""},
            23: {"value_name": "scaption", "comment": ""},
            24: {"value_name": "seated_lateral_raise", "comment": ""},
            25: {"value_name": "seated_rear_lateral_raise", "comment": ""},
            26: {"value_name": "side_lying_lateral_raise", "comment": ""},
            27: {"value_name": "standing_lift", "comment": ""},
            28: {"value_name": "suspended_row", "comment": ""},
            29: {"value_name": "underhand_grip_rear_lateral_raise", "comment": ""},
            30: {"value_name": "wall_slide", "comment": ""},
            31: {"value_name": "weighted_wall_slide", "comment": ""},
            32: {"value_name": "arm_circles", "comment": ""},
            33: {"value_name": "shaving_the_head", "comment": ""},
        },
    },
    "leg_curl_exercise_name": {
        "base_type": "uint16",
        "values": {
            0: {"value_name": "leg_curl", "comment": ""},
            1: {"value_name": "weighted_leg_curl", "comment": ""},
            2: {"value_name": "good_morning", "comment": ""},
            3: {"value_name": "seated_barbell_good_morning", "comment": ""},
            4: {"value_name": "single_leg_barbell_good_morning", "comment": ""},
            5: {"value_name": "single_leg_sliding_leg_curl", "comment": ""},
            6: {"value_name": "sliding_leg_curl", "comment": ""},
            7: {"value_name": "split_barbell_good_morning", "comment": ""},
            8: {"value_name": "split_stance_extension", "comment": ""},
            9: {"value_name": "staggered_stance_good_morning", "comment": ""},
            10: {"value_name": "swiss_ball_hip_raise_and_leg_curl", "comment": ""},
            11: {"value_name": "zercher_good_morning", "comment": ""},
        },
    },
    "leg_raise_exercise_name": {
        "base_type": "uint16",
        "values": {
            0: {"value_name": "hanging_knee_raise", "comment": ""},
            1: {"value_name": "hanging_leg_raise", "comment": ""},
            2: {"value_name": "weighted_hanging_leg_raise", "comment": ""},
            3: {"value_name": "hanging_single_leg_raise", "comment": ""},
            4: {"value_name": "weighted_hanging_single_leg_raise", "comment": ""},
            5: {"value_name": "kettlebell_leg_raises", "comment": ""},
            6: {"value_name": "leg_lowering_drill", "comment": ""},
            7: {"value_name": "weighted_leg_lowering_drill", "comment": ""},
            8: {"value_name": "lying_straight_leg_raise", "comment": ""},
            9: {"value_name": "weighted_lying_straight_leg_raise", "comment": ""},
            10: {"value_name": "medicine_ball_leg_drops", "comment": ""},
            11: {"value_name": "quadruped_leg_raise", "comment": ""},
            12: {"value_name": "weighted_quadruped_leg_raise", "comment": ""},
            13: {"value_name": "reverse_leg_raise", "comment": ""},
            14: {"value_name": "weighted_reverse_leg_raise", "comment": ""},
            15: {"value_name": "reverse_leg_raise_on_swiss_ball", "comment": ""},
            16: {
                "value_name": "weighted_reverse_leg_raise_on_swiss_ball",
                "comment": "",
            },
            17: {"value_name": "single_leg_lowering_drill", "comment": ""},
            18: {"value_name": "weighted_single_leg_lowering_drill", "comment": ""},
            19: {"value_name": "weighted_hanging_knee_raise", "comment": ""},
            20: {"value_name": "lateral_stepover", "comment": ""},
            21: {"value_name": "weighted_lateral_stepover", "comment": ""},
        },
    },
    "lunge_exercise_name": {
        "base_type": "uint16",
        "values": {
            0: {"value_name": "overhead_lunge", "comment": ""},
            1: {"value_name": "lunge_matrix", "comment": ""},
            2: {"value_name": "weighted_lunge_matrix", "comment": ""},
            3: {"value_name": "alternating_barbell_forward_lunge", "comment": ""},
            4: {"value_name": "alternating_dumbbell_lunge_with_reach", "comment": ""},
            5: {"value_name": "back_foot_elevated_dumbbell_split_squat", "comment": ""},
            6: {"value_name": "barbell_box_lunge", "comment": ""},
            7: {"value_name": "barbell_bulgarian_split_squat", "comment": ""},
            8: {"value_name": "barbell_crossover_lunge", "comment": ""},
            9: {"value_name": "barbell_front_split_squat", "comment": ""},
            10: {"value_name": "barbell_lunge", "comment": ""},
            11: {"value_name": "barbell_reverse_lunge", "comment": ""},
            12: {"value_name": "barbell_side_lunge", "comment": ""},
            13: {"value_name": "barbell_split_squat", "comment": ""},
            14: {"value_name": "core_control_rear_lunge", "comment": ""},
            15: {"value_name": "diagonal_lunge", "comment": ""},
            16: {"value_name": "drop_lunge", "comment": ""},
            17: {"value_name": "dumbbell_box_lunge", "comment": ""},
            18: {"value_name": "dumbbell_bulgarian_split_squat", "comment": ""},
            19: {"value_name": "dumbbell_crossover_lunge", "comment": ""},
            20: {"value_name": "dumbbell_diagonal_lunge", "comment": ""},
            21: {"value_name": "dumbbell_lunge", "comment": ""},
            22: {"value_name": "dumbbell_lunge_and_rotation", "comment": ""},
            23: {
                "value_name": "dumbbell_overhead_bulgarian_split_squat",
                "comment": "",
            },
            24: {
                "value_name": "dumbbell_reverse_lunge_to_high_knee_and_press",
                "comment": "",
            },
            25: {"value_name": "dumbbell_side_lunge", "comment": ""},
            26: {
                "value_name": "elevated_front_foot_barbell_split_squat",
                "comment": "",
            },
            27: {
                "value_name": "front_foot_elevated_dumbbell_split_squat",
                "comment": "",
            },
            28: {"value_name": "gunslinger_lunge", "comment": ""},
            29: {"value_name": "lawnmower_lunge", "comment": ""},
            30: {"value_name": "low_lunge_with_isometric_adduction", "comment": ""},
            31: {"value_name": "low_side_to_side_lunge", "comment": ""},
            32: {"value_name": "lunge", "comment": ""},
            33: {"value_name": "weighted_lunge", "comment": ""},
            34: {"value_name": "lunge_with_arm_reach", "comment": ""},
            35: {"value_name": "lunge_with_diagonal_reach", "comment": ""},
            36: {"value_name": "lunge_with_side_bend", "comment": ""},
            37: {"value_name": "offset_dumbbell_lunge", "comment": ""},
            38: {"value_name": "offset_dumbbell_reverse_lunge", "comment": ""},
            39: {"value_name": "overhead_bulgarian_split_squat", "comment": ""},
            40: {"value_name": "overhead_dumbbell_reverse_lunge", "comment": ""},
            41: {"value_name": "overhead_dumbbell_split_squat", "comment": ""},
            42: {"value_name": "overhead_lunge_with_rotation", "comment": ""},
            43: {"value_name": "reverse_barbell_box_lunge", "comment": ""},
            44: {"value_name": "reverse_box_lunge", "comment": ""},
            45: {"value_name": "reverse_dumbbell_box_lunge", "comment": ""},
            46: {"value_name": "reverse_dumbbell_crossover_lunge", "comment": ""},
            47: {"value_name": "reverse_dumbbell_diagonal_lunge", "comment": ""},
            48: {"value_name": "reverse_lunge_with_reach_back", "comment": ""},
            49: {"value_name": "weighted_reverse_lunge_with_reach_back", "comment": ""},
            50: {
                "value_name": "reverse_lunge_with_twist_and_overhead_reach",
                "comment": "",
            },
            51: {
                "value_name": "weighted_reverse_lunge_with_twist_and_overhead_reach",
                "comment": "",
            },
            52: {"value_name": "reverse_sliding_box_lunge", "comment": ""},
            53: {"value_name": "weighted_reverse_sliding_box_lunge", "comment": ""},
            54: {"value_name": "reverse_sliding_lunge", "comment": ""},
            55: {"value_name": "weighted_reverse_sliding_lunge", "comment": ""},
            56: {"value_name": "runners_lunge_to_balance", "comment": ""},
            57: {"value_name": "weighted_runners_lunge_to_balance", "comment": ""},
            58: {"value_name": "shifting_side_lunge", "comment": ""},
            59: {"value_name": "side_and_crossover_lunge", "comment": ""},
            60: {"value_name": "weighted_side_and_crossover_lunge", "comment": ""},
            61: {"value_name": "side_lunge", "comment": ""},
            62: {"value_name": "weighted_side_lunge", "comment": ""},
            63: {"value_name": "side_lunge_and_press", "comment": ""},
            64: {"value_name": "side_lunge_jump_off", "comment": ""},
            65: {"value_name": "side_lunge_sweep", "comment": ""},
            66: {"value_name": "weighted_side_lunge_sweep", "comment": ""},
            67: {"value_name": "side_lunge_to_crossover_tap", "comment": ""},
            68: {"value_name": "weighted_side_lunge_to_crossover_tap", "comment": ""},
            69: {"value_name": "side_to_side_lunge_chops", "comment": ""},
            70: {"value_name": "weighted_side_to_side_lunge_chops", "comment": ""},
            71: {"value_name": "siff_jump_lunge", "comment": ""},
            72: {"value_name": "weighted_siff_jump_lunge", "comment": ""},
            73: {"value_name": "single_arm_reverse_lunge_and_press", "comment": ""},
            74: {"value_name": "sliding_lateral_lunge", "comment": ""},
            75: {"value_name": "weighted_sliding_lateral_lunge", "comment": ""},
            76: {"value_name": "walking_barbell_lunge", "comment": ""},
            77: {"value_name": "walking_dumbbell_lunge", "comment": ""},
            78: {"value_name": "walking_lunge", "comment": ""},
            79: {"value_name": "weighted_walking_lunge", "comment": ""},
            80: {"value_name": "wide_grip_overhead_barbell_split_squat", "comment": ""},
        },
    },
    "olympic_lift_exercise_name": {
        "base_type": "uint16",
        "values": {
            0: {"value_name": "barbell_hang_power_clean", "comment": ""},
            1: {"value_name": "barbell_hang_squat_clean", "comment": ""},
            2: {"value_name": "barbell_power_clean", "comment": ""},
            3: {"value_name": "barbell_power_snatch", "comment": ""},
            4: {"value_name": "barbell_squat_clean", "comment": ""},
            5: {"value_name": "clean_and_jerk", "comment": ""},
            6: {"value_name": "barbell_hang_power_snatch", "comment": ""},
            7: {"value_name": "barbell_hang_pull", "comment": ""},
            8: {"value_name": "barbell_high_pull", "comment": ""},
            9: {"value_name": "barbell_snatch", "comment": ""},
            10: {"value_name": "barbell_split_jerk", "comment": ""},
            11: {"value_name": "clean", "comment": ""},
            12: {"value_name": "dumbbell_clean", "comment": ""},
            13: {"value_name": "dumbbell_hang_pull", "comment": ""},
            14: {"value_name": "one_hand_dumbbell_split_snatch", "comment": ""},
            15: {"value_name": "push_jerk", "comment": ""},
            16: {"value_name": "single_arm_dumbbell_snatch", "comment": ""},
            17: {"value_name": "single_arm_hang_snatch", "comment": ""},
            18: {"value_name": "single_arm_kettlebell_snatch", "comment": ""},
            19: {"value_name": "split_jerk", "comment": ""},
            20: {"value_name": "squat_clean_and_jerk", "comment": ""},
        },
    },
    "plank_exercise_name": {
        "base_type": "uint16",
        "values": {
            0: {"value_name": "45_degree_plank", "comment": ""},
            1: {"value_name": "weighted_45_degree_plank", "comment": ""},
            2: {"value_name": "90_degree_static_hold", "comment": ""},
            3: {"value_name": "weighted_90_degree_static_hold", "comment": ""},
            4: {"value_name": "bear_crawl", "comment": ""},
            5: {"value_name": "weighted_bear_crawl", "comment": ""},
            6: {"value_name": "cross_body_mountain_climber", "comment": ""},
            7: {"value_name": "weighted_cross_body_mountain_climber", "comment": ""},
            8: {"value_name": "elbow_plank_pike_jacks", "comment": ""},
            9: {"value_name": "weighted_elbow_plank_pike_jacks", "comment": ""},
            10: {"value_name": "elevated_feet_plank", "comment": ""},
            11: {"value_name": "weighted_elevated_feet_plank", "comment": ""},
            12: {"value_name": "elevator_abs", "comment": ""},
            13: {"value_name": "weighted_elevator_abs", "comment": ""},
            14: {"value_name": "extended_plank", "comment": ""},
            15: {"value_name": "weighted_extended_plank", "comment": ""},
            16: {"value_name": "full_plank_passe_twist", "comment": ""},
            17: {"value_name": "weighted_full_plank_passe_twist", "comment": ""},
            18: {"value_name": "inching_elbow_plank", "comment": ""},
            19: {"value_name": "weighted_inching_elbow_plank", "comment": ""},
            20: {"value_name": "inchworm_to_side_plank", "comment": ""},
            21: {"value_name": "weighted_inchworm_to_side_plank", "comment": ""},
            22: {"value_name": "kneeling_plank", "comment": ""},
            23: {"value_name": "weighted_kneeling_plank", "comment": ""},
            24: {"value_name": "kneeling_side_plank_with_leg_lift", "comment": ""},
            25: {
                "value_name": "weighted_kneeling_side_plank_with_leg_lift",
                "comment": "",
            },
            26: {"value_name": "lateral_roll", "comment": ""},
            27: {"value_name": "weighted_lateral_roll", "comment": ""},
            28: {"value_name": "lying_reverse_plank", "comment": ""},
            29: {"value_name": "weighted_lying_reverse_plank", "comment": ""},
            30: {"value_name": "medicine_ball_mountain_climber", "comment": ""},
            31: {
                "value_name": "weighted_medicine_ball_mountain_climber",
                "comment": "",
            },
            32: {
                "value_name": "modified_mountain_climber_and_extension",
                "comment": "",
            },
            33: {
                "value_name": "weighted_modified_mountain_climber_and_extension",
                "comment": "",
            },
            34: {"value_name": "mountain_climber", "comment": ""},
            35: {"value_name": "weighted_mountain_climber", "comment": ""},
            36: {"value_name": "mountain_climber_on_sliding_discs", "comment": ""},
            37: {
                "value_name": "weighted_mountain_climber_on_sliding_discs",
                "comment": "",
            },
            38: {
                "value_name": "mountain_climber_with_feet_on_bosu_ball",
                "comment": "",
            },
            39: {
                "value_name": "weighted_mountain_climber_with_feet_on_bosu_ball",
                "comment": "",
            },
            40: {"value_name": "mountain_climber_with_hands_on_bench", "comment": ""},
            41: {
                "value_name": "mountain_climber_with_hands_on_swiss_ball",
                "comment": "",
            },
            42: {
                "value_name": "weighted_mountain_climber_with_hands_on_swiss_ball",
                "comment": "",
            },
            43: {"value_name": "plank", "comment": ""},
            44: {"value_name": "plank_jacks_with_feet_on_sliding_discs", "comment": ""},
            45: {
                "value_name": "weighted_plank_jacks_with_feet_on_sliding_discs",
                "comment": "",
            },
            46: {"value_name": "plank_knee_twist", "comment": ""},
            47: {"value_name": "weighted_plank_knee_twist", "comment": ""},
            48: {"value_name": "plank_pike_jumps", "comment": ""},
            49: {"value_name": "weighted_plank_pike_jumps", "comment": ""},
            50: {"value_name": "plank_pikes", "comment": ""},
            51: {"value_name": "weighted_plank_pikes", "comment": ""},
            52: {"value_name": "plank_to_stand_up", "comment": ""},
            53: {"value_name": "weighted_plank_to_stand_up", "comment": ""},
            54: {"value_name": "plank_with_arm_raise", "comment": ""},
            55: {"value_name": "weighted_plank_with_arm_raise", "comment": ""},
            56: {"value_name": "plank_with_knee_to_elbow", "comment": ""},
            57: {"value_name": "weighted_plank_with_knee_to_elbow", "comment": ""},
            58: {"value_name": "plank_with_oblique_crunch", "comment": ""},
            59: {"value_name": "weighted_plank_with_oblique_crunch", "comment": ""},
            60: {"value_name": "plyometric_side_plank", "comment": ""},
            61: {"value_name": "weighted_plyometric_side_plank", "comment": ""},
            62: {"value_name": "rolling_side_plank", "comment": ""},
            63: {"value_name": "weighted_rolling_side_plank", "comment": ""},
            64: {"value_name": "side_kick_plank", "comment": ""},
            65: {"value_name": "weighted_side_kick_plank", "comment": ""},
            66: {"value_name": "side_plank", "comment": ""},
            67: {"value_name": "weighted_side_plank", "comment": ""},
            68: {"value_name": "side_plank_and_row", "comment": ""},
            69: {"value_name": "weighted_side_plank_and_row", "comment": ""},
            70: {"value_name": "side_plank_lift", "comment": ""},
            71: {"value_name": "weighted_side_plank_lift", "comment": ""},
            72: {"value_name": "side_plank_with_elbow_on_bosu_ball", "comment": ""},
            73: {
                "value_name": "weighted_side_plank_with_elbow_on_bosu_ball",
                "comment": "",
            },
            74: {"value_name": "side_plank_with_feet_on_bench", "comment": ""},
            75: {"value_name": "weighted_side_plank_with_feet_on_bench", "comment": ""},
            76: {"value_name": "side_plank_with_knee_circle", "comment": ""},
            77: {"value_name": "weighted_side_plank_with_knee_circle", "comment": ""},
            78: {"value_name": "side_plank_with_knee_tuck", "comment": ""},
            79: {"value_name": "weighted_side_plank_with_knee_tuck", "comment": ""},
            80: {"value_name": "side_plank_with_leg_lift", "comment": ""},
            81: {"value_name": "weighted_side_plank_with_leg_lift", "comment": ""},
            82: {"value_name": "side_plank_with_reach_under", "comment": ""},
            83: {"value_name": "weighted_side_plank_with_reach_under", "comment": ""},
            84: {"value_name": "single_leg_elevated_feet_plank", "comment": ""},
            85: {
                "value_name": "weighted_single_leg_elevated_feet_plank",
                "comment": "",
            },
            86: {"value_name": "single_leg_flex_and_extend", "comment": ""},
            87: {"value_name": "weighted_single_leg_flex_and_extend", "comment": ""},
            88: {"value_name": "single_leg_side_plank", "comment": ""},
            89: {"value_name": "weighted_single_leg_side_plank", "comment": ""},
            90: {"value_name": "spiderman_plank", "comment": ""},
            91: {"value_name": "weighted_spiderman_plank", "comment": ""},
            92: {"value_name": "straight_arm_plank", "comment": ""},
            93: {"value_name": "weighted_straight_arm_plank", "comment": ""},
            94: {"value_name": "straight_arm_plank_with_shoulder_touch", "comment": ""},
            95: {
                "value_name": "weighted_straight_arm_plank_with_shoulder_touch",
                "comment": "",
            },
            96: {"value_name": "swiss_ball_plank", "comment": ""},
            97: {"value_name": "weighted_swiss_ball_plank", "comment": ""},
            98: {"value_name": "swiss_ball_plank_leg_lift", "comment": ""},
            99: {"value_name": "weighted_swiss_ball_plank_leg_lift", "comment": ""},
            100: {"value_name": "swiss_ball_plank_leg_lift_and_hold", "comment": ""},
            101: {"value_name": "swiss_ball_plank_with_feet_on_bench", "comment": ""},
            102: {
                "value_name": "weighted_swiss_ball_plank_with_feet_on_bench",
                "comment": "",
            },
            103: {"value_name": "swiss_ball_prone_jackknife", "comment": ""},
            104: {"value_name": "weighted_swiss_ball_prone_jackknife", "comment": ""},
            105: {"value_name": "swiss_ball_side_plank", "comment": ""},
            106: {"value_name": "weighted_swiss_ball_side_plank", "comment": ""},
            107: {"value_name": "three_way_plank", "comment": ""},
            108: {"value_name": "weighted_three_way_plank", "comment": ""},
            109: {"value_name": "towel_plank_and_knee_in", "comment": ""},
            110: {"value_name": "weighted_towel_plank_and_knee_in", "comment": ""},
            111: {"value_name": "t_stabilization", "comment": ""},
            112: {"value_name": "weighted_t_stabilization", "comment": ""},
            113: {"value_name": "turkish_get_up_to_side_plank", "comment": ""},
            114: {"value_name": "weighted_turkish_get_up_to_side_plank", "comment": ""},
            115: {"value_name": "two_point_plank", "comment": ""},
            116: {"value_name": "weighted_two_point_plank", "comment": ""},
            117: {"value_name": "weighted_plank", "comment": ""},
            118: {
                "value_name": "wide_stance_plank_with_diagonal_arm_lift",
                "comment": "",
            },
            119: {
                "value_name": "weighted_wide_stance_plank_with_diagonal_arm_lift",
                "comment": "",
            },
            120: {
                "value_name": "wide_stance_plank_with_diagonal_leg_lift",
                "comment": "",
            },
            121: {
                "value_name": "weighted_wide_stance_plank_with_diagonal_leg_lift",
                "comment": "",
            },
            122: {"value_name": "wide_stance_plank_with_leg_lift", "comment": ""},
            123: {
                "value_name": "weighted_wide_stance_plank_with_leg_lift",
                "comment": "",
            },
            124: {
                "value_name": "wide_stance_plank_with_opposite_arm_and_leg_lift",
                "comment": "",
            },
            125: {
                "value_name": "weighted_mountain_climber_with_hands_on_bench",
                "comment": "",
            },
            126: {
                "value_name": "weighted_swiss_ball_plank_leg_lift_and_hold",
                "comment": "",
            },
            127: {
                "value_name": "weighted_wide_stance_plank_with_opposite_arm_and_leg_lift",
                "comment": "",
            },
            128: {"value_name": "plank_with_feet_on_swiss_ball", "comment": ""},
            129: {"value_name": "side_plank_to_plank_with_reach_under", "comment": ""},
            130: {"value_name": "bridge_with_glute_lower_lift", "comment": ""},
            131: {"value_name": "bridge_one_leg_bridge", "comment": ""},
            132: {"value_name": "plank_with_arm_variations", "comment": ""},
            133: {"value_name": "plank_with_leg_lift", "comment": ""},
            134: {"value_name": "reverse_plank_with_leg_pull", "comment": ""},
        },
    },
    "plyo_exercise_name": {
        "base_type": "uint16",
        "values": {
            0: {"value_name": "alternating_jump_lunge", "comment": ""},
            1: {"value_name": "weighted_alternating_jump_lunge", "comment": ""},
            2: {"value_name": "barbell_jump_squat", "comment": ""},
            3: {"value_name": "body_weight_jump_squat", "comment": ""},
            4: {"value_name": "weighted_jump_squat", "comment": ""},
            5: {"value_name": "cross_knee_strike", "comment": ""},
            6: {"value_name": "weighted_cross_knee_strike", "comment": ""},
            7: {"value_name": "depth_jump", "comment": ""},
            8: {"value_name": "weighted_depth_jump", "comment": ""},
            9: {"value_name": "dumbbell_jump_squat", "comment": ""},
            10: {"value_name": "dumbbell_split_jump", "comment": ""},
            11: {"value_name": "front_knee_strike", "comment": ""},
            12: {"value_name": "weighted_front_knee_strike", "comment": ""},
            13: {"value_name": "high_box_jump", "comment": ""},
            14: {"value_name": "weighted_high_box_jump", "comment": ""},
            15: {
                "value_name": "isometric_explosive_body_weight_jump_squat",
                "comment": "",
            },
            16: {
                "value_name": "weighted_isometric_explosive_jump_squat",
                "comment": "",
            },
            17: {"value_name": "lateral_leap_and_hop", "comment": ""},
            18: {"value_name": "weighted_lateral_leap_and_hop", "comment": ""},
            19: {"value_name": "lateral_plyo_squats", "comment": ""},
            20: {"value_name": "weighted_lateral_plyo_squats", "comment": ""},
            21: {"value_name": "lateral_slide", "comment": ""},
            22: {"value_name": "weighted_lateral_slide", "comment": ""},
            23: {"value_name": "medicine_ball_overhead_throws", "comment": ""},
            24: {"value_name": "medicine_ball_side_throw", "comment": ""},
            25: {"value_name": "medicine_ball_slam", "comment": ""},
            26: {"value_name": "side_to_side_medicine_ball_throws", "comment": ""},
            27: {"value_name": "side_to_side_shuffle_jump", "comment": ""},
            28: {"value_name": "weighted_side_to_side_shuffle_jump", "comment": ""},
            29: {"value_name": "squat_jump_onto_box", "comment": ""},
            30: {"value_name": "weighted_squat_jump_onto_box", "comment": ""},
            31: {"value_name": "squat_jumps_in_and_out", "comment": ""},
            32: {"value_name": "weighted_squat_jumps_in_and_out", "comment": ""},
        },
    },
    "pull_up_exercise_name": {
        "base_type": "uint16",
        "values": {
            0: {"value_name": "banded_pull_ups", "comment": ""},
            1: {"value_name": "30_degree_lat_pulldown", "comment": ""},
            2: {"value_name": "band_assisted_chin_up", "comment": ""},
            3: {"value_name": "close_grip_chin_up", "comment": ""},
            4: {"value_name": "weighted_close_grip_chin_up", "comment": ""},
            5: {"value_name": "close_grip_lat_pulldown", "comment": ""},
            6: {"value_name": "crossover_chin_up", "comment": ""},
            7: {"value_name": "weighted_crossover_chin_up", "comment": ""},
            8: {"value_name": "ez_bar_pullover", "comment": ""},
            9: {"value_name": "hanging_hurdle", "comment": ""},
            10: {"value_name": "weighted_hanging_hurdle", "comment": ""},
            11: {"value_name": "kneeling_lat_pulldown", "comment": ""},
            12: {"value_name": "kneeling_underhand_grip_lat_pulldown", "comment": ""},
            13: {"value_name": "lat_pulldown", "comment": ""},
            14: {"value_name": "mixed_grip_chin_up", "comment": ""},
            15: {"value_name": "weighted_mixed_grip_chin_up", "comment": ""},
            16: {"value_name": "mixed_grip_pull_up", "comment": ""},
            17: {"value_name": "weighted_mixed_grip_pull_up", "comment": ""},
            18: {"value_name": "reverse_grip_pulldown", "comment": ""},
            19: {"value_name": "standing_cable_pullover", "comment": ""},
            20: {"value_name": "straight_arm_pulldown", "comment": ""},
            21: {"value_name": "swiss_ball_ez_bar_pullover", "comment": ""},
            22: {"value_name": "towel_pull_up", "comment": ""},
            23: {"value_name": "weighted_towel_pull_up", "comment": ""},
            24: {"value_name": "weighted_pull_up", "comment": ""},
            25: {"value_name": "wide_grip_lat_pulldown", "comment": ""},
            26: {"value_name": "wide_grip_pull_up", "comment": ""},
            27: {"value_name": "weighted_wide_grip_pull_up", "comment": ""},
            28: {"value_name": "burpee_pull_up", "comment": ""},
            29: {"value_name": "weighted_burpee_pull_up", "comment": ""},
            30: {"value_name": "jumping_pull_ups", "comment": ""},
            31: {"value_name": "weighted_jumping_pull_ups", "comment": ""},
            32: {"value_name": "kipping_pull_up", "comment": ""},
            33: {"value_name": "weighted_kipping_pull_up", "comment": ""},
            34: {"value_name": "l_pull_up", "comment": ""},
            35: {"value_name": "weighted_l_pull_up", "comment": ""},
            36: {"value_name": "suspended_chin_up", "comment": ""},
            37: {"value_name": "weighted_suspended_chin_up", "comment": ""},
            38: {"value_name": "pull_up", "comment": ""},
        },
    },
    "push_up_exercise_name": {
        "base_type": "uint16",
        "values": {
            0: {"value_name": "chest_press_with_band", "comment": ""},
            1: {"value_name": "alternating_staggered_push_up", "comment": ""},
            2: {"value_name": "weighted_alternating_staggered_push_up", "comment": ""},
            3: {"value_name": "alternating_hands_medicine_ball_push_up", "comment": ""},
            4: {
                "value_name": "weighted_alternating_hands_medicine_ball_push_up",
                "comment": "",
            },
            5: {"value_name": "bosu_ball_push_up", "comment": ""},
            6: {"value_name": "weighted_bosu_ball_push_up", "comment": ""},
            7: {"value_name": "clapping_push_up", "comment": ""},
            8: {"value_name": "weighted_clapping_push_up", "comment": ""},
            9: {"value_name": "close_grip_medicine_ball_push_up", "comment": ""},
            10: {
                "value_name": "weighted_close_grip_medicine_ball_push_up",
                "comment": "",
            },
            11: {"value_name": "close_hands_push_up", "comment": ""},
            12: {"value_name": "weighted_close_hands_push_up", "comment": ""},
            13: {"value_name": "decline_push_up", "comment": ""},
            14: {"value_name": "weighted_decline_push_up", "comment": ""},
            15: {"value_name": "diamond_push_up", "comment": ""},
            16: {"value_name": "weighted_diamond_push_up", "comment": ""},
            17: {"value_name": "explosive_crossover_push_up", "comment": ""},
            18: {"value_name": "weighted_explosive_crossover_push_up", "comment": ""},
            19: {"value_name": "explosive_push_up", "comment": ""},
            20: {"value_name": "weighted_explosive_push_up", "comment": ""},
            21: {"value_name": "feet_elevated_side_to_side_push_up", "comment": ""},
            22: {
                "value_name": "weighted_feet_elevated_side_to_side_push_up",
                "comment": "",
            },
            23: {"value_name": "hand_release_push_up", "comment": ""},
            24: {"value_name": "weighted_hand_release_push_up", "comment": ""},
            25: {"value_name": "handstand_push_up", "comment": ""},
            26: {"value_name": "weighted_handstand_push_up", "comment": ""},
            27: {"value_name": "incline_push_up", "comment": ""},
            28: {"value_name": "weighted_incline_push_up", "comment": ""},
            29: {"value_name": "isometric_explosive_push_up", "comment": ""},
            30: {"value_name": "weighted_isometric_explosive_push_up", "comment": ""},
            31: {"value_name": "judo_push_up", "comment": ""},
            32: {"value_name": "weighted_judo_push_up", "comment": ""},
            33: {"value_name": "kneeling_push_up", "comment": ""},
            34: {"value_name": "weighted_kneeling_push_up", "comment": ""},
            35: {"value_name": "medicine_ball_chest_pass", "comment": ""},
            36: {"value_name": "medicine_ball_push_up", "comment": ""},
            37: {"value_name": "weighted_medicine_ball_push_up", "comment": ""},
            38: {"value_name": "one_arm_push_up", "comment": ""},
            39: {"value_name": "weighted_one_arm_push_up", "comment": ""},
            40: {"value_name": "weighted_push_up", "comment": ""},
            41: {"value_name": "push_up_and_row", "comment": ""},
            42: {"value_name": "weighted_push_up_and_row", "comment": ""},
            43: {"value_name": "push_up_plus", "comment": ""},
            44: {"value_name": "weighted_push_up_plus", "comment": ""},
            45: {"value_name": "push_up_with_feet_on_swiss_ball", "comment": ""},
            46: {
                "value_name": "weighted_push_up_with_feet_on_swiss_ball",
                "comment": "",
            },
            47: {"value_name": "push_up_with_one_hand_on_medicine_ball", "comment": ""},
            48: {
                "value_name": "weighted_push_up_with_one_hand_on_medicine_ball",
                "comment": "",
            },
            49: {"value_name": "shoulder_push_up", "comment": ""},
            50: {"value_name": "weighted_shoulder_push_up", "comment": ""},
            51: {"value_name": "single_arm_medicine_ball_push_up", "comment": ""},
            52: {
                "value_name": "weighted_single_arm_medicine_ball_push_up",
                "comment": "",
            },
            53: {"value_name": "spiderman_push_up", "comment": ""},
            54: {"value_name": "weighted_spiderman_push_up", "comment": ""},
            55: {"value_name": "stacked_feet_push_up", "comment": ""},
            56: {"value_name": "weighted_stacked_feet_push_up", "comment": ""},
            57: {"value_name": "staggered_hands_push_up", "comment": ""},
            58: {"value_name": "weighted_staggered_hands_push_up", "comment": ""},
            59: {"value_name": "suspended_push_up", "comment": ""},
            60: {"value_name": "weighted_suspended_push_up", "comment": ""},
            61: {"value_name": "swiss_ball_push_up", "comment": ""},
            62: {"value_name": "weighted_swiss_ball_push_up", "comment": ""},
            63: {"value_name": "swiss_ball_push_up_plus", "comment": ""},
            64: {"value_name": "weighted_swiss_ball_push_up_plus", "comment": ""},
            65: {"value_name": "t_push_up", "comment": ""},
            66: {"value_name": "weighted_t_push_up", "comment": ""},
            67: {"value_name": "triple_stop_push_up", "comment": ""},
            68: {"value_name": "weighted_triple_stop_push_up", "comment": ""},
            69: {"value_name": "wide_hands_push_up", "comment": ""},
            70: {"value_name": "weighted_wide_hands_push_up", "comment": ""},
            71: {"value_name": "parallette_handstand_push_up", "comment": ""},
            72: {"value_name": "weighted_parallette_handstand_push_up", "comment": ""},
            73: {"value_name": "ring_handstand_push_up", "comment": ""},
            74: {"value_name": "weighted_ring_handstand_push_up", "comment": ""},
            75: {"value_name": "ring_push_up", "comment": ""},
            76: {"value_name": "weighted_ring_push_up", "comment": ""},
            77: {"value_name": "push_up", "comment": ""},
            78: {"value_name": "pilates_pushup", "comment": ""},
        },
    },
    "row_exercise_name": {
        "base_type": "uint16",
        "values": {
            0: {"value_name": "barbell_straight_leg_deadlift_to_row", "comment": ""},
            1: {"value_name": "cable_row_standing", "comment": ""},
            2: {"value_name": "dumbbell_row", "comment": ""},
            3: {"value_name": "elevated_feet_inverted_row", "comment": ""},
            4: {"value_name": "weighted_elevated_feet_inverted_row", "comment": ""},
            5: {"value_name": "face_pull", "comment": ""},
            6: {"value_name": "face_pull_with_external_rotation", "comment": ""},
            7: {"value_name": "inverted_row_with_feet_on_swiss_ball", "comment": ""},
            8: {
                "value_name": "weighted_inverted_row_with_feet_on_swiss_ball",
                "comment": "",
            },
            9: {"value_name": "kettlebell_row", "comment": ""},
            10: {"value_name": "modified_inverted_row", "comment": ""},
            11: {"value_name": "weighted_modified_inverted_row", "comment": ""},
            12: {"value_name": "neutral_grip_alternating_dumbbell_row", "comment": ""},
            13: {"value_name": "one_arm_bent_over_row", "comment": ""},
            14: {"value_name": "one_legged_dumbbell_row", "comment": ""},
            15: {"value_name": "renegade_row", "comment": ""},
            16: {"value_name": "reverse_grip_barbell_row", "comment": ""},
            17: {"value_name": "rope_handle_cable_row", "comment": ""},
            18: {"value_name": "seated_cable_row", "comment": ""},
            19: {"value_name": "seated_dumbbell_row", "comment": ""},
            20: {"value_name": "single_arm_cable_row", "comment": ""},
            21: {"value_name": "single_arm_cable_row_and_rotation", "comment": ""},
            22: {"value_name": "single_arm_inverted_row", "comment": ""},
            23: {"value_name": "weighted_single_arm_inverted_row", "comment": ""},
            24: {"value_name": "single_arm_neutral_grip_dumbbell_row", "comment": ""},
            25: {
                "value_name": "single_arm_neutral_grip_dumbbell_row_and_rotation",
                "comment": "",
            },
            26: {"value_name": "suspended_inverted_row", "comment": ""},
            27: {"value_name": "weighted_suspended_inverted_row", "comment": ""},
            28: {"value_name": "t_bar_row", "comment": ""},
            29: {"value_name": "towel_grip_inverted_row", "comment": ""},
            30: {"value_name": "weighted_towel_grip_inverted_row", "comment": ""},
            31: {"value_name": "underhand_grip_cable_row", "comment": ""},
            32: {"value_name": "v_grip_cable_row", "comment": ""},
            33: {"value_name": "wide_grip_seated_cable_row", "comment": ""},
        },
    },
    "shoulder_press_exercise_name": {
        "base_type": "uint16",
        "values": {
            0: {"value_name": "alternating_dumbbell_shoulder_press", "comment": ""},
            1: {"value_name": "arnold_press", "comment": ""},
            2: {"value_name": "barbell_front_squat_to_push_press", "comment": ""},
            3: {"value_name": "barbell_push_press", "comment": ""},
            4: {"value_name": "barbell_shoulder_press", "comment": ""},
            5: {"value_name": "dead_curl_press", "comment": ""},
            6: {
                "value_name": "dumbbell_alternating_shoulder_press_and_twist",
                "comment": "",
            },
            7: {"value_name": "dumbbell_hammer_curl_to_lunge_to_press", "comment": ""},
            8: {"value_name": "dumbbell_push_press", "comment": ""},
            9: {"value_name": "floor_inverted_shoulder_press", "comment": ""},
            10: {"value_name": "weighted_floor_inverted_shoulder_press", "comment": ""},
            11: {"value_name": "inverted_shoulder_press", "comment": ""},
            12: {"value_name": "weighted_inverted_shoulder_press", "comment": ""},
            13: {"value_name": "one_arm_push_press", "comment": ""},
            14: {"value_name": "overhead_barbell_press", "comment": ""},
            15: {"value_name": "overhead_dumbbell_press", "comment": ""},
            16: {"value_name": "seated_barbell_shoulder_press", "comment": ""},
            17: {"value_name": "seated_dumbbell_shoulder_press", "comment": ""},
            18: {"value_name": "single_arm_dumbbell_shoulder_press", "comment": ""},
            19: {"value_name": "single_arm_step_up_and_press", "comment": ""},
            20: {"value_name": "smith_machine_overhead_press", "comment": ""},
            21: {"value_name": "split_stance_hammer_curl_to_press", "comment": ""},
            22: {"value_name": "swiss_ball_dumbbell_shoulder_press", "comment": ""},
            23: {"value_name": "weight_plate_front_raise", "comment": ""},
        },
    },
    "shoulder_stability_exercise_name": {
        "base_type": "uint16",
        "values": {
            0: {"value_name": "90_degree_cable_external_rotation", "comment": ""},
            1: {"value_name": "band_external_rotation", "comment": ""},
            2: {"value_name": "band_internal_rotation", "comment": ""},
            3: {
                "value_name": "bent_arm_lateral_raise_and_external_rotation",
                "comment": "",
            },
            4: {"value_name": "cable_external_rotation", "comment": ""},
            5: {
                "value_name": "dumbbell_face_pull_with_external_rotation",
                "comment": "",
            },
            6: {"value_name": "floor_i_raise", "comment": ""},
            7: {"value_name": "weighted_floor_i_raise", "comment": ""},
            8: {"value_name": "floor_t_raise", "comment": ""},
            9: {"value_name": "weighted_floor_t_raise", "comment": ""},
            10: {"value_name": "floor_y_raise", "comment": ""},
            11: {"value_name": "weighted_floor_y_raise", "comment": ""},
            12: {"value_name": "incline_i_raise", "comment": ""},
            13: {"value_name": "weighted_incline_i_raise", "comment": ""},
            14: {"value_name": "incline_l_raise", "comment": ""},
            15: {"value_name": "weighted_incline_l_raise", "comment": ""},
            16: {"value_name": "incline_t_raise", "comment": ""},
            17: {"value_name": "weighted_incline_t_raise", "comment": ""},
            18: {"value_name": "incline_w_raise", "comment": ""},
            19: {"value_name": "weighted_incline_w_raise", "comment": ""},
            20: {"value_name": "incline_y_raise", "comment": ""},
            21: {"value_name": "weighted_incline_y_raise", "comment": ""},
            22: {"value_name": "lying_external_rotation", "comment": ""},
            23: {"value_name": "seated_dumbbell_external_rotation", "comment": ""},
            24: {"value_name": "standing_l_raise", "comment": ""},
            25: {"value_name": "swiss_ball_i_raise", "comment": ""},
            26: {"value_name": "weighted_swiss_ball_i_raise", "comment": ""},
            27: {"value_name": "swiss_ball_t_raise", "comment": ""},
            28: {"value_name": "weighted_swiss_ball_t_raise", "comment": ""},
            29: {"value_name": "swiss_ball_w_raise", "comment": ""},
            30: {"value_name": "weighted_swiss_ball_w_raise", "comment": ""},
            31: {"value_name": "swiss_ball_y_raise", "comment": ""},
            32: {"value_name": "weighted_swiss_ball_y_raise", "comment": ""},
        },
    },
    "shrug_exercise_name": {
        "base_type": "uint16",
        "values": {
            0: {"value_name": "barbell_jump_shrug", "comment": ""},
            1: {"value_name": "barbell_shrug", "comment": ""},
            2: {"value_name": "barbell_upright_row", "comment": ""},
            3: {"value_name": "behind_the_back_smith_machine_shrug", "comment": ""},
            4: {"value_name": "dumbbell_jump_shrug", "comment": ""},
            5: {"value_name": "dumbbell_shrug", "comment": ""},
            6: {"value_name": "dumbbell_upright_row", "comment": ""},
            7: {"value_name": "incline_dumbbell_shrug", "comment": ""},
            8: {"value_name": "overhead_barbell_shrug", "comment": ""},
            9: {"value_name": "overhead_dumbbell_shrug", "comment": ""},
            10: {"value_name": "scaption_and_shrug", "comment": ""},
            11: {"value_name": "scapular_retraction", "comment": ""},
            12: {"value_name": "serratus_chair_shrug", "comment": ""},
            13: {"value_name": "weighted_serratus_chair_shrug", "comment": ""},
            14: {"value_name": "serratus_shrug", "comment": ""},
            15: {"value_name": "weighted_serratus_shrug", "comment": ""},
            16: {"value_name": "wide_grip_jump_shrug", "comment": ""},
        },
    },
    "sit_up_exercise_name": {
        "base_type": "uint16",
        "values": {
            0: {"value_name": "alternating_sit_up", "comment": ""},
            1: {"value_name": "weighted_alternating_sit_up", "comment": ""},
            2: {"value_name": "bent_knee_v_up", "comment": ""},
            3: {"value_name": "weighted_bent_knee_v_up", "comment": ""},
            4: {"value_name": "butterfly_sit_up", "comment": ""},
            5: {"value_name": "weighted_butterfly_situp", "comment": ""},
            6: {"value_name": "cross_punch_roll_up", "comment": ""},
            7: {"value_name": "weighted_cross_punch_roll_up", "comment": ""},
            8: {"value_name": "crossed_arms_sit_up", "comment": ""},
            9: {"value_name": "weighted_crossed_arms_sit_up", "comment": ""},
            10: {"value_name": "get_up_sit_up", "comment": ""},
            11: {"value_name": "weighted_get_up_sit_up", "comment": ""},
            12: {"value_name": "hovering_sit_up", "comment": ""},
            13: {"value_name": "weighted_hovering_sit_up", "comment": ""},
            14: {"value_name": "kettlebell_sit_up", "comment": ""},
            15: {"value_name": "medicine_ball_alternating_v_up", "comment": ""},
            16: {"value_name": "medicine_ball_sit_up", "comment": ""},
            17: {"value_name": "medicine_ball_v_up", "comment": ""},
            18: {"value_name": "modified_sit_up", "comment": ""},
            19: {"value_name": "negative_sit_up", "comment": ""},
            20: {"value_name": "one_arm_full_sit_up", "comment": ""},
            21: {"value_name": "reclining_circle", "comment": ""},
            22: {"value_name": "weighted_reclining_circle", "comment": ""},
            23: {"value_name": "reverse_curl_up", "comment": ""},
            24: {"value_name": "weighted_reverse_curl_up", "comment": ""},
            25: {"value_name": "single_leg_swiss_ball_jackknife", "comment": ""},
            26: {
                "value_name": "weighted_single_leg_swiss_ball_jackknife",
                "comment": "",
            },
            27: {"value_name": "the_teaser", "comment": ""},
            28: {"value_name": "the_teaser_weighted", "comment": ""},
            29: {"value_name": "three_part_roll_down", "comment": ""},
            30: {"value_name": "weighted_three_part_roll_down", "comment": ""},
            31: {"value_name": "v_up", "comment": ""},
            32: {"value_name": "weighted_v_up", "comment": ""},
            33: {"value_name": "weighted_russian_twist_on_swiss_ball", "comment": ""},
            34: {"value_name": "weighted_sit_up", "comment": ""},
            35: {"value_name": "x_abs", "comment": ""},
            36: {"value_name": "weighted_x_abs", "comment": ""},
            37: {"value_name": "sit_up", "comment": ""},
        },
    },
    "squat_exercise_name": {
        "base_type": "uint16",
        "values": {
            0: {"value_name": "leg_press", "comment": ""},
            1: {"value_name": "back_squat_with_body_bar", "comment": ""},
            2: {"value_name": "back_squats", "comment": ""},
            3: {"value_name": "weighted_back_squats", "comment": ""},
            4: {"value_name": "balancing_squat", "comment": ""},
            5: {"value_name": "weighted_balancing_squat", "comment": ""},
            6: {"value_name": "barbell_back_squat", "comment": ""},
            7: {"value_name": "barbell_box_squat", "comment": ""},
            8: {"value_name": "barbell_front_squat", "comment": ""},
            9: {"value_name": "barbell_hack_squat", "comment": ""},
            10: {"value_name": "barbell_hang_squat_snatch", "comment": ""},
            11: {"value_name": "barbell_lateral_step_up", "comment": ""},
            12: {"value_name": "barbell_quarter_squat", "comment": ""},
            13: {"value_name": "barbell_siff_squat", "comment": ""},
            14: {"value_name": "barbell_squat_snatch", "comment": ""},
            15: {"value_name": "barbell_squat_with_heels_raised", "comment": ""},
            16: {"value_name": "barbell_stepover", "comment": ""},
            17: {"value_name": "barbell_step_up", "comment": ""},
            18: {"value_name": "bench_squat_with_rotational_chop", "comment": ""},
            19: {
                "value_name": "weighted_bench_squat_with_rotational_chop",
                "comment": "",
            },
            20: {"value_name": "body_weight_wall_squat", "comment": ""},
            21: {"value_name": "weighted_wall_squat", "comment": ""},
            22: {"value_name": "box_step_squat", "comment": ""},
            23: {"value_name": "weighted_box_step_squat", "comment": ""},
            24: {"value_name": "braced_squat", "comment": ""},
            25: {"value_name": "crossed_arm_barbell_front_squat", "comment": ""},
            26: {"value_name": "crossover_dumbbell_step_up", "comment": ""},
            27: {"value_name": "dumbbell_front_squat", "comment": ""},
            28: {"value_name": "dumbbell_split_squat", "comment": ""},
            29: {"value_name": "dumbbell_squat", "comment": ""},
            30: {"value_name": "dumbbell_squat_clean", "comment": ""},
            31: {"value_name": "dumbbell_stepover", "comment": ""},
            32: {"value_name": "dumbbell_step_up", "comment": ""},
            33: {"value_name": "elevated_single_leg_squat", "comment": ""},
            34: {"value_name": "weighted_elevated_single_leg_squat", "comment": ""},
            35: {"value_name": "figure_four_squats", "comment": ""},
            36: {"value_name": "weighted_figure_four_squats", "comment": ""},
            37: {"value_name": "goblet_squat", "comment": ""},
            38: {"value_name": "kettlebell_squat", "comment": ""},
            39: {"value_name": "kettlebell_swing_overhead", "comment": ""},
            40: {"value_name": "kettlebell_swing_with_flip_to_squat", "comment": ""},
            41: {"value_name": "lateral_dumbbell_step_up", "comment": ""},
            42: {"value_name": "one_legged_squat", "comment": ""},
            43: {"value_name": "overhead_dumbbell_squat", "comment": ""},
            44: {"value_name": "overhead_squat", "comment": ""},
            45: {"value_name": "partial_single_leg_squat", "comment": ""},
            46: {"value_name": "weighted_partial_single_leg_squat", "comment": ""},
            47: {"value_name": "pistol_squat", "comment": ""},
            48: {"value_name": "weighted_pistol_squat", "comment": ""},
            49: {"value_name": "plie_slides", "comment": ""},
            50: {"value_name": "weighted_plie_slides", "comment": ""},
            51: {"value_name": "plie_squat", "comment": ""},
            52: {"value_name": "weighted_plie_squat", "comment": ""},
            53: {"value_name": "prisoner_squat", "comment": ""},
            54: {"value_name": "weighted_prisoner_squat", "comment": ""},
            55: {"value_name": "single_leg_bench_get_up", "comment": ""},
            56: {"value_name": "weighted_single_leg_bench_get_up", "comment": ""},
            57: {"value_name": "single_leg_bench_squat", "comment": ""},
            58: {"value_name": "weighted_single_leg_bench_squat", "comment": ""},
            59: {"value_name": "single_leg_squat_on_swiss_ball", "comment": ""},
            60: {
                "value_name": "weighted_single_leg_squat_on_swiss_ball",
                "comment": "",
            },
            61: {"value_name": "squat", "comment": ""},
            62: {"value_name": "weighted_squat", "comment": ""},
            63: {"value_name": "squats_with_band", "comment": ""},
            64: {"value_name": "staggered_squat", "comment": ""},
            65: {"value_name": "weighted_staggered_squat", "comment": ""},
            66: {"value_name": "step_up", "comment": ""},
            67: {"value_name": "weighted_step_up", "comment": ""},
            68: {"value_name": "suitcase_squats", "comment": ""},
            69: {"value_name": "sumo_squat", "comment": ""},
            70: {"value_name": "sumo_squat_slide_in", "comment": ""},
            71: {"value_name": "weighted_sumo_squat_slide_in", "comment": ""},
            72: {"value_name": "sumo_squat_to_high_pull", "comment": ""},
            73: {"value_name": "sumo_squat_to_stand", "comment": ""},
            74: {"value_name": "weighted_sumo_squat_to_stand", "comment": ""},
            75: {"value_name": "sumo_squat_with_rotation", "comment": ""},
            76: {"value_name": "weighted_sumo_squat_with_rotation", "comment": ""},
            77: {"value_name": "swiss_ball_body_weight_wall_squat", "comment": ""},
            78: {"value_name": "weighted_swiss_ball_wall_squat", "comment": ""},
            79: {"value_name": "thrusters", "comment": ""},
            80: {"value_name": "uneven_squat", "comment": ""},
            81: {"value_name": "weighted_uneven_squat", "comment": ""},
            82: {"value_name": "waist_slimming_squat", "comment": ""},
            83: {"value_name": "wall_ball", "comment": ""},
            84: {"value_name": "wide_stance_barbell_squat", "comment": ""},
            85: {"value_name": "wide_stance_goblet_squat", "comment": ""},
            86: {"value_name": "zercher_squat", "comment": ""},
            87: {"value_name": "kbs_overhead", "comment": "Deprecated do not use"},
            88: {"value_name": "squat_and_side_kick", "comment": ""},
            89: {"value_name": "squat_jumps_in_n_out", "comment": ""},
            90: {
                "value_name": "pilates_plie_squats_parallel_turned_out_flat_and_heels",
                "comment": "",
            },
            91: {
                "value_name": "releve_straight_leg_and_knee_bent_with_one_leg_variation",
                "comment": "",
            },
        },
    },
    "total_body_exercise_name": {
        "base_type": "uint16",
        "values": {
            0: {"value_name": "burpee", "comment": ""},
            1: {"value_name": "weighted_burpee", "comment": ""},
            2: {"value_name": "burpee_box_jump", "comment": ""},
            3: {"value_name": "weighted_burpee_box_jump", "comment": ""},
            4: {"value_name": "high_pull_burpee", "comment": ""},
            5: {"value_name": "man_makers", "comment": ""},
            6: {"value_name": "one_arm_burpee", "comment": ""},
            7: {"value_name": "squat_thrusts", "comment": ""},
            8: {"value_name": "weighted_squat_thrusts", "comment": ""},
            9: {"value_name": "squat_plank_push_up", "comment": ""},
            10: {"value_name": "weighted_squat_plank_push_up", "comment": ""},
            11: {"value_name": "standing_t_rotation_balance", "comment": ""},
            12: {"value_name": "weighted_standing_t_rotation_balance", "comment": ""},
        },
    },
    "triceps_extension_exercise_name": {
        "base_type": "uint16",
        "values": {
            0: {"value_name": "bench_dip", "comment": ""},
            1: {"value_name": "weighted_bench_dip", "comment": ""},
            2: {"value_name": "body_weight_dip", "comment": ""},
            3: {"value_name": "cable_kickback", "comment": ""},
            4: {"value_name": "cable_lying_triceps_extension", "comment": ""},
            5: {"value_name": "cable_overhead_triceps_extension", "comment": ""},
            6: {"value_name": "dumbbell_kickback", "comment": ""},
            7: {"value_name": "dumbbell_lying_triceps_extension", "comment": ""},
            8: {"value_name": "ez_bar_overhead_triceps_extension", "comment": ""},
            9: {"value_name": "incline_dip", "comment": ""},
            10: {"value_name": "weighted_incline_dip", "comment": ""},
            11: {"value_name": "incline_ez_bar_lying_triceps_extension", "comment": ""},
            12: {"value_name": "lying_dumbbell_pullover_to_extension", "comment": ""},
            13: {"value_name": "lying_ez_bar_triceps_extension", "comment": ""},
            14: {
                "value_name": "lying_triceps_extension_to_close_grip_bench_press",
                "comment": "",
            },
            15: {"value_name": "overhead_dumbbell_triceps_extension", "comment": ""},
            16: {"value_name": "reclining_triceps_press", "comment": ""},
            17: {"value_name": "reverse_grip_pressdown", "comment": ""},
            18: {"value_name": "reverse_grip_triceps_pressdown", "comment": ""},
            19: {"value_name": "rope_pressdown", "comment": ""},
            20: {
                "value_name": "seated_barbell_overhead_triceps_extension",
                "comment": "",
            },
            21: {
                "value_name": "seated_dumbbell_overhead_triceps_extension",
                "comment": "",
            },
            22: {
                "value_name": "seated_ez_bar_overhead_triceps_extension",
                "comment": "",
            },
            23: {
                "value_name": "seated_single_arm_overhead_dumbbell_extension",
                "comment": "",
            },
            24: {
                "value_name": "single_arm_dumbbell_overhead_triceps_extension",
                "comment": "",
            },
            25: {
                "value_name": "single_dumbbell_seated_overhead_triceps_extension",
                "comment": "",
            },
            26: {"value_name": "single_leg_bench_dip_and_kick", "comment": ""},
            27: {"value_name": "weighted_single_leg_bench_dip_and_kick", "comment": ""},
            28: {"value_name": "single_leg_dip", "comment": ""},
            29: {"value_name": "weighted_single_leg_dip", "comment": ""},
            30: {"value_name": "static_lying_triceps_extension", "comment": ""},
            31: {"value_name": "suspended_dip", "comment": ""},
            32: {"value_name": "weighted_suspended_dip", "comment": ""},
            33: {
                "value_name": "swiss_ball_dumbbell_lying_triceps_extension",
                "comment": "",
            },
            34: {
                "value_name": "swiss_ball_ez_bar_lying_triceps_extension",
                "comment": "",
            },
            35: {
                "value_name": "swiss_ball_ez_bar_overhead_triceps_extension",
                "comment": "",
            },
            36: {"value_name": "tabletop_dip", "comment": ""},
            37: {"value_name": "weighted_tabletop_dip", "comment": ""},
            38: {"value_name": "triceps_extension_on_floor", "comment": ""},
            39: {"value_name": "triceps_pressdown", "comment": ""},
            40: {"value_name": "weighted_dip", "comment": ""},
        },
    },
    "warm_up_exercise_name": {
        "base_type": "uint16",
        "values": {
            0: {"value_name": "quadruped_rocking", "comment": ""},
            1: {"value_name": "neck_tilts", "comment": ""},
            2: {"value_name": "ankle_circles", "comment": ""},
            3: {"value_name": "ankle_dorsiflexion_with_band", "comment": ""},
            4: {"value_name": "ankle_internal_rotation", "comment": ""},
            5: {"value_name": "arm_circles", "comment": ""},
            6: {"value_name": "bent_over_reach_to_sky", "comment": ""},
            7: {"value_name": "cat_camel", "comment": ""},
            8: {"value_name": "elbow_to_foot_lunge", "comment": ""},
            9: {"value_name": "forward_and_backward_leg_swings", "comment": ""},
            10: {"value_name": "groiners", "comment": ""},
            11: {"value_name": "inverted_hamstring_stretch", "comment": ""},
            12: {"value_name": "lateral_duck_under", "comment": ""},
            13: {"value_name": "neck_rotations", "comment": ""},
            14: {"value_name": "opposite_arm_and_leg_balance", "comment": ""},
            15: {"value_name": "reach_roll_and_lift", "comment": ""},
            16: {"value_name": "scorpion", "comment": "Deprecated do not use"},
            17: {"value_name": "shoulder_circles", "comment": ""},
            18: {"value_name": "side_to_side_leg_swings", "comment": ""},
            19: {"value_name": "sleeper_stretch", "comment": ""},
            20: {"value_name": "slide_out", "comment": ""},
            21: {"value_name": "swiss_ball_hip_crossover", "comment": ""},
            22: {"value_name": "swiss_ball_reach_roll_and_lift", "comment": ""},
            23: {"value_name": "swiss_ball_windshield_wipers", "comment": ""},
            24: {"value_name": "thoracic_rotation", "comment": ""},
            25: {"value_name": "walking_high_kicks", "comment": ""},
            26: {"value_name": "walking_high_knees", "comment": ""},
            27: {"value_name": "walking_knee_hugs", "comment": ""},
            28: {"value_name": "walking_leg_cradles", "comment": ""},
            29: {"value_name": "walkout", "comment": ""},
            30: {"value_name": "walkout_from_push_up_position", "comment": ""},
        },
    },
    "run_exercise_name": {
        "base_type": "uint16",
        "values": {
            0: {"value_name": "run", "comment": ""},
            1: {"value_name": "walk", "comment": ""},
            2: {"value_name": "jog", "comment": ""},
            3: {"value_name": "sprint", "comment": ""},
        },
    },
    "water_type": {
        "base_type": "enum",
        "values": {
            0: {"value_name": "fresh", "comment": ""},
            1: {"value_name": "salt", "comment": ""},
            2: {"value_name": "en13319", "comment": ""},
            3: {"value_name": "custom", "comment": ""},
        },
    },
    "tissue_model_type": {
        "base_type": "enum",
        "values": {
            0: {
                "value_name": "zhl_16c",
                "comment": "Buhlmann's decompression algorithm, " "version C",
            }
        },
    },
    "dive_gas_status": {
        "base_type": "enum",
        "values": {
            0: {"value_name": "disabled", "comment": ""},
            1: {"value_name": "enabled", "comment": ""},
            2: {"value_name": "backup_only", "comment": ""},
        },
    },
    "dive_alarm_type": {
        "base_type": "enum",
        "values": {
            0: {
                "value_name": "depth",
                "comment": "Alarm when a certain depth is crossed",
            },
            1: {
                "value_name": "time",
                "comment": "Alarm when a certain time has " "transpired",
            },
        },
    },
    "dive_backlight_mode": {
        "base_type": "enum",
        "values": {
            0: {"value_name": "at_depth", "comment": ""},
            1: {"value_name": "always_on", "comment": ""},
        },
    },
    "favero_product": {
        "base_type": "uint16",
        "values": {
            10: {"value_name": "assioma_uno", "comment": ""},
            12: {"value_name": "assioma_duo", "comment": ""},
        },
    },
    "climb_pro_event": {
        "base_type": "enum",
        "values": {
            0: {"value_name": "approach", "comment": ""},
            1: {"value_name": "start", "comment": ""},
            2: {"value_name": "complete", "comment": ""},
        },
    },
    "tap_sensitivity": {
        "base_type": "enum",
        "values": {
            0: {"value_name": "high", "comment": ""},
            1: {"value_name": "medium", "comment": ""},
            2: {"value_name": "low", "comment": ""},
        },
    },
    "radar_threat_level_type": {
        "base_type": "enum",
        "values": {
            0: {"value_name": "threat_unknown", "comment": ""},
            1: {"value_name": "threat_none", "comment": ""},
            2: {"value_name": "threat_approaching", "comment": ""},
            3: {"value_name": "threat_approaching_fast", "comment": ""},
        },
    },
}
