# noqa pylint: disable=too-many-lines,use-dict-literal
# Generated by the protocol buffer compiler.  DO NOT EDIT!
# source: product_db.proto

import sys

_b = (lambda x: x) if sys.version_info[0] < 3 else (lambda x: x.encode("latin1"))
from google.protobuf import descriptor as _descriptor
from google.protobuf import message as _message
from google.protobuf import reflection as _reflection
from google.protobuf import symbol_database as _symbol_database
from google.protobuf.internal import enum_type_wrapper

# ~ from google.protobuf import descriptor_pb2
# @@protoc_insertion_point(imports)

_sym_db = _symbol_database.Default()

DESCRIPTOR = _descriptor.FileDescriptor(
    name="product_db.proto",
    package="",
    syntax="proto3",
    serialized_pb=_b(
        '\n\x10product_db.proto"D\n\x0fLanguageSetting\x12\x10\n\x08language\x18\x01 \x01(\t\x12\x1f\n\x06option\x18\x02 \x01(\x0e\x32\x0f.LanguageOption"\xdb\x02\n\x0cUserSettings\x12\x14\n\x0cinstall_path\x18\x01 \x01(\t\x12\x13\n\x0bplay_region\x18\x02 \x01(\t\x12)\n\x10\x64\x65sktop_shortcut\x18\x03 \x01(\x0e\x32\x0f.ShortcutOption\x12+\n\x12startmenu_shortcut\x18\x04 \x01(\x0e\x32\x0f.ShortcutOption\x12/\n\x11language_settings\x18\x05 \x01(\x0e\x32\x14.LanguageSettingType\x12\x1e\n\x16selected_text_language\x18\x06 \x01(\t\x12 \n\x18selected_speech_language\x18\x07 \x01(\t\x12#\n\tlanguages\x18\x08 \x03(\x0b\x32\x10.LanguageSetting\x12\x19\n\x11gfx_override_tags\x18\t \x01(\t\x12\x15\n\rversionbranch\x18\n \x01(\t"Q\n\x10InstallHandshake\x12\x0f\n\x07product\x18\x01 \x01(\t\x12\x0b\n\x03uid\x18\x02 \x01(\t\x12\x1f\n\x08settings\x18\x03 \x01(\x0b\x32\r.UserSettings"3\n\x0b\x42uildConfig\x12\x0e\n\x06region\x18\x01 \x01(\t\x12\x14\n\x0c\x62uild_config\x18\x02 \x01(\t"\xf4\x02\n\x10\x42\x61seProductState\x12\x11\n\tinstalled\x18\x01 \x01(\x08\x12\x10\n\x08playable\x18\x02 \x01(\x08\x12\x17\n\x0fupdate_complete\x18\x03 \x01(\x08\x12%\n\x1d\x62\x61\x63kground_download_available\x18\x04 \x01(\x08\x12$\n\x1c\x62\x61\x63kground_download_complete\x18\x05 \x01(\x08\x12\x17\n\x0f\x63urrent_version\x18\x06 \x01(\t\x12\x1b\n\x13\x63urrent_version_str\x18\x07 \x01(\t\x12,\n\x16installed_build_config\x18\x08 \x03(\x0b\x32\x0c.BuildConfig\x12\x36\n background_download_build_config\x18\t \x03(\x0b\x32\x0c.BuildConfig\x12\x16\n\x0e\x64\x65\x63ryption_key\x18\n \x01(\t\x12!\n\x19\x63ompleted_install_actions\x18\x0b \x03(\t"h\n\x10\x42\x61\x63kfillProgress\x12\x10\n\x08progress\x18\x01 \x01(\x01\x12\x1a\n\x12\x62\x61\x63kgrounddownload\x18\x02 \x01(\x08\x12\x0e\n\x06paused\x18\x03 \x01(\x08\x12\x16\n\x0e\x64ownload_limit\x18\x04 \x01(\x04""\n\x0eRepairProgress\x12\x10\n\x08progress\x18\x01 \x01(\x01"\x8b\x01\n\x0eUpdateProgress\x12\x1a\n\x12last_disc_set_used\x18\x01 \x01(\t\x12\x10\n\x08progress\x18\x02 \x01(\x01\x12\x14\n\x0c\x64isc_ignored\x18\x03 \x01(\x08\x12\x19\n\x11total_to_download\x18\x04 \x01(\x04\x12\x1a\n\x12\x64ownload_remaining\x18\x05 \x01(\x04"\xc5\x01\n\x12\x43\x61\x63hedProductState\x12-\n\x12\x62\x61se_product_state\x18\x01 \x01(\x0b\x32\x11.BaseProductState\x12,\n\x11\x62\x61\x63kfill_progress\x18\x02 \x01(\x0b\x32\x11.BackfillProgress\x12(\n\x0frepair_progress\x18\x03 \x01(\x0b\x32\x0f.RepairProgress\x12(\n\x0fupdate_progress\x18\x04 \x01(\x0b\x32\x0f.UpdateProgress"K\n\x11ProductOperations\x12$\n\x10\x61\x63tive_operation\x18\x01 \x01(\x0e\x32\n.Operation\x12\x10\n\x08priority\x18\x02 \x01(\x04"\xb7\x01\n\x0eProductInstall\x12\x0b\n\x03uid\x18\x01 \x01(\t\x12\x14\n\x0cproduct_code\x18\x02 \x01(\t\x12\x1f\n\x08settings\x18\x03 \x01(\x0b\x32\r.UserSettings\x12\x31\n\x14\x63\x61\x63hed_product_state\x18\x04 \x01(\x0b\x32\x13.CachedProductState\x12.\n\x12product_operations\x18\x05 \x01(\x0b\x32\x12.ProductOperations"O\n\rProductConfig\x12\x14\n\x0cproduct_code\x18\x01 \x01(\t\x12\x15\n\rmetadata_hash\x18\x02 \x01(\t\x12\x11\n\ttimestamp\x18\x03 \x01(\t"?\n\rActiveProcess\x12\x14\n\x0cprocess_name\x18\x01 \x01(\t\x12\x0b\n\x03pid\x18\x02 \x01(\x05\x12\x0b\n\x03uri\x18\x03 \x03(\t"B\n\x10\x44ownloadSettings\x12\x16\n\x0e\x64ownload_limit\x18\x01 \x01(\x05\x12\x16\n\x0e\x62\x61\x63kfill_limit\x18\x02 \x01(\x05"\xe3\x01\n\tProductDb\x12)\n\x10product_installs\x18\x01 \x03(\x0b\x32\x0f.ProductInstall\x12*\n\x0f\x61\x63tive_installs\x18\x02 \x03(\x0b\x32\x11.InstallHandshake\x12(\n\x10\x61\x63tive_processes\x18\x03 \x03(\x0b\x32\x0e.ActiveProcess\x12\'\n\x0fproduct_configs\x18\x04 \x03(\x0b\x32\x0e.ProductConfig\x12,\n\x11\x64ownload_settings\x18\x05 \x01(\x0b\x32\x11.DownloadSettings*q\n\x0eLanguageOption\x12\x13\n\x0fLANGOPTION_NONE\x10\x00\x12\x13\n\x0fLANGOPTION_TEXT\x10\x01\x12\x15\n\x11LANGOPTION_SPEECH\x10\x02\x12\x1e\n\x1aLANGOPTION_TEXT_AND_SPEECH\x10\x03*u\n\x13LanguageSettingType\x12\x14\n\x10LANGSETTING_NONE\x10\x00\x12\x16\n\x12LANGSETTING_SINGLE\x10\x01\x12\x16\n\x12LANGSETTING_SIMPLE\x10\x02\x12\x18\n\x14LANGSETTING_ADVANCED\x10\x03*N\n\x0eShortcutOption\x12\x11\n\rSHORTCUT_NONE\x10\x00\x12\x11\n\rSHORTCUT_USER\x10\x01\x12\x16\n\x12SHORTCUT_ALL_USERS\x10\x02*P\n\tOperation\x12\r\n\tOP_UPDATE\x10\x00\x12\x0f\n\x0bOP_BACKFILL\x10\x01\x12\r\n\tOP_REPAIR\x10\x02\x12\x14\n\x07OP_NONE\x10\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x62\x06proto3'  # noqa
    ),  # noqa pylint: disable=line-too-long
)
_sym_db.RegisterFileDescriptor(DESCRIPTOR)

_LANGUAGEOPTION = _descriptor.EnumDescriptor(
    name="LanguageOption",
    full_name="LanguageOption",
    filename=None,
    file=DESCRIPTOR,
    values=[
        _descriptor.EnumValueDescriptor(name="LANGOPTION_NONE", index=0, number=0, options=None, type=None),
        _descriptor.EnumValueDescriptor(name="LANGOPTION_TEXT", index=1, number=1, options=None, type=None),
        _descriptor.EnumValueDescriptor(name="LANGOPTION_SPEECH", index=2, number=2, options=None, type=None),
        _descriptor.EnumValueDescriptor(name="LANGOPTION_TEXT_AND_SPEECH", index=3, number=3, options=None, type=None),
    ],
    containing_type=None,
    options=None,
    serialized_start=2142,
    serialized_end=2255,
)
_sym_db.RegisterEnumDescriptor(_LANGUAGEOPTION)

LanguageOption = enum_type_wrapper.EnumTypeWrapper(_LANGUAGEOPTION)
_LANGUAGESETTINGTYPE = _descriptor.EnumDescriptor(
    name="LanguageSettingType",
    full_name="LanguageSettingType",
    filename=None,
    file=DESCRIPTOR,
    values=[
        _descriptor.EnumValueDescriptor(name="LANGSETTING_NONE", index=0, number=0, options=None, type=None),
        _descriptor.EnumValueDescriptor(name="LANGSETTING_SINGLE", index=1, number=1, options=None, type=None),
        _descriptor.EnumValueDescriptor(name="LANGSETTING_SIMPLE", index=2, number=2, options=None, type=None),
        _descriptor.EnumValueDescriptor(name="LANGSETTING_ADVANCED", index=3, number=3, options=None, type=None),
    ],
    containing_type=None,
    options=None,
    serialized_start=2257,
    serialized_end=2374,
)
_sym_db.RegisterEnumDescriptor(_LANGUAGESETTINGTYPE)

LanguageSettingType = enum_type_wrapper.EnumTypeWrapper(_LANGUAGESETTINGTYPE)
_SHORTCUTOPTION = _descriptor.EnumDescriptor(
    name="ShortcutOption",
    full_name="ShortcutOption",
    filename=None,
    file=DESCRIPTOR,
    values=[
        _descriptor.EnumValueDescriptor(name="SHORTCUT_NONE", index=0, number=0, options=None, type=None),
        _descriptor.EnumValueDescriptor(name="SHORTCUT_USER", index=1, number=1, options=None, type=None),
        _descriptor.EnumValueDescriptor(name="SHORTCUT_ALL_USERS", index=2, number=2, options=None, type=None),
    ],
    containing_type=None,
    options=None,
    serialized_start=2376,
    serialized_end=2454,
)
_sym_db.RegisterEnumDescriptor(_SHORTCUTOPTION)

ShortcutOption = enum_type_wrapper.EnumTypeWrapper(_SHORTCUTOPTION)
_OPERATION = _descriptor.EnumDescriptor(
    name="Operation",
    full_name="Operation",
    filename=None,
    file=DESCRIPTOR,
    values=[
        _descriptor.EnumValueDescriptor(name="OP_UPDATE", index=0, number=0, options=None, type=None),
        _descriptor.EnumValueDescriptor(name="OP_BACKFILL", index=1, number=1, options=None, type=None),
        _descriptor.EnumValueDescriptor(name="OP_REPAIR", index=2, number=2, options=None, type=None),
        _descriptor.EnumValueDescriptor(name="OP_NONE", index=3, number=-1, options=None, type=None),
    ],
    containing_type=None,
    options=None,
    serialized_start=2456,
    serialized_end=2536,
)
_sym_db.RegisterEnumDescriptor(_OPERATION)

Operation = enum_type_wrapper.EnumTypeWrapper(_OPERATION)
LANGOPTION_NONE = 0
LANGOPTION_TEXT = 1
LANGOPTION_SPEECH = 2
LANGOPTION_TEXT_AND_SPEECH = 3
LANGSETTING_NONE = 0
LANGSETTING_SINGLE = 1
LANGSETTING_SIMPLE = 2
LANGSETTING_ADVANCED = 3
SHORTCUT_NONE = 0
SHORTCUT_USER = 1
SHORTCUT_ALL_USERS = 2
OP_UPDATE = 0
OP_BACKFILL = 1
OP_REPAIR = 2
OP_NONE = -1

_LANGUAGESETTING = _descriptor.Descriptor(
    name="LanguageSetting",
    full_name="LanguageSetting",
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
        _descriptor.FieldDescriptor(
            name="language",
            full_name="LanguageSetting.language",
            index=0,
            number=1,
            type=9,
            cpp_type=9,
            label=1,
            has_default_value=False,
            default_value=_b("").decode("utf-8"),
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            options=None,
        ),
        _descriptor.FieldDescriptor(
            name="option",
            full_name="LanguageSetting.option",
            index=1,
            number=2,
            type=14,
            cpp_type=8,
            label=1,
            has_default_value=False,
            default_value=0,
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            options=None,
        ),
    ],
    extensions=[],
    nested_types=[],
    enum_types=[],
    options=None,
    is_extendable=False,
    syntax="proto3",
    extension_ranges=[],
    oneofs=[],
    serialized_start=20,
    serialized_end=88,
)

_USERSETTINGS = _descriptor.Descriptor(
    name="UserSettings",
    full_name="UserSettings",
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
        _descriptor.FieldDescriptor(
            name="install_path",
            full_name="UserSettings.install_path",
            index=0,
            number=1,
            type=9,
            cpp_type=9,
            label=1,
            has_default_value=False,
            default_value=_b("").decode("utf-8"),
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            options=None,
        ),
        _descriptor.FieldDescriptor(
            name="play_region",
            full_name="UserSettings.play_region",
            index=1,
            number=2,
            type=9,
            cpp_type=9,
            label=1,
            has_default_value=False,
            default_value=_b("").decode("utf-8"),
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            options=None,
        ),
        _descriptor.FieldDescriptor(
            name="desktop_shortcut",
            full_name="UserSettings.desktop_shortcut",
            index=2,
            number=3,
            type=14,
            cpp_type=8,
            label=1,
            has_default_value=False,
            default_value=0,
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            options=None,
        ),
        _descriptor.FieldDescriptor(
            name="startmenu_shortcut",
            full_name="UserSettings.startmenu_shortcut",
            index=3,
            number=4,
            type=14,
            cpp_type=8,
            label=1,
            has_default_value=False,
            default_value=0,
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            options=None,
        ),
        _descriptor.FieldDescriptor(
            name="language_settings",
            full_name="UserSettings.language_settings",
            index=4,
            number=5,
            type=14,
            cpp_type=8,
            label=1,
            has_default_value=False,
            default_value=0,
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            options=None,
        ),
        _descriptor.FieldDescriptor(
            name="selected_text_language",
            full_name="UserSettings.selected_text_language",
            index=5,
            number=6,
            type=9,
            cpp_type=9,
            label=1,
            has_default_value=False,
            default_value=_b("").decode("utf-8"),
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            options=None,
        ),
        _descriptor.FieldDescriptor(
            name="selected_speech_language",
            full_name="UserSettings.selected_speech_language",
            index=6,
            number=7,
            type=9,
            cpp_type=9,
            label=1,
            has_default_value=False,
            default_value=_b("").decode("utf-8"),
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            options=None,
        ),
        _descriptor.FieldDescriptor(
            name="languages",
            full_name="UserSettings.languages",
            index=7,
            number=8,
            type=11,
            cpp_type=10,
            label=3,
            has_default_value=False,
            default_value=[],
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            options=None,
        ),
        _descriptor.FieldDescriptor(
            name="gfx_override_tags",
            full_name="UserSettings.gfx_override_tags",
            index=8,
            number=9,
            type=9,
            cpp_type=9,
            label=1,
            has_default_value=False,
            default_value=_b("").decode("utf-8"),
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            options=None,
        ),
        _descriptor.FieldDescriptor(
            name="versionbranch",
            full_name="UserSettings.versionbranch",
            index=9,
            number=10,
            type=9,
            cpp_type=9,
            label=1,
            has_default_value=False,
            default_value=_b("").decode("utf-8"),
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            options=None,
        ),
    ],
    extensions=[],
    nested_types=[],
    enum_types=[],
    options=None,
    is_extendable=False,
    syntax="proto3",
    extension_ranges=[],
    oneofs=[],
    serialized_start=91,
    serialized_end=438,
)

_INSTALLHANDSHAKE = _descriptor.Descriptor(
    name="InstallHandshake",
    full_name="InstallHandshake",
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
        _descriptor.FieldDescriptor(
            name="product",
            full_name="InstallHandshake.product",
            index=0,
            number=1,
            type=9,
            cpp_type=9,
            label=1,
            has_default_value=False,
            default_value=_b("").decode("utf-8"),
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            options=None,
        ),
        _descriptor.FieldDescriptor(
            name="uid",
            full_name="InstallHandshake.uid",
            index=1,
            number=2,
            type=9,
            cpp_type=9,
            label=1,
            has_default_value=False,
            default_value=_b("").decode("utf-8"),
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            options=None,
        ),
        _descriptor.FieldDescriptor(
            name="settings",
            full_name="InstallHandshake.settings",
            index=2,
            number=3,
            type=11,
            cpp_type=10,
            label=1,
            has_default_value=False,
            default_value=None,
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            options=None,
        ),
    ],
    extensions=[],
    nested_types=[],
    enum_types=[],
    options=None,
    is_extendable=False,
    syntax="proto3",
    extension_ranges=[],
    oneofs=[],
    serialized_start=440,
    serialized_end=521,
)

_BUILDCONFIG = _descriptor.Descriptor(
    name="BuildConfig",
    full_name="BuildConfig",
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
        _descriptor.FieldDescriptor(
            name="region",
            full_name="BuildConfig.region",
            index=0,
            number=1,
            type=9,
            cpp_type=9,
            label=1,
            has_default_value=False,
            default_value=_b("").decode("utf-8"),
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            options=None,
        ),
        _descriptor.FieldDescriptor(
            name="build_config",
            full_name="BuildConfig.build_config",
            index=1,
            number=2,
            type=9,
            cpp_type=9,
            label=1,
            has_default_value=False,
            default_value=_b("").decode("utf-8"),
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            options=None,
        ),
    ],
    extensions=[],
    nested_types=[],
    enum_types=[],
    options=None,
    is_extendable=False,
    syntax="proto3",
    extension_ranges=[],
    oneofs=[],
    serialized_start=523,
    serialized_end=574,
)

_BASEPRODUCTSTATE = _descriptor.Descriptor(
    name="BaseProductState",
    full_name="BaseProductState",
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
        _descriptor.FieldDescriptor(
            name="installed",
            full_name="BaseProductState.installed",
            index=0,
            number=1,
            type=8,
            cpp_type=7,
            label=1,
            has_default_value=False,
            default_value=False,
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            options=None,
        ),
        _descriptor.FieldDescriptor(
            name="playable",
            full_name="BaseProductState.playable",
            index=1,
            number=2,
            type=8,
            cpp_type=7,
            label=1,
            has_default_value=False,
            default_value=False,
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            options=None,
        ),
        _descriptor.FieldDescriptor(
            name="update_complete",
            full_name="BaseProductState.update_complete",
            index=2,
            number=3,
            type=8,
            cpp_type=7,
            label=1,
            has_default_value=False,
            default_value=False,
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            options=None,
        ),
        _descriptor.FieldDescriptor(
            name="background_download_available",
            full_name="BaseProductState.background_download_available",
            index=3,
            number=4,
            type=8,
            cpp_type=7,
            label=1,
            has_default_value=False,
            default_value=False,
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            options=None,
        ),
        _descriptor.FieldDescriptor(
            name="background_download_complete",
            full_name="BaseProductState.background_download_complete",
            index=4,
            number=5,
            type=8,
            cpp_type=7,
            label=1,
            has_default_value=False,
            default_value=False,
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            options=None,
        ),
        _descriptor.FieldDescriptor(
            name="current_version",
            full_name="BaseProductState.current_version",
            index=5,
            number=6,
            type=9,
            cpp_type=9,
            label=1,
            has_default_value=False,
            default_value=_b("").decode("utf-8"),
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            options=None,
        ),
        _descriptor.FieldDescriptor(
            name="current_version_str",
            full_name="BaseProductState.current_version_str",
            index=6,
            number=7,
            type=9,
            cpp_type=9,
            label=1,
            has_default_value=False,
            default_value=_b("").decode("utf-8"),
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            options=None,
        ),
        _descriptor.FieldDescriptor(
            name="installed_build_config",
            full_name="BaseProductState.installed_build_config",
            index=7,
            number=8,
            type=11,
            cpp_type=10,
            label=3,
            has_default_value=False,
            default_value=[],
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            options=None,
        ),
        _descriptor.FieldDescriptor(
            name="background_download_build_config",
            full_name="BaseProductState.background_download_build_config",
            index=8,
            number=9,
            type=11,
            cpp_type=10,
            label=3,
            has_default_value=False,
            default_value=[],
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            options=None,
        ),
        _descriptor.FieldDescriptor(
            name="decryption_key",
            full_name="BaseProductState.decryption_key",
            index=9,
            number=10,
            type=9,
            cpp_type=9,
            label=1,
            has_default_value=False,
            default_value=_b("").decode("utf-8"),
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            options=None,
        ),
        _descriptor.FieldDescriptor(
            name="completed_install_actions",
            full_name="BaseProductState.completed_install_actions",
            index=10,
            number=11,
            type=9,
            cpp_type=9,
            label=3,
            has_default_value=False,
            default_value=[],
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            options=None,
        ),
    ],
    extensions=[],
    nested_types=[],
    enum_types=[],
    options=None,
    is_extendable=False,
    syntax="proto3",
    extension_ranges=[],
    oneofs=[],
    serialized_start=577,
    serialized_end=949,
)

_BACKFILLPROGRESS = _descriptor.Descriptor(
    name="BackfillProgress",
    full_name="BackfillProgress",
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
        _descriptor.FieldDescriptor(
            name="progress",
            full_name="BackfillProgress.progress",
            index=0,
            number=1,
            type=1,
            cpp_type=5,
            label=1,
            has_default_value=False,
            default_value=float(0),
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            options=None,
        ),
        _descriptor.FieldDescriptor(
            name="backgrounddownload",
            full_name="BackfillProgress.backgrounddownload",
            index=1,
            number=2,
            type=8,
            cpp_type=7,
            label=1,
            has_default_value=False,
            default_value=False,
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            options=None,
        ),
        _descriptor.FieldDescriptor(
            name="paused",
            full_name="BackfillProgress.paused",
            index=2,
            number=3,
            type=8,
            cpp_type=7,
            label=1,
            has_default_value=False,
            default_value=False,
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            options=None,
        ),
        _descriptor.FieldDescriptor(
            name="download_limit",
            full_name="BackfillProgress.download_limit",
            index=3,
            number=4,
            type=4,
            cpp_type=4,
            label=1,
            has_default_value=False,
            default_value=0,
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            options=None,
        ),
    ],
    extensions=[],
    nested_types=[],
    enum_types=[],
    options=None,
    is_extendable=False,
    syntax="proto3",
    extension_ranges=[],
    oneofs=[],
    serialized_start=951,
    serialized_end=1055,
)

_REPAIRPROGRESS = _descriptor.Descriptor(
    name="RepairProgress",
    full_name="RepairProgress",
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
        _descriptor.FieldDescriptor(
            name="progress",
            full_name="RepairProgress.progress",
            index=0,
            number=1,
            type=1,
            cpp_type=5,
            label=1,
            has_default_value=False,
            default_value=float(0),
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            options=None,
        ),
    ],
    extensions=[],
    nested_types=[],
    enum_types=[],
    options=None,
    is_extendable=False,
    syntax="proto3",
    extension_ranges=[],
    oneofs=[],
    serialized_start=1057,
    serialized_end=1091,
)

_UPDATEPROGRESS = _descriptor.Descriptor(
    name="UpdateProgress",
    full_name="UpdateProgress",
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
        _descriptor.FieldDescriptor(
            name="last_disc_set_used",
            full_name="UpdateProgress.last_disc_set_used",
            index=0,
            number=1,
            type=9,
            cpp_type=9,
            label=1,
            has_default_value=False,
            default_value=_b("").decode("utf-8"),
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            options=None,
        ),
        _descriptor.FieldDescriptor(
            name="progress",
            full_name="UpdateProgress.progress",
            index=1,
            number=2,
            type=1,
            cpp_type=5,
            label=1,
            has_default_value=False,
            default_value=float(0),
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            options=None,
        ),
        _descriptor.FieldDescriptor(
            name="disc_ignored",
            full_name="UpdateProgress.disc_ignored",
            index=2,
            number=3,
            type=8,
            cpp_type=7,
            label=1,
            has_default_value=False,
            default_value=False,
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            options=None,
        ),
        _descriptor.FieldDescriptor(
            name="total_to_download",
            full_name="UpdateProgress.total_to_download",
            index=3,
            number=4,
            type=4,
            cpp_type=4,
            label=1,
            has_default_value=False,
            default_value=0,
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            options=None,
        ),
        _descriptor.FieldDescriptor(
            name="download_remaining",
            full_name="UpdateProgress.download_remaining",
            index=4,
            number=5,
            type=4,
            cpp_type=4,
            label=1,
            has_default_value=False,
            default_value=0,
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            options=None,
        ),
    ],
    extensions=[],
    nested_types=[],
    enum_types=[],
    options=None,
    is_extendable=False,
    syntax="proto3",
    extension_ranges=[],
    oneofs=[],
    serialized_start=1094,
    serialized_end=1233,
)

_CACHEDPRODUCTSTATE = _descriptor.Descriptor(
    name="CachedProductState",
    full_name="CachedProductState",
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
        _descriptor.FieldDescriptor(
            name="base_product_state",
            full_name="CachedProductState.base_product_state",
            index=0,
            number=1,
            type=11,
            cpp_type=10,
            label=1,
            has_default_value=False,
            default_value=None,
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            options=None,
        ),
        _descriptor.FieldDescriptor(
            name="backfill_progress",
            full_name="CachedProductState.backfill_progress",
            index=1,
            number=2,
            type=11,
            cpp_type=10,
            label=1,
            has_default_value=False,
            default_value=None,
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            options=None,
        ),
        _descriptor.FieldDescriptor(
            name="repair_progress",
            full_name="CachedProductState.repair_progress",
            index=2,
            number=3,
            type=11,
            cpp_type=10,
            label=1,
            has_default_value=False,
            default_value=None,
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            options=None,
        ),
        _descriptor.FieldDescriptor(
            name="update_progress",
            full_name="CachedProductState.update_progress",
            index=3,
            number=4,
            type=11,
            cpp_type=10,
            label=1,
            has_default_value=False,
            default_value=None,
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            options=None,
        ),
    ],
    extensions=[],
    nested_types=[],
    enum_types=[],
    options=None,
    is_extendable=False,
    syntax="proto3",
    extension_ranges=[],
    oneofs=[],
    serialized_start=1236,
    serialized_end=1433,
)

_PRODUCTOPERATIONS = _descriptor.Descriptor(
    name="ProductOperations",
    full_name="ProductOperations",
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
        _descriptor.FieldDescriptor(
            name="active_operation",
            full_name="ProductOperations.active_operation",
            index=0,
            number=1,
            type=14,
            cpp_type=8,
            label=1,
            has_default_value=False,
            default_value=0,
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            options=None,
        ),
        _descriptor.FieldDescriptor(
            name="priority",
            full_name="ProductOperations.priority",
            index=1,
            number=2,
            type=4,
            cpp_type=4,
            label=1,
            has_default_value=False,
            default_value=0,
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            options=None,
        ),
    ],
    extensions=[],
    nested_types=[],
    enum_types=[],
    options=None,
    is_extendable=False,
    syntax="proto3",
    extension_ranges=[],
    oneofs=[],
    serialized_start=1435,
    serialized_end=1510,
)

_PRODUCTINSTALL = _descriptor.Descriptor(
    name="ProductInstall",
    full_name="ProductInstall",
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
        _descriptor.FieldDescriptor(
            name="uid",
            full_name="ProductInstall.uid",
            index=0,
            number=1,
            type=9,
            cpp_type=9,
            label=1,
            has_default_value=False,
            default_value=_b("").decode("utf-8"),
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            options=None,
        ),
        _descriptor.FieldDescriptor(
            name="product_code",
            full_name="ProductInstall.product_code",
            index=1,
            number=2,
            type=9,
            cpp_type=9,
            label=1,
            has_default_value=False,
            default_value=_b("").decode("utf-8"),
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            options=None,
        ),
        _descriptor.FieldDescriptor(
            name="settings",
            full_name="ProductInstall.settings",
            index=2,
            number=3,
            type=11,
            cpp_type=10,
            label=1,
            has_default_value=False,
            default_value=None,
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            options=None,
        ),
        _descriptor.FieldDescriptor(
            name="cached_product_state",
            full_name="ProductInstall.cached_product_state",
            index=3,
            number=4,
            type=11,
            cpp_type=10,
            label=1,
            has_default_value=False,
            default_value=None,
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            options=None,
        ),
        _descriptor.FieldDescriptor(
            name="product_operations",
            full_name="ProductInstall.product_operations",
            index=4,
            number=5,
            type=11,
            cpp_type=10,
            label=1,
            has_default_value=False,
            default_value=None,
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            options=None,
        ),
    ],
    extensions=[],
    nested_types=[],
    enum_types=[],
    options=None,
    is_extendable=False,
    syntax="proto3",
    extension_ranges=[],
    oneofs=[],
    serialized_start=1513,
    serialized_end=1696,
)

_PRODUCTCONFIG = _descriptor.Descriptor(
    name="ProductConfig",
    full_name="ProductConfig",
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
        _descriptor.FieldDescriptor(
            name="product_code",
            full_name="ProductConfig.product_code",
            index=0,
            number=1,
            type=9,
            cpp_type=9,
            label=1,
            has_default_value=False,
            default_value=_b("").decode("utf-8"),
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            options=None,
        ),
        _descriptor.FieldDescriptor(
            name="metadata_hash",
            full_name="ProductConfig.metadata_hash",
            index=1,
            number=2,
            type=9,
            cpp_type=9,
            label=1,
            has_default_value=False,
            default_value=_b("").decode("utf-8"),
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            options=None,
        ),
        _descriptor.FieldDescriptor(
            name="timestamp",
            full_name="ProductConfig.timestamp",
            index=2,
            number=3,
            type=9,
            cpp_type=9,
            label=1,
            has_default_value=False,
            default_value=_b("").decode("utf-8"),
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            options=None,
        ),
    ],
    extensions=[],
    nested_types=[],
    enum_types=[],
    options=None,
    is_extendable=False,
    syntax="proto3",
    extension_ranges=[],
    oneofs=[],
    serialized_start=1698,
    serialized_end=1777,
)

_ACTIVEPROCESS = _descriptor.Descriptor(
    name="ActiveProcess",
    full_name="ActiveProcess",
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
        _descriptor.FieldDescriptor(
            name="process_name",
            full_name="ActiveProcess.process_name",
            index=0,
            number=1,
            type=9,
            cpp_type=9,
            label=1,
            has_default_value=False,
            default_value=_b("").decode("utf-8"),
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            options=None,
        ),
        _descriptor.FieldDescriptor(
            name="pid",
            full_name="ActiveProcess.pid",
            index=1,
            number=2,
            type=5,
            cpp_type=1,
            label=1,
            has_default_value=False,
            default_value=0,
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            options=None,
        ),
        _descriptor.FieldDescriptor(
            name="uri",
            full_name="ActiveProcess.uri",
            index=2,
            number=3,
            type=9,
            cpp_type=9,
            label=3,
            has_default_value=False,
            default_value=[],
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            options=None,
        ),
    ],
    extensions=[],
    nested_types=[],
    enum_types=[],
    options=None,
    is_extendable=False,
    syntax="proto3",
    extension_ranges=[],
    oneofs=[],
    serialized_start=1779,
    serialized_end=1842,
)

_DOWNLOADSETTINGS = _descriptor.Descriptor(
    name="DownloadSettings",
    full_name="DownloadSettings",
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
        _descriptor.FieldDescriptor(
            name="download_limit",
            full_name="DownloadSettings.download_limit",
            index=0,
            number=1,
            type=5,
            cpp_type=1,
            label=1,
            has_default_value=False,
            default_value=0,
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            options=None,
        ),
        _descriptor.FieldDescriptor(
            name="backfill_limit",
            full_name="DownloadSettings.backfill_limit",
            index=1,
            number=2,
            type=5,
            cpp_type=1,
            label=1,
            has_default_value=False,
            default_value=0,
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            options=None,
        ),
    ],
    extensions=[],
    nested_types=[],
    enum_types=[],
    options=None,
    is_extendable=False,
    syntax="proto3",
    extension_ranges=[],
    oneofs=[],
    serialized_start=1844,
    serialized_end=1910,
)

_PRODUCTDB = _descriptor.Descriptor(
    name="ProductDb",
    full_name="ProductDb",
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
        _descriptor.FieldDescriptor(
            name="product_installs",
            full_name="ProductDb.product_installs",
            index=0,
            number=1,
            type=11,
            cpp_type=10,
            label=3,
            has_default_value=False,
            default_value=[],
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            options=None,
        ),
        _descriptor.FieldDescriptor(
            name="active_installs",
            full_name="ProductDb.active_installs",
            index=1,
            number=2,
            type=11,
            cpp_type=10,
            label=3,
            has_default_value=False,
            default_value=[],
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            options=None,
        ),
        _descriptor.FieldDescriptor(
            name="active_processes",
            full_name="ProductDb.active_processes",
            index=2,
            number=3,
            type=11,
            cpp_type=10,
            label=3,
            has_default_value=False,
            default_value=[],
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            options=None,
        ),
        _descriptor.FieldDescriptor(
            name="product_configs",
            full_name="ProductDb.product_configs",
            index=3,
            number=4,
            type=11,
            cpp_type=10,
            label=3,
            has_default_value=False,
            default_value=[],
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            options=None,
        ),
        _descriptor.FieldDescriptor(
            name="download_settings",
            full_name="ProductDb.download_settings",
            index=4,
            number=5,
            type=11,
            cpp_type=10,
            label=1,
            has_default_value=False,
            default_value=None,
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            options=None,
        ),
    ],
    extensions=[],
    nested_types=[],
    enum_types=[],
    options=None,
    is_extendable=False,
    syntax="proto3",
    extension_ranges=[],
    oneofs=[],
    serialized_start=1913,
    serialized_end=2140,
)

_LANGUAGESETTING.fields_by_name["option"].enum_type = _LANGUAGEOPTION
_USERSETTINGS.fields_by_name["desktop_shortcut"].enum_type = _SHORTCUTOPTION
_USERSETTINGS.fields_by_name["startmenu_shortcut"].enum_type = _SHORTCUTOPTION
_USERSETTINGS.fields_by_name["language_settings"].enum_type = _LANGUAGESETTINGTYPE
_USERSETTINGS.fields_by_name["languages"].message_type = _LANGUAGESETTING
_INSTALLHANDSHAKE.fields_by_name["settings"].message_type = _USERSETTINGS
_BASEPRODUCTSTATE.fields_by_name["installed_build_config"].message_type = _BUILDCONFIG
_BASEPRODUCTSTATE.fields_by_name["background_download_build_config"].message_type = _BUILDCONFIG
_CACHEDPRODUCTSTATE.fields_by_name["base_product_state"].message_type = _BASEPRODUCTSTATE
_CACHEDPRODUCTSTATE.fields_by_name["backfill_progress"].message_type = _BACKFILLPROGRESS
_CACHEDPRODUCTSTATE.fields_by_name["repair_progress"].message_type = _REPAIRPROGRESS
_CACHEDPRODUCTSTATE.fields_by_name["update_progress"].message_type = _UPDATEPROGRESS
_PRODUCTOPERATIONS.fields_by_name["active_operation"].enum_type = _OPERATION
_PRODUCTINSTALL.fields_by_name["settings"].message_type = _USERSETTINGS
_PRODUCTINSTALL.fields_by_name["cached_product_state"].message_type = _CACHEDPRODUCTSTATE
_PRODUCTINSTALL.fields_by_name["product_operations"].message_type = _PRODUCTOPERATIONS
_PRODUCTDB.fields_by_name["product_installs"].message_type = _PRODUCTINSTALL
_PRODUCTDB.fields_by_name["active_installs"].message_type = _INSTALLHANDSHAKE
_PRODUCTDB.fields_by_name["active_processes"].message_type = _ACTIVEPROCESS
_PRODUCTDB.fields_by_name["product_configs"].message_type = _PRODUCTCONFIG
_PRODUCTDB.fields_by_name["download_settings"].message_type = _DOWNLOADSETTINGS
DESCRIPTOR.message_types_by_name["LanguageSetting"] = _LANGUAGESETTING
DESCRIPTOR.message_types_by_name["UserSettings"] = _USERSETTINGS
DESCRIPTOR.message_types_by_name["InstallHandshake"] = _INSTALLHANDSHAKE
DESCRIPTOR.message_types_by_name["BuildConfig"] = _BUILDCONFIG
DESCRIPTOR.message_types_by_name["BaseProductState"] = _BASEPRODUCTSTATE
DESCRIPTOR.message_types_by_name["BackfillProgress"] = _BACKFILLPROGRESS
DESCRIPTOR.message_types_by_name["RepairProgress"] = _REPAIRPROGRESS
DESCRIPTOR.message_types_by_name["UpdateProgress"] = _UPDATEPROGRESS
DESCRIPTOR.message_types_by_name["CachedProductState"] = _CACHEDPRODUCTSTATE
DESCRIPTOR.message_types_by_name["ProductOperations"] = _PRODUCTOPERATIONS
DESCRIPTOR.message_types_by_name["ProductInstall"] = _PRODUCTINSTALL
DESCRIPTOR.message_types_by_name["ProductConfig"] = _PRODUCTCONFIG
DESCRIPTOR.message_types_by_name["ActiveProcess"] = _ACTIVEPROCESS
DESCRIPTOR.message_types_by_name["DownloadSettings"] = _DOWNLOADSETTINGS
DESCRIPTOR.message_types_by_name["ProductDb"] = _PRODUCTDB
DESCRIPTOR.enum_types_by_name["LanguageOption"] = _LANGUAGEOPTION
DESCRIPTOR.enum_types_by_name["LanguageSettingType"] = _LANGUAGESETTINGTYPE
DESCRIPTOR.enum_types_by_name["ShortcutOption"] = _SHORTCUTOPTION
DESCRIPTOR.enum_types_by_name["Operation"] = _OPERATION

LanguageSetting = _reflection.GeneratedProtocolMessageType(
    "LanguageSetting",
    (_message.Message,),
    dict(
        DESCRIPTOR=_LANGUAGESETTING,
        __module__="product_db_pb2",
        # @@protoc_insertion_point(class_scope:LanguageSetting)
    ),
)
_sym_db.RegisterMessage(LanguageSetting)

UserSettings = _reflection.GeneratedProtocolMessageType(
    "UserSettings",
    (_message.Message,),
    dict(
        DESCRIPTOR=_USERSETTINGS,
        __module__="product_db_pb2",
        # @@protoc_insertion_point(class_scope:UserSettings)
    ),
)
_sym_db.RegisterMessage(UserSettings)

InstallHandshake = _reflection.GeneratedProtocolMessageType(
    "InstallHandshake",
    (_message.Message,),
    dict(
        DESCRIPTOR=_INSTALLHANDSHAKE,
        __module__="product_db_pb2",
        # @@protoc_insertion_point(class_scope:InstallHandshake)
    ),
)
_sym_db.RegisterMessage(InstallHandshake)

BuildConfig = _reflection.GeneratedProtocolMessageType(
    "BuildConfig",
    (_message.Message,),
    dict(
        DESCRIPTOR=_BUILDCONFIG,
        __module__="product_db_pb2",
        # @@protoc_insertion_point(class_scope:BuildConfig)
    ),
)
_sym_db.RegisterMessage(BuildConfig)

BaseProductState = _reflection.GeneratedProtocolMessageType(
    "BaseProductState",
    (_message.Message,),
    dict(
        DESCRIPTOR=_BASEPRODUCTSTATE,
        __module__="product_db_pb2",
        # @@protoc_insertion_point(class_scope:BaseProductState)
    ),
)
_sym_db.RegisterMessage(BaseProductState)

BackfillProgress = _reflection.GeneratedProtocolMessageType(
    "BackfillProgress",
    (_message.Message,),
    dict(
        DESCRIPTOR=_BACKFILLPROGRESS,
        __module__="product_db_pb2",
        # @@protoc_insertion_point(class_scope:BackfillProgress)
    ),
)
_sym_db.RegisterMessage(BackfillProgress)

RepairProgress = _reflection.GeneratedProtocolMessageType(
    "RepairProgress",
    (_message.Message,),
    dict(
        DESCRIPTOR=_REPAIRPROGRESS,
        __module__="product_db_pb2",
        # @@protoc_insertion_point(class_scope:RepairProgress)
    ),
)
_sym_db.RegisterMessage(RepairProgress)

UpdateProgress = _reflection.GeneratedProtocolMessageType(
    "UpdateProgress",
    (_message.Message,),
    dict(
        DESCRIPTOR=_UPDATEPROGRESS,
        __module__="product_db_pb2",
        # @@protoc_insertion_point(class_scope:UpdateProgress)
    ),
)
_sym_db.RegisterMessage(UpdateProgress)

CachedProductState = _reflection.GeneratedProtocolMessageType(
    "CachedProductState",
    (_message.Message,),
    dict(
        DESCRIPTOR=_CACHEDPRODUCTSTATE,
        __module__="product_db_pb2",
        # @@protoc_insertion_point(class_scope:CachedProductState)
    ),
)
_sym_db.RegisterMessage(CachedProductState)

ProductOperations = _reflection.GeneratedProtocolMessageType(
    "ProductOperations",
    (_message.Message,),
    dict(
        DESCRIPTOR=_PRODUCTOPERATIONS,
        __module__="product_db_pb2",
        # @@protoc_insertion_point(class_scope:ProductOperations)
    ),
)
_sym_db.RegisterMessage(ProductOperations)

ProductInstall = _reflection.GeneratedProtocolMessageType(
    "ProductInstall",
    (_message.Message,),
    dict(
        DESCRIPTOR=_PRODUCTINSTALL,
        __module__="product_db_pb2",
        # @@protoc_insertion_point(class_scope:ProductInstall)
    ),
)
_sym_db.RegisterMessage(ProductInstall)

ProductConfig = _reflection.GeneratedProtocolMessageType(
    "ProductConfig",
    (_message.Message,),
    dict(
        DESCRIPTOR=_PRODUCTCONFIG,
        __module__="product_db_pb2",
        # @@protoc_insertion_point(class_scope:ProductConfig)
    ),
)
_sym_db.RegisterMessage(ProductConfig)

ActiveProcess = _reflection.GeneratedProtocolMessageType(
    "ActiveProcess",
    (_message.Message,),
    dict(
        DESCRIPTOR=_ACTIVEPROCESS,
        __module__="product_db_pb2",
        # @@protoc_insertion_point(class_scope:ActiveProcess)
    ),
)
_sym_db.RegisterMessage(ActiveProcess)

DownloadSettings = _reflection.GeneratedProtocolMessageType(
    "DownloadSettings",
    (_message.Message,),
    dict(
        DESCRIPTOR=_DOWNLOADSETTINGS,
        __module__="product_db_pb2",
        # @@protoc_insertion_point(class_scope:DownloadSettings)
    ),
)
_sym_db.RegisterMessage(DownloadSettings)

ProductDb = _reflection.GeneratedProtocolMessageType(
    "ProductDb",
    (_message.Message,),
    dict(
        DESCRIPTOR=_PRODUCTDB,
        __module__="product_db_pb2",
        # @@protoc_insertion_point(class_scope:ProductDb)
    ),
)
_sym_db.RegisterMessage(ProductDb)

# @@protoc_insertion_point(module_scope)
