# -*- coding: utf-8 -*-
# Generated by the protocol buffer compiler.  DO NOT EDIT!
# source: chromiumos/config/api/software/wifi_config.proto
"""Generated protocol buffer code."""
from chromite.third_party.google.protobuf import descriptor as _descriptor
from chromite.third_party.google.protobuf import message as _message
from chromite.third_party.google.protobuf import reflection as _reflection
from chromite.third_party.google.protobuf import symbol_database as _symbol_database
# @@protoc_insertion_point(imports)

_sym_db = _symbol_database.Default()




DESCRIPTOR = _descriptor.FileDescriptor(
  name='chromiumos/config/api/software/wifi_config.proto',
  package='chromiumos.config.api.software',
  syntax='proto3',
  serialized_options=b'Z1go.chromium.org/chromiumos/config/go/api/software',
  create_key=_descriptor._internal_create_key,
  serialized_pb=b'\n0chromiumos/config/api/software/wifi_config.proto\x12\x1e\x63hromiumos.config.api.software\"\xa7\x11\n\nWifiConfig\x12P\n\rath10k_config\x18\x01 \x01(\x0b\x32\x37.chromiumos.config.api.software.WifiConfig.Ath10kConfigH\x00\x12N\n\x0crtw88_config\x18\x02 \x01(\x0b\x32\x36.chromiumos.config.api.software.WifiConfig.Rtw88ConfigH\x00\x12N\n\x0cintel_config\x18\x03 \x01(\x0b\x32\x36.chromiumos.config.api.software.WifiConfig.IntelConfigH\x00\x1a\xa6\x02\n\x0c\x41th10kConfig\x12k\n\x17tablet_mode_power_table\x18\x01 \x01(\x0b\x32J.chromiumos.config.api.software.WifiConfig.Ath10kConfig.TransmitPowerChain\x12o\n\x1bnon_tablet_mode_power_table\x18\x02 \x01(\x0b\x32J.chromiumos.config.api.software.WifiConfig.Ath10kConfig.TransmitPowerChain\x1a\x38\n\x12TransmitPowerChain\x12\x10\n\x08limit_2g\x18\x01 \x01(\r\x12\x10\n\x08limit_5g\x18\x02 \x01(\r\x1a\x87\x05\n\x0bRtw88Config\x12j\n\x17tablet_mode_power_table\x18\x01 \x01(\x0b\x32I.chromiumos.config.api.software.WifiConfig.Rtw88Config.TransmitPowerChain\x12n\n\x1bnon_tablet_mode_power_table\x18\x02 \x01(\x0b\x32I.chromiumos.config.api.software.WifiConfig.Rtw88Config.TransmitPowerChain\x12U\n\noffset_fcc\x18\x03 \x01(\x0b\x32\x41.chromiumos.config.api.software.WifiConfig.Rtw88Config.GeoOffsets\x12T\n\toffset_eu\x18\x04 \x01(\x0b\x32\x41.chromiumos.config.api.software.WifiConfig.Rtw88Config.GeoOffsets\x12W\n\x0coffset_other\x18\x05 \x01(\x0b\x32\x41.chromiumos.config.api.software.WifiConfig.Rtw88Config.GeoOffsets\x1a\x62\n\x12TransmitPowerChain\x12\x10\n\x08limit_2g\x18\x01 \x01(\r\x12\x12\n\nlimit_5g_1\x18\x02 \x01(\r\x12\x12\n\nlimit_5g_3\x18\x03 \x01(\r\x12\x12\n\nlimit_5g_4\x18\x04 \x01(\r\x1a\x32\n\nGeoOffsets\x12\x11\n\toffset_2g\x18\x01 \x01(\r\x12\x11\n\toffset_5g\x18\x02 \x01(\r\x1a\xe4\x07\n\x0bIntelConfig\x12l\n\x19tablet_mode_power_table_a\x18\x01 \x01(\x0b\x32I.chromiumos.config.api.software.WifiConfig.IntelConfig.TransmitPowerChain\x12l\n\x19tablet_mode_power_table_b\x18\x02 \x01(\x0b\x32I.chromiumos.config.api.software.WifiConfig.IntelConfig.TransmitPowerChain\x12p\n\x1dnon_tablet_mode_power_table_a\x18\x03 \x01(\x0b\x32I.chromiumos.config.api.software.WifiConfig.IntelConfig.TransmitPowerChain\x12p\n\x1dnon_tablet_mode_power_table_b\x18\x04 \x01(\x0b\x32I.chromiumos.config.api.software.WifiConfig.IntelConfig.TransmitPowerChain\x12\x14\n\x0cwgds_version\x18\x05 \x01(\r\x12U\n\noffset_fcc\x18\x06 \x01(\x0b\x32\x41.chromiumos.config.api.software.WifiConfig.IntelConfig.GeoOffsets\x12T\n\toffset_eu\x18\x07 \x01(\x0b\x32\x41.chromiumos.config.api.software.WifiConfig.IntelConfig.GeoOffsets\x12W\n\x0coffset_other\x18\x08 \x01(\x0b\x32\x41.chromiumos.config.api.software.WifiConfig.IntelConfig.GeoOffsets\x1av\n\x12TransmitPowerChain\x12\x10\n\x08limit_2g\x18\x01 \x01(\r\x12\x12\n\nlimit_5g_1\x18\x02 \x01(\r\x12\x12\n\nlimit_5g_2\x18\x03 \x01(\r\x12\x12\n\nlimit_5g_3\x18\x04 \x01(\r\x12\x12\n\nlimit_5g_4\x18\x05 \x01(\r\x1a\x80\x01\n\nGeoOffsets\x12\x0e\n\x06max_2g\x18\x01 \x01(\r\x12\x13\n\x0boffset_2g_a\x18\x02 \x01(\r\x12\x13\n\x0boffset_2g_b\x18\x03 \x01(\r\x12\x0e\n\x06max_5g\x18\x04 \x01(\r\x12\x13\n\x0boffset_5g_a\x18\x05 \x01(\r\x12\x13\n\x0boffset_5g_b\x18\x06 \x01(\rB\r\n\x0bwifi_configB3Z1go.chromium.org/chromiumos/config/go/api/softwareb\x06proto3'
)




_WIFICONFIG_ATH10KCONFIG_TRANSMITPOWERCHAIN = _descriptor.Descriptor(
  name='TransmitPowerChain',
  full_name='chromiumos.config.api.software.WifiConfig.Ath10kConfig.TransmitPowerChain',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='limit_2g', full_name='chromiumos.config.api.software.WifiConfig.Ath10kConfig.TransmitPowerChain.limit_2g', index=0,
      number=1, type=13, cpp_type=3, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='limit_5g', full_name='chromiumos.config.api.software.WifiConfig.Ath10kConfig.TransmitPowerChain.limit_5g', index=1,
      number=2, type=13, cpp_type=3, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=580,
  serialized_end=636,
)

_WIFICONFIG_ATH10KCONFIG = _descriptor.Descriptor(
  name='Ath10kConfig',
  full_name='chromiumos.config.api.software.WifiConfig.Ath10kConfig',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='tablet_mode_power_table', full_name='chromiumos.config.api.software.WifiConfig.Ath10kConfig.tablet_mode_power_table', 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,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='non_tablet_mode_power_table', full_name='chromiumos.config.api.software.WifiConfig.Ath10kConfig.non_tablet_mode_power_table', 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,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[_WIFICONFIG_ATH10KCONFIG_TRANSMITPOWERCHAIN, ],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=342,
  serialized_end=636,
)

_WIFICONFIG_RTW88CONFIG_TRANSMITPOWERCHAIN = _descriptor.Descriptor(
  name='TransmitPowerChain',
  full_name='chromiumos.config.api.software.WifiConfig.Rtw88Config.TransmitPowerChain',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='limit_2g', full_name='chromiumos.config.api.software.WifiConfig.Rtw88Config.TransmitPowerChain.limit_2g', index=0,
      number=1, type=13, cpp_type=3, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='limit_5g_1', full_name='chromiumos.config.api.software.WifiConfig.Rtw88Config.TransmitPowerChain.limit_5g_1', index=1,
      number=2, type=13, cpp_type=3, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='limit_5g_3', full_name='chromiumos.config.api.software.WifiConfig.Rtw88Config.TransmitPowerChain.limit_5g_3', index=2,
      number=3, type=13, cpp_type=3, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='limit_5g_4', full_name='chromiumos.config.api.software.WifiConfig.Rtw88Config.TransmitPowerChain.limit_5g_4', index=3,
      number=4, type=13, cpp_type=3, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1136,
  serialized_end=1234,
)

_WIFICONFIG_RTW88CONFIG_GEOOFFSETS = _descriptor.Descriptor(
  name='GeoOffsets',
  full_name='chromiumos.config.api.software.WifiConfig.Rtw88Config.GeoOffsets',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='offset_2g', full_name='chromiumos.config.api.software.WifiConfig.Rtw88Config.GeoOffsets.offset_2g', index=0,
      number=1, type=13, cpp_type=3, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='offset_5g', full_name='chromiumos.config.api.software.WifiConfig.Rtw88Config.GeoOffsets.offset_5g', index=1,
      number=2, type=13, cpp_type=3, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1236,
  serialized_end=1286,
)

_WIFICONFIG_RTW88CONFIG = _descriptor.Descriptor(
  name='Rtw88Config',
  full_name='chromiumos.config.api.software.WifiConfig.Rtw88Config',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='tablet_mode_power_table', full_name='chromiumos.config.api.software.WifiConfig.Rtw88Config.tablet_mode_power_table', 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,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='non_tablet_mode_power_table', full_name='chromiumos.config.api.software.WifiConfig.Rtw88Config.non_tablet_mode_power_table', 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,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='offset_fcc', full_name='chromiumos.config.api.software.WifiConfig.Rtw88Config.offset_fcc', 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,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='offset_eu', full_name='chromiumos.config.api.software.WifiConfig.Rtw88Config.offset_eu', 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,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='offset_other', full_name='chromiumos.config.api.software.WifiConfig.Rtw88Config.offset_other', 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,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[_WIFICONFIG_RTW88CONFIG_TRANSMITPOWERCHAIN, _WIFICONFIG_RTW88CONFIG_GEOOFFSETS, ],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=639,
  serialized_end=1286,
)

_WIFICONFIG_INTELCONFIG_TRANSMITPOWERCHAIN = _descriptor.Descriptor(
  name='TransmitPowerChain',
  full_name='chromiumos.config.api.software.WifiConfig.IntelConfig.TransmitPowerChain',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='limit_2g', full_name='chromiumos.config.api.software.WifiConfig.IntelConfig.TransmitPowerChain.limit_2g', index=0,
      number=1, type=13, cpp_type=3, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='limit_5g_1', full_name='chromiumos.config.api.software.WifiConfig.IntelConfig.TransmitPowerChain.limit_5g_1', index=1,
      number=2, type=13, cpp_type=3, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='limit_5g_2', full_name='chromiumos.config.api.software.WifiConfig.IntelConfig.TransmitPowerChain.limit_5g_2', index=2,
      number=3, type=13, cpp_type=3, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='limit_5g_3', full_name='chromiumos.config.api.software.WifiConfig.IntelConfig.TransmitPowerChain.limit_5g_3', index=3,
      number=4, type=13, cpp_type=3, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='limit_5g_4', full_name='chromiumos.config.api.software.WifiConfig.IntelConfig.TransmitPowerChain.limit_5g_4', index=4,
      number=5, type=13, cpp_type=3, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=2036,
  serialized_end=2154,
)

_WIFICONFIG_INTELCONFIG_GEOOFFSETS = _descriptor.Descriptor(
  name='GeoOffsets',
  full_name='chromiumos.config.api.software.WifiConfig.IntelConfig.GeoOffsets',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='max_2g', full_name='chromiumos.config.api.software.WifiConfig.IntelConfig.GeoOffsets.max_2g', index=0,
      number=1, type=13, cpp_type=3, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='offset_2g_a', full_name='chromiumos.config.api.software.WifiConfig.IntelConfig.GeoOffsets.offset_2g_a', index=1,
      number=2, type=13, cpp_type=3, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='offset_2g_b', full_name='chromiumos.config.api.software.WifiConfig.IntelConfig.GeoOffsets.offset_2g_b', index=2,
      number=3, type=13, cpp_type=3, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='max_5g', full_name='chromiumos.config.api.software.WifiConfig.IntelConfig.GeoOffsets.max_5g', index=3,
      number=4, type=13, cpp_type=3, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='offset_5g_a', full_name='chromiumos.config.api.software.WifiConfig.IntelConfig.GeoOffsets.offset_5g_a', index=4,
      number=5, type=13, cpp_type=3, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='offset_5g_b', full_name='chromiumos.config.api.software.WifiConfig.IntelConfig.GeoOffsets.offset_5g_b', index=5,
      number=6, type=13, cpp_type=3, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=2157,
  serialized_end=2285,
)

_WIFICONFIG_INTELCONFIG = _descriptor.Descriptor(
  name='IntelConfig',
  full_name='chromiumos.config.api.software.WifiConfig.IntelConfig',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='tablet_mode_power_table_a', full_name='chromiumos.config.api.software.WifiConfig.IntelConfig.tablet_mode_power_table_a', 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,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='tablet_mode_power_table_b', full_name='chromiumos.config.api.software.WifiConfig.IntelConfig.tablet_mode_power_table_b', 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,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='non_tablet_mode_power_table_a', full_name='chromiumos.config.api.software.WifiConfig.IntelConfig.non_tablet_mode_power_table_a', 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,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='non_tablet_mode_power_table_b', full_name='chromiumos.config.api.software.WifiConfig.IntelConfig.non_tablet_mode_power_table_b', 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,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='wgds_version', full_name='chromiumos.config.api.software.WifiConfig.IntelConfig.wgds_version', index=4,
      number=5, type=13, cpp_type=3, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='offset_fcc', full_name='chromiumos.config.api.software.WifiConfig.IntelConfig.offset_fcc', index=5,
      number=6, 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,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='offset_eu', full_name='chromiumos.config.api.software.WifiConfig.IntelConfig.offset_eu', index=6,
      number=7, 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,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='offset_other', full_name='chromiumos.config.api.software.WifiConfig.IntelConfig.offset_other', index=7,
      number=8, 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,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[_WIFICONFIG_INTELCONFIG_TRANSMITPOWERCHAIN, _WIFICONFIG_INTELCONFIG_GEOOFFSETS, ],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1289,
  serialized_end=2285,
)

_WIFICONFIG = _descriptor.Descriptor(
  name='WifiConfig',
  full_name='chromiumos.config.api.software.WifiConfig',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  create_key=_descriptor._internal_create_key,
  fields=[
    _descriptor.FieldDescriptor(
      name='ath10k_config', full_name='chromiumos.config.api.software.WifiConfig.ath10k_config', 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,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='rtw88_config', full_name='chromiumos.config.api.software.WifiConfig.rtw88_config', 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,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    _descriptor.FieldDescriptor(
      name='intel_config', full_name='chromiumos.config.api.software.WifiConfig.intel_config', 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,
      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
  ],
  extensions=[
  ],
  nested_types=[_WIFICONFIG_ATH10KCONFIG, _WIFICONFIG_RTW88CONFIG, _WIFICONFIG_INTELCONFIG, ],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
    _descriptor.OneofDescriptor(
      name='wifi_config', full_name='chromiumos.config.api.software.WifiConfig.wifi_config',
      index=0, containing_type=None,
      create_key=_descriptor._internal_create_key,
    fields=[]),
  ],
  serialized_start=85,
  serialized_end=2300,
)

_WIFICONFIG_ATH10KCONFIG_TRANSMITPOWERCHAIN.containing_type = _WIFICONFIG_ATH10KCONFIG
_WIFICONFIG_ATH10KCONFIG.fields_by_name['tablet_mode_power_table'].message_type = _WIFICONFIG_ATH10KCONFIG_TRANSMITPOWERCHAIN
_WIFICONFIG_ATH10KCONFIG.fields_by_name['non_tablet_mode_power_table'].message_type = _WIFICONFIG_ATH10KCONFIG_TRANSMITPOWERCHAIN
_WIFICONFIG_ATH10KCONFIG.containing_type = _WIFICONFIG
_WIFICONFIG_RTW88CONFIG_TRANSMITPOWERCHAIN.containing_type = _WIFICONFIG_RTW88CONFIG
_WIFICONFIG_RTW88CONFIG_GEOOFFSETS.containing_type = _WIFICONFIG_RTW88CONFIG
_WIFICONFIG_RTW88CONFIG.fields_by_name['tablet_mode_power_table'].message_type = _WIFICONFIG_RTW88CONFIG_TRANSMITPOWERCHAIN
_WIFICONFIG_RTW88CONFIG.fields_by_name['non_tablet_mode_power_table'].message_type = _WIFICONFIG_RTW88CONFIG_TRANSMITPOWERCHAIN
_WIFICONFIG_RTW88CONFIG.fields_by_name['offset_fcc'].message_type = _WIFICONFIG_RTW88CONFIG_GEOOFFSETS
_WIFICONFIG_RTW88CONFIG.fields_by_name['offset_eu'].message_type = _WIFICONFIG_RTW88CONFIG_GEOOFFSETS
_WIFICONFIG_RTW88CONFIG.fields_by_name['offset_other'].message_type = _WIFICONFIG_RTW88CONFIG_GEOOFFSETS
_WIFICONFIG_RTW88CONFIG.containing_type = _WIFICONFIG
_WIFICONFIG_INTELCONFIG_TRANSMITPOWERCHAIN.containing_type = _WIFICONFIG_INTELCONFIG
_WIFICONFIG_INTELCONFIG_GEOOFFSETS.containing_type = _WIFICONFIG_INTELCONFIG
_WIFICONFIG_INTELCONFIG.fields_by_name['tablet_mode_power_table_a'].message_type = _WIFICONFIG_INTELCONFIG_TRANSMITPOWERCHAIN
_WIFICONFIG_INTELCONFIG.fields_by_name['tablet_mode_power_table_b'].message_type = _WIFICONFIG_INTELCONFIG_TRANSMITPOWERCHAIN
_WIFICONFIG_INTELCONFIG.fields_by_name['non_tablet_mode_power_table_a'].message_type = _WIFICONFIG_INTELCONFIG_TRANSMITPOWERCHAIN
_WIFICONFIG_INTELCONFIG.fields_by_name['non_tablet_mode_power_table_b'].message_type = _WIFICONFIG_INTELCONFIG_TRANSMITPOWERCHAIN
_WIFICONFIG_INTELCONFIG.fields_by_name['offset_fcc'].message_type = _WIFICONFIG_INTELCONFIG_GEOOFFSETS
_WIFICONFIG_INTELCONFIG.fields_by_name['offset_eu'].message_type = _WIFICONFIG_INTELCONFIG_GEOOFFSETS
_WIFICONFIG_INTELCONFIG.fields_by_name['offset_other'].message_type = _WIFICONFIG_INTELCONFIG_GEOOFFSETS
_WIFICONFIG_INTELCONFIG.containing_type = _WIFICONFIG
_WIFICONFIG.fields_by_name['ath10k_config'].message_type = _WIFICONFIG_ATH10KCONFIG
_WIFICONFIG.fields_by_name['rtw88_config'].message_type = _WIFICONFIG_RTW88CONFIG
_WIFICONFIG.fields_by_name['intel_config'].message_type = _WIFICONFIG_INTELCONFIG
_WIFICONFIG.oneofs_by_name['wifi_config'].fields.append(
  _WIFICONFIG.fields_by_name['ath10k_config'])
_WIFICONFIG.fields_by_name['ath10k_config'].containing_oneof = _WIFICONFIG.oneofs_by_name['wifi_config']
_WIFICONFIG.oneofs_by_name['wifi_config'].fields.append(
  _WIFICONFIG.fields_by_name['rtw88_config'])
_WIFICONFIG.fields_by_name['rtw88_config'].containing_oneof = _WIFICONFIG.oneofs_by_name['wifi_config']
_WIFICONFIG.oneofs_by_name['wifi_config'].fields.append(
  _WIFICONFIG.fields_by_name['intel_config'])
_WIFICONFIG.fields_by_name['intel_config'].containing_oneof = _WIFICONFIG.oneofs_by_name['wifi_config']
DESCRIPTOR.message_types_by_name['WifiConfig'] = _WIFICONFIG
_sym_db.RegisterFileDescriptor(DESCRIPTOR)

WifiConfig = _reflection.GeneratedProtocolMessageType('WifiConfig', (_message.Message,), {

  'Ath10kConfig' : _reflection.GeneratedProtocolMessageType('Ath10kConfig', (_message.Message,), {

    'TransmitPowerChain' : _reflection.GeneratedProtocolMessageType('TransmitPowerChain', (_message.Message,), {
      'DESCRIPTOR' : _WIFICONFIG_ATH10KCONFIG_TRANSMITPOWERCHAIN,
      '__module__' : 'chromiumos.config.api.software.wifi_config_pb2'
      # @@protoc_insertion_point(class_scope:chromiumos.config.api.software.WifiConfig.Ath10kConfig.TransmitPowerChain)
      })
    ,
    'DESCRIPTOR' : _WIFICONFIG_ATH10KCONFIG,
    '__module__' : 'chromiumos.config.api.software.wifi_config_pb2'
    # @@protoc_insertion_point(class_scope:chromiumos.config.api.software.WifiConfig.Ath10kConfig)
    })
  ,

  'Rtw88Config' : _reflection.GeneratedProtocolMessageType('Rtw88Config', (_message.Message,), {

    'TransmitPowerChain' : _reflection.GeneratedProtocolMessageType('TransmitPowerChain', (_message.Message,), {
      'DESCRIPTOR' : _WIFICONFIG_RTW88CONFIG_TRANSMITPOWERCHAIN,
      '__module__' : 'chromiumos.config.api.software.wifi_config_pb2'
      # @@protoc_insertion_point(class_scope:chromiumos.config.api.software.WifiConfig.Rtw88Config.TransmitPowerChain)
      })
    ,

    'GeoOffsets' : _reflection.GeneratedProtocolMessageType('GeoOffsets', (_message.Message,), {
      'DESCRIPTOR' : _WIFICONFIG_RTW88CONFIG_GEOOFFSETS,
      '__module__' : 'chromiumos.config.api.software.wifi_config_pb2'
      # @@protoc_insertion_point(class_scope:chromiumos.config.api.software.WifiConfig.Rtw88Config.GeoOffsets)
      })
    ,
    'DESCRIPTOR' : _WIFICONFIG_RTW88CONFIG,
    '__module__' : 'chromiumos.config.api.software.wifi_config_pb2'
    # @@protoc_insertion_point(class_scope:chromiumos.config.api.software.WifiConfig.Rtw88Config)
    })
  ,

  'IntelConfig' : _reflection.GeneratedProtocolMessageType('IntelConfig', (_message.Message,), {

    'TransmitPowerChain' : _reflection.GeneratedProtocolMessageType('TransmitPowerChain', (_message.Message,), {
      'DESCRIPTOR' : _WIFICONFIG_INTELCONFIG_TRANSMITPOWERCHAIN,
      '__module__' : 'chromiumos.config.api.software.wifi_config_pb2'
      # @@protoc_insertion_point(class_scope:chromiumos.config.api.software.WifiConfig.IntelConfig.TransmitPowerChain)
      })
    ,

    'GeoOffsets' : _reflection.GeneratedProtocolMessageType('GeoOffsets', (_message.Message,), {
      'DESCRIPTOR' : _WIFICONFIG_INTELCONFIG_GEOOFFSETS,
      '__module__' : 'chromiumos.config.api.software.wifi_config_pb2'
      # @@protoc_insertion_point(class_scope:chromiumos.config.api.software.WifiConfig.IntelConfig.GeoOffsets)
      })
    ,
    'DESCRIPTOR' : _WIFICONFIG_INTELCONFIG,
    '__module__' : 'chromiumos.config.api.software.wifi_config_pb2'
    # @@protoc_insertion_point(class_scope:chromiumos.config.api.software.WifiConfig.IntelConfig)
    })
  ,
  'DESCRIPTOR' : _WIFICONFIG,
  '__module__' : 'chromiumos.config.api.software.wifi_config_pb2'
  # @@protoc_insertion_point(class_scope:chromiumos.config.api.software.WifiConfig)
  })
_sym_db.RegisterMessage(WifiConfig)
_sym_db.RegisterMessage(WifiConfig.Ath10kConfig)
_sym_db.RegisterMessage(WifiConfig.Ath10kConfig.TransmitPowerChain)
_sym_db.RegisterMessage(WifiConfig.Rtw88Config)
_sym_db.RegisterMessage(WifiConfig.Rtw88Config.TransmitPowerChain)
_sym_db.RegisterMessage(WifiConfig.Rtw88Config.GeoOffsets)
_sym_db.RegisterMessage(WifiConfig.IntelConfig)
_sym_db.RegisterMessage(WifiConfig.IntelConfig.TransmitPowerChain)
_sym_db.RegisterMessage(WifiConfig.IntelConfig.GeoOffsets)


DESCRIPTOR._options = None
# @@protoc_insertion_point(module_scope)
