text: // Generated by the protocol buffer compiler.  DO NOT EDIT!
  // source: openconfig/openconfig_transport_line_protection/openconfig_transport_line_protection.proto
  
  #ifndef PROTOBUF_openconfig_2fopenconfig_5ftransport_5fline_5fprotection_2fopenconfig_5ftransport_5fline_5fprotection_2eproto__INCLUDED
  #define PROTOBUF_openconfig_2fopenconfig_5ftransport_5fline_5fprotection_2fopenconfig_5ftransport_5fline_5fprotection_2eproto__INCLUDED
  
  #include <string>
  
  #include <google/protobuf/stubs/common.h>
  
  #if GOOGLE_PROTOBUF_VERSION < 3005000
  #error This file was generated by a newer version of protoc which is
  #error incompatible with your Protocol Buffer headers.  Please update
  #error your headers.
  #endif
  #if 3005001 < GOOGLE_PROTOBUF_MIN_PROTOC_VERSION
  #error This file was generated by an older version of protoc which is
  #error incompatible with your Protocol Buffer headers.  Please
  #error regenerate this file with a newer version of protoc.
  #endif
  
  #include <google/protobuf/io/coded_stream.h>
  #include <google/protobuf/arena.h>
  #include <google/protobuf/arenastring.h>
  #include <google/protobuf/generated_message_table_driven.h>
  #include <google/protobuf/generated_message_util.h>
  #include <google/protobuf/metadata.h>
  #include <google/protobuf/message.h>
  #include <google/protobuf/repeated_field.h>  // IWYU pragma: export
  #include <google/protobuf/extension_set.h>  // IWYU pragma: export
  #include <google/protobuf/unknown_field_set.h>
  #include "github.com/openconfig/ygot/proto/ywrapper/ywrapper.pb.h"
  #include "github.com/openconfig/ygot/proto/yext/yext.pb.h"
  #include "openconfig/enums/enums.pb.h"
  // @@protoc_insertion_point(includes)
  
  namespace protobuf_openconfig_2fopenconfig_5ftransport_5fline_5fprotection_2fopenconfig_5ftransport_5fline_5fprotection_2eproto {
  // Internal implementation detail -- do not use these members.
  struct TableStruct {
    static const ::google::protobuf::internal::ParseTableField entries[];
    static const ::google::protobuf::internal::AuxillaryParseTableField aux[];
    static const ::google::protobuf::internal::ParseTable schema[31];
    static const ::google::protobuf::internal::FieldMetadata field_metadata[];
    static const ::google::protobuf::internal::SerializationTable serialization_table[];
    static const ::google::protobuf::uint32 offsets[];
  };
  void AddDescriptors();
  void InitDefaultsAps_ApsModules_ApsModule_ConfigImpl();
  void InitDefaultsAps_ApsModules_ApsModule_Config();
  void InitDefaultsAps_ApsModules_ApsModule_Ports_CommonIn_ConfigImpl();
  void InitDefaultsAps_ApsModules_ApsModule_Ports_CommonIn_Config();
  void InitDefaultsAps_ApsModules_ApsModule_Ports_CommonIn_State_OpticalPowerImpl();
  void InitDefaultsAps_ApsModules_ApsModule_Ports_CommonIn_State_OpticalPower();
  void InitDefaultsAps_ApsModules_ApsModule_Ports_CommonIn_StateImpl();
  void InitDefaultsAps_ApsModules_ApsModule_Ports_CommonIn_State();
  void InitDefaultsAps_ApsModules_ApsModule_Ports_CommonInImpl();
  void InitDefaultsAps_ApsModules_ApsModule_Ports_CommonIn();
  void InitDefaultsAps_ApsModules_ApsModule_Ports_CommonOutput_ConfigImpl();
  void InitDefaultsAps_ApsModules_ApsModule_Ports_CommonOutput_Config();
  void InitDefaultsAps_ApsModules_ApsModule_Ports_CommonOutput_State_OpticalPowerImpl();
  void InitDefaultsAps_ApsModules_ApsModule_Ports_CommonOutput_State_OpticalPower();
  void InitDefaultsAps_ApsModules_ApsModule_Ports_CommonOutput_StateImpl();
  void InitDefaultsAps_ApsModules_ApsModule_Ports_CommonOutput_State();
  void InitDefaultsAps_ApsModules_ApsModule_Ports_CommonOutputImpl();
  void InitDefaultsAps_ApsModules_ApsModule_Ports_CommonOutput();
  void InitDefaultsAps_ApsModules_ApsModule_Ports_LinePrimaryIn_ConfigImpl();
  void InitDefaultsAps_ApsModules_ApsModule_Ports_LinePrimaryIn_Config();
  void InitDefaultsAps_ApsModules_ApsModule_Ports_LinePrimaryIn_State_OpticalPowerImpl();
  void InitDefaultsAps_ApsModules_ApsModule_Ports_LinePrimaryIn_State_OpticalPower();
  void InitDefaultsAps_ApsModules_ApsModule_Ports_LinePrimaryIn_StateImpl();
  void InitDefaultsAps_ApsModules_ApsModule_Ports_LinePrimaryIn_State();
  void InitDefaultsAps_ApsModules_ApsModule_Ports_LinePrimaryInImpl();
  void InitDefaultsAps_ApsModules_ApsModule_Ports_LinePrimaryIn();
  void InitDefaultsAps_ApsModules_ApsModule_Ports_LinePrimaryOut_ConfigImpl();
  void InitDefaultsAps_ApsModules_ApsModule_Ports_LinePrimaryOut_Config();
  void InitDefaultsAps_ApsModules_ApsModule_Ports_LinePrimaryOut_State_OpticalPowerImpl();
  void InitDefaultsAps_ApsModules_ApsModule_Ports_LinePrimaryOut_State_OpticalPower();
  void InitDefaultsAps_ApsModules_ApsModule_Ports_LinePrimaryOut_StateImpl();
  void InitDefaultsAps_ApsModules_ApsModule_Ports_LinePrimaryOut_State();
  void InitDefaultsAps_ApsModules_ApsModule_Ports_LinePrimaryOutImpl();
  void InitDefaultsAps_ApsModules_ApsModule_Ports_LinePrimaryOut();
  void InitDefaultsAps_ApsModules_ApsModule_Ports_LineSecondaryIn_ConfigImpl();
  void InitDefaultsAps_ApsModules_ApsModule_Ports_LineSecondaryIn_Config();
  void InitDefaultsAps_ApsModules_ApsModule_Ports_LineSecondaryIn_State_OpticalPowerImpl();
  void InitDefaultsAps_ApsModules_ApsModule_Ports_LineSecondaryIn_State_OpticalPower();
  void InitDefaultsAps_ApsModules_ApsModule_Ports_LineSecondaryIn_StateImpl();
  void InitDefaultsAps_ApsModules_ApsModule_Ports_LineSecondaryIn_State();
  void InitDefaultsAps_ApsModules_ApsModule_Ports_LineSecondaryInImpl();
  void InitDefaultsAps_ApsModules_ApsModule_Ports_LineSecondaryIn();
  void InitDefaultsAps_ApsModules_ApsModule_Ports_LineSecondaryOut_ConfigImpl();
  void InitDefaultsAps_ApsModules_ApsModule_Ports_LineSecondaryOut_Config();
  void InitDefaultsAps_ApsModules_ApsModule_Ports_LineSecondaryOut_State_OpticalPowerImpl();
  void InitDefaultsAps_ApsModules_ApsModule_Ports_LineSecondaryOut_State_OpticalPower();
  void InitDefaultsAps_ApsModules_ApsModule_Ports_LineSecondaryOut_StateImpl();
  void InitDefaultsAps_ApsModules_ApsModule_Ports_LineSecondaryOut_State();
  void InitDefaultsAps_ApsModules_ApsModule_Ports_LineSecondaryOutImpl();
  void InitDefaultsAps_ApsModules_ApsModule_Ports_LineSecondaryOut();
  void InitDefaultsAps_ApsModules_ApsModule_PortsImpl();
  void InitDefaultsAps_ApsModules_ApsModule_Ports();
  void InitDefaultsAps_ApsModules_ApsModule_StateImpl();
  void InitDefaultsAps_ApsModules_ApsModule_State();
  void InitDefaultsAps_ApsModules_ApsModuleImpl();
  void InitDefaultsAps_ApsModules_ApsModule();
  void InitDefaultsAps_ApsModules_ApsModuleKeyImpl();
  void InitDefaultsAps_ApsModules_ApsModuleKey();
  void InitDefaultsAps_ApsModulesImpl();
  void InitDefaultsAps_ApsModules();
  void InitDefaultsApsImpl();
  void InitDefaultsAps();
  inline void InitDefaults() {
    InitDefaultsAps_ApsModules_ApsModule_Config();
    InitDefaultsAps_ApsModules_ApsModule_Ports_CommonIn_Config();
    InitDefaultsAps_ApsModules_ApsModule_Ports_CommonIn_State_OpticalPower();
    InitDefaultsAps_ApsModules_ApsModule_Ports_CommonIn_State();
    InitDefaultsAps_ApsModules_ApsModule_Ports_CommonIn();
    InitDefaultsAps_ApsModules_ApsModule_Ports_CommonOutput_Config();
    InitDefaultsAps_ApsModules_ApsModule_Ports_CommonOutput_State_OpticalPower();
    InitDefaultsAps_ApsModules_ApsModule_Ports_CommonOutput_State();
    InitDefaultsAps_ApsModules_ApsModule_Ports_CommonOutput();
    InitDefaultsAps_ApsModules_ApsModule_Ports_LinePrimaryIn_Config();
    InitDefaultsAps_ApsModules_ApsModule_Ports_LinePrimaryIn_State_OpticalPower();
    InitDefaultsAps_ApsModules_ApsModule_Ports_LinePrimaryIn_State();
    InitDefaultsAps_ApsModules_ApsModule_Ports_LinePrimaryIn();
    InitDefaultsAps_ApsModules_ApsModule_Ports_LinePrimaryOut_Config();
    InitDefaultsAps_ApsModules_ApsModule_Ports_LinePrimaryOut_State_OpticalPower();
    InitDefaultsAps_ApsModules_ApsModule_Ports_LinePrimaryOut_State();
    InitDefaultsAps_ApsModules_ApsModule_Ports_LinePrimaryOut();
    InitDefaultsAps_ApsModules_ApsModule_Ports_LineSecondaryIn_Config();
    InitDefaultsAps_ApsModules_ApsModule_Ports_LineSecondaryIn_State_OpticalPower();
    InitDefaultsAps_ApsModules_ApsModule_Ports_LineSecondaryIn_State();
    InitDefaultsAps_ApsModules_ApsModule_Ports_LineSecondaryIn();
    InitDefaultsAps_ApsModules_ApsModule_Ports_LineSecondaryOut_Config();
    InitDefaultsAps_ApsModules_ApsModule_Ports_LineSecondaryOut_State_OpticalPower();
    InitDefaultsAps_ApsModules_ApsModule_Ports_LineSecondaryOut_State();
    InitDefaultsAps_ApsModules_ApsModule_Ports_LineSecondaryOut();
    InitDefaultsAps_ApsModules_ApsModule_Ports();
    InitDefaultsAps_ApsModules_ApsModule_State();
    InitDefaultsAps_ApsModules_ApsModule();
    InitDefaultsAps_ApsModules_ApsModuleKey();
    InitDefaultsAps_ApsModules();
    InitDefaultsAps();
  }
  }  // namespace protobuf_openconfig_2fopenconfig_5ftransport_5fline_5fprotection_2fopenconfig_5ftransport_5fline_5fprotection_2eproto
  namespace openconfig {
  namespace openconfig_transport_line_protection {
  class Aps;
  class ApsDefaultTypeInternal;
  extern ApsDefaultTypeInternal _Aps_default_instance_;
  class Aps_ApsModules;
  class Aps_ApsModulesDefaultTypeInternal;
  extern Aps_ApsModulesDefaultTypeInternal _Aps_ApsModules_default_instance_;
  class Aps_ApsModules_ApsModule;
  class Aps_ApsModules_ApsModuleDefaultTypeInternal;
  extern Aps_ApsModules_ApsModuleDefaultTypeInternal _Aps_ApsModules_ApsModule_default_instance_;
  class Aps_ApsModules_ApsModuleKey;
  class Aps_ApsModules_ApsModuleKeyDefaultTypeInternal;
  extern Aps_ApsModules_ApsModuleKeyDefaultTypeInternal _Aps_ApsModules_ApsModuleKey_default_instance_;
  class Aps_ApsModules_ApsModule_Config;
  class Aps_ApsModules_ApsModule_ConfigDefaultTypeInternal;
  extern Aps_ApsModules_ApsModule_ConfigDefaultTypeInternal _Aps_ApsModules_ApsModule_Config_default_instance_;
  class Aps_ApsModules_ApsModule_Ports;
  class Aps_ApsModules_ApsModule_PortsDefaultTypeInternal;
  extern Aps_ApsModules_ApsModule_PortsDefaultTypeInternal _Aps_ApsModules_ApsModule_Ports_default_instance_;
  class Aps_ApsModules_ApsModule_Ports_CommonIn;
  class Aps_ApsModules_ApsModule_Ports_CommonInDefaultTypeInternal;
  extern Aps_ApsModules_ApsModule_Ports_CommonInDefaultTypeInternal _Aps_ApsModules_ApsModule_Ports_CommonIn_default_instance_;
  class Aps_ApsModules_ApsModule_Ports_CommonIn_Config;
  class Aps_ApsModules_ApsModule_Ports_CommonIn_ConfigDefaultTypeInternal;
  extern Aps_ApsModules_ApsModule_Ports_CommonIn_ConfigDefaultTypeInternal _Aps_ApsModules_ApsModule_Ports_CommonIn_Config_default_instance_;
  class Aps_ApsModules_ApsModule_Ports_CommonIn_State;
  class Aps_ApsModules_ApsModule_Ports_CommonIn_StateDefaultTypeInternal;
  extern Aps_ApsModules_ApsModule_Ports_CommonIn_StateDefaultTypeInternal _Aps_ApsModules_ApsModule_Ports_CommonIn_State_default_instance_;
  class Aps_ApsModules_ApsModule_Ports_CommonIn_State_OpticalPower;
  class Aps_ApsModules_ApsModule_Ports_CommonIn_State_OpticalPowerDefaultTypeInternal;
  extern Aps_ApsModules_ApsModule_Ports_CommonIn_State_OpticalPowerDefaultTypeInternal _Aps_ApsModules_ApsModule_Ports_CommonIn_State_OpticalPower_default_instance_;
  class Aps_ApsModules_ApsModule_Ports_CommonOutput;
  class Aps_ApsModules_ApsModule_Ports_CommonOutputDefaultTypeInternal;
  extern Aps_ApsModules_ApsModule_Ports_CommonOutputDefaultTypeInternal _Aps_ApsModules_ApsModule_Ports_CommonOutput_default_instance_;
  class Aps_ApsModules_ApsModule_Ports_CommonOutput_Config;
  class Aps_ApsModules_ApsModule_Ports_CommonOutput_ConfigDefaultTypeInternal;
  extern Aps_ApsModules_ApsModule_Ports_CommonOutput_ConfigDefaultTypeInternal _Aps_ApsModules_ApsModule_Ports_CommonOutput_Config_default_instance_;
  class Aps_ApsModules_ApsModule_Ports_CommonOutput_State;
  class Aps_ApsModules_ApsModule_Ports_CommonOutput_StateDefaultTypeInternal;
  extern Aps_ApsModules_ApsModule_Ports_CommonOutput_StateDefaultTypeInternal _Aps_ApsModules_ApsModule_Ports_CommonOutput_State_default_instance_;
  class Aps_ApsModules_ApsModule_Ports_CommonOutput_State_OpticalPower;
  class Aps_ApsModules_ApsModule_Ports_CommonOutput_State_OpticalPowerDefaultTypeInternal;
  extern Aps_ApsModules_ApsModule_Ports_CommonOutput_State_OpticalPowerDefaultTypeInternal _Aps_ApsModules_ApsModule_Ports_CommonOutput_State_OpticalPower_default_instance_;
  class Aps_ApsModules_ApsModule_Ports_LinePrimaryIn;
  class Aps_ApsModules_ApsModule_Ports_LinePrimaryInDefaultTypeInternal;
  extern Aps_ApsModules_ApsModule_Ports_LinePrimaryInDefaultTypeInternal _Aps_ApsModules_ApsModule_Ports_LinePrimaryIn_default_instance_;
  class Aps_ApsModules_ApsModule_Ports_LinePrimaryIn_Config;
  class Aps_ApsModules_ApsModule_Ports_LinePrimaryIn_ConfigDefaultTypeInternal;
  extern Aps_ApsModules_ApsModule_Ports_LinePrimaryIn_ConfigDefaultTypeInternal _Aps_ApsModules_ApsModule_Ports_LinePrimaryIn_Config_default_instance_;
  class Aps_ApsModules_ApsModule_Ports_LinePrimaryIn_State;
  class Aps_ApsModules_ApsModule_Ports_LinePrimaryIn_StateDefaultTypeInternal;
  extern Aps_ApsModules_ApsModule_Ports_LinePrimaryIn_StateDefaultTypeInternal _Aps_ApsModules_ApsModule_Ports_LinePrimaryIn_State_default_instance_;
  class Aps_ApsModules_ApsModule_Ports_LinePrimaryIn_State_OpticalPower;
  class Aps_ApsModules_ApsModule_Ports_LinePrimaryIn_State_OpticalPowerDefaultTypeInternal;
  extern Aps_ApsModules_ApsModule_Ports_LinePrimaryIn_State_OpticalPowerDefaultTypeInternal _Aps_ApsModules_ApsModule_Ports_LinePrimaryIn_State_OpticalPower_default_instance_;
  class Aps_ApsModules_ApsModule_Ports_LinePrimaryOut;
  class Aps_ApsModules_ApsModule_Ports_LinePrimaryOutDefaultTypeInternal;
  extern Aps_ApsModules_ApsModule_Ports_LinePrimaryOutDefaultTypeInternal _Aps_ApsModules_ApsModule_Ports_LinePrimaryOut_default_instance_;
  class Aps_ApsModules_ApsModule_Ports_LinePrimaryOut_Config;
  class Aps_ApsModules_ApsModule_Ports_LinePrimaryOut_ConfigDefaultTypeInternal;
  extern Aps_ApsModules_ApsModule_Ports_LinePrimaryOut_ConfigDefaultTypeInternal _Aps_ApsModules_ApsModule_Ports_LinePrimaryOut_Config_default_instance_;
  class Aps_ApsModules_ApsModule_Ports_LinePrimaryOut_State;
  class Aps_ApsModules_ApsModule_Ports_LinePrimaryOut_StateDefaultTypeInternal;
  extern Aps_ApsModules_ApsModule_Ports_LinePrimaryOut_StateDefaultTypeInternal _Aps_ApsModules_ApsModule_Ports_LinePrimaryOut_State_default_instance_;
  class Aps_ApsModules_ApsModule_Ports_LinePrimaryOut_State_OpticalPower;
  class Aps_ApsModules_ApsModule_Ports_LinePrimaryOut_State_OpticalPowerDefaultTypeInternal;
  extern Aps_ApsModules_ApsModule_Ports_LinePrimaryOut_State_OpticalPowerDefaultTypeInternal _Aps_ApsModules_ApsModule_Ports_LinePrimaryOut_State_OpticalPower_default_instance_;
  class Aps_ApsModules_ApsModule_Ports_LineSecondaryIn;
  class Aps_ApsModules_ApsModule_Ports_LineSecondaryInDefaultTypeInternal;
  extern Aps_ApsModules_ApsModule_Ports_LineSecondaryInDefaultTypeInternal _Aps_ApsModules_ApsModule_Ports_LineSecondaryIn_default_instance_;
  class Aps_ApsModules_ApsModule_Ports_LineSecondaryIn_Config;
  class Aps_ApsModules_ApsModule_Ports_LineSecondaryIn_ConfigDefaultTypeInternal;
  extern Aps_ApsModules_ApsModule_Ports_LineSecondaryIn_ConfigDefaultTypeInternal _Aps_ApsModules_ApsModule_Ports_LineSecondaryIn_Config_default_instance_;
  class Aps_ApsModules_ApsModule_Ports_LineSecondaryIn_State;
  class Aps_ApsModules_ApsModule_Ports_LineSecondaryIn_StateDefaultTypeInternal;
  extern Aps_ApsModules_ApsModule_Ports_LineSecondaryIn_StateDefaultTypeInternal _Aps_ApsModules_ApsModule_Ports_LineSecondaryIn_State_default_instance_;
  class Aps_ApsModules_ApsModule_Ports_LineSecondaryIn_State_OpticalPower;
  class Aps_ApsModules_ApsModule_Ports_LineSecondaryIn_State_OpticalPowerDefaultTypeInternal;
  extern Aps_ApsModules_ApsModule_Ports_LineSecondaryIn_State_OpticalPowerDefaultTypeInternal _Aps_ApsModules_ApsModule_Ports_LineSecondaryIn_State_OpticalPower_default_instance_;
  class Aps_ApsModules_ApsModule_Ports_LineSecondaryOut;
  class Aps_ApsModules_ApsModule_Ports_LineSecondaryOutDefaultTypeInternal;
  extern Aps_ApsModules_ApsModule_Ports_LineSecondaryOutDefaultTypeInternal _Aps_ApsModules_ApsModule_Ports_LineSecondaryOut_default_instance_;
  class Aps_ApsModules_ApsModule_Ports_LineSecondaryOut_Config;
  class Aps_ApsModules_ApsModule_Ports_LineSecondaryOut_ConfigDefaultTypeInternal;
  extern Aps_ApsModules_ApsModule_Ports_LineSecondaryOut_ConfigDefaultTypeInternal _Aps_ApsModules_ApsModule_Ports_LineSecondaryOut_Config_default_instance_;
  class Aps_ApsModules_ApsModule_Ports_LineSecondaryOut_State;
  class Aps_ApsModules_ApsModule_Ports_LineSecondaryOut_StateDefaultTypeInternal;
  extern Aps_ApsModules_ApsModule_Ports_LineSecondaryOut_StateDefaultTypeInternal _Aps_ApsModules_ApsModule_Ports_LineSecondaryOut_State_default_instance_;
  class Aps_ApsModules_ApsModule_Ports_LineSecondaryOut_State_OpticalPower;
  class Aps_ApsModules_ApsModule_Ports_LineSecondaryOut_State_OpticalPowerDefaultTypeInternal;
  extern Aps_ApsModules_ApsModule_Ports_LineSecondaryOut_State_OpticalPowerDefaultTypeInternal _Aps_ApsModules_ApsModule_Ports_LineSecondaryOut_State_OpticalPower_default_instance_;
  class Aps_ApsModules_ApsModule_State;
  class Aps_ApsModules_ApsModule_StateDefaultTypeInternal;
  extern Aps_ApsModules_ApsModule_StateDefaultTypeInternal _Aps_ApsModules_ApsModule_State_default_instance_;
  }  // namespace openconfig_transport_line_protection
  }  // namespace openconfig
  namespace openconfig {
  namespace openconfig_transport_line_protection {
  
  // ===================================================================
  
  class Aps_ApsModules_ApsModule_Config : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Config) */ {
   public:
    Aps_ApsModules_ApsModule_Config();
    virtual ~Aps_ApsModules_ApsModule_Config();
  
    Aps_ApsModules_ApsModule_Config(const Aps_ApsModules_ApsModule_Config& from);
  
    inline Aps_ApsModules_ApsModule_Config& operator=(const Aps_ApsModules_ApsModule_Config& from) {
      CopyFrom(from);
      return *this;
    }
    #if LANG_CXX11
    Aps_ApsModules_ApsModule_Config(Aps_ApsModules_ApsModule_Config&& from) noexcept
      : Aps_ApsModules_ApsModule_Config() {
      *this = ::std::move(from);
    }
  
    inline Aps_ApsModules_ApsModule_Config& operator=(Aps_ApsModules_ApsModule_Config&& from) noexcept {
      if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
        if (this != &from) InternalSwap(&from);
      } else {
        CopyFrom(from);
      }
      return *this;
    }
    #endif
    static const ::google::protobuf::Descriptor* descriptor();
    static const Aps_ApsModules_ApsModule_Config& default_instance();
  
    static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
    static inline const Aps_ApsModules_ApsModule_Config* internal_default_instance() {
      return reinterpret_cast<const Aps_ApsModules_ApsModule_Config*>(
                 &_Aps_ApsModules_ApsModule_Config_default_instance_);
    }
    static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
      0;
  
    void Swap(Aps_ApsModules_ApsModule_Config* other);
    friend void swap(Aps_ApsModules_ApsModule_Config& a, Aps_ApsModules_ApsModule_Config& b) {
      a.Swap(&b);
    }
  
    // implements Message ----------------------------------------------
  
    inline Aps_ApsModules_ApsModule_Config* New() const PROTOBUF_FINAL { return New(NULL); }
  
    Aps_ApsModules_ApsModule_Config* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
    void CopyFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void MergeFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void CopyFrom(const Aps_ApsModules_ApsModule_Config& from);
    void MergeFrom(const Aps_ApsModules_ApsModule_Config& from);
    void Clear() PROTOBUF_FINAL;
    bool IsInitialized() const PROTOBUF_FINAL;
  
    size_t ByteSizeLong() const PROTOBUF_FINAL;
    bool MergePartialFromCodedStream(
        ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
    void SerializeWithCachedSizes(
        ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
    ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
        bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL;
    int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
    private:
    void SharedCtor();
    void SharedDtor();
    void SetCachedSize(int size) const PROTOBUF_FINAL;
    void InternalSwap(Aps_ApsModules_ApsModule_Config* other);
    private:
    inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
      return NULL;
    }
    inline void* MaybeArenaPtr() const {
      return NULL;
    }
    public:
  
    ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL;
  
    // nested types ----------------------------------------------------
  
    // accessors -------------------------------------------------------
  
    // .ywrapper.Decimal64Value primary_switch_hysteresis = 108820170 [(.yext.schemapath) = "/aps/aps-modules/aps-module/config/primary-switch-hysteresis"];
    bool has_primary_switch_hysteresis() const;
    void clear_primary_switch_hysteresis();
    static const int kPrimarySwitchHysteresisFieldNumber = 108820170;
    const ::ywrapper::Decimal64Value& primary_switch_hysteresis() const;
    ::ywrapper::Decimal64Value* release_primary_switch_hysteresis();
    ::ywrapper::Decimal64Value* mutable_primary_switch_hysteresis();
    void set_allocated_primary_switch_hysteresis(::ywrapper::Decimal64Value* primary_switch_hysteresis);
  
    // .ywrapper.Decimal64Value secondary_switch_hysteresis = 302966854 [(.yext.schemapath) = "/aps/aps-modules/aps-module/config/secondary-switch-hysteresis"];
    bool has_secondary_switch_hysteresis() const;
    void clear_secondary_switch_hysteresis();
    static const int kSecondarySwitchHysteresisFieldNumber = 302966854;
    const ::ywrapper::Decimal64Value& secondary_switch_hysteresis() const;
    ::ywrapper::Decimal64Value* release_secondary_switch_hysteresis();
    ::ywrapper::Decimal64Value* mutable_secondary_switch_hysteresis();
    void set_allocated_secondary_switch_hysteresis(::ywrapper::Decimal64Value* secondary_switch_hysteresis);
  
    // .ywrapper.StringValue name = 338433916 [(.yext.schemapath) = "/aps/aps-modules/aps-module/config/name"];
    bool has_name() const;
    void clear_name();
    static const int kNameFieldNumber = 338433916;
    const ::ywrapper::StringValue& name() const;
    ::ywrapper::StringValue* release_name();
    ::ywrapper::StringValue* mutable_name();
    void set_allocated_name(::ywrapper::StringValue* name);
  
    // .ywrapper.Decimal64Value secondary_switch_threshold = 359289280 [(.yext.schemapath) = "/aps/aps-modules/aps-module/config/secondary-switch-threshold"];
    bool has_secondary_switch_threshold() const;
    void clear_secondary_switch_threshold();
    static const int kSecondarySwitchThresholdFieldNumber = 359289280;
    const ::ywrapper::Decimal64Value& secondary_switch_threshold() const;
    ::ywrapper::Decimal64Value* release_secondary_switch_threshold();
    ::ywrapper::Decimal64Value* mutable_secondary_switch_threshold();
    void set_allocated_secondary_switch_threshold(::ywrapper::Decimal64Value* secondary_switch_threshold);
  
    // .ywrapper.BoolValue revertive = 430074495 [(.yext.schemapath) = "/aps/aps-modules/aps-module/config/revertive"];
    bool has_revertive() const;
    void clear_revertive();
    static const int kRevertiveFieldNumber = 430074495;
    const ::ywrapper::BoolValue& revertive() const;
    ::ywrapper::BoolValue* release_revertive();
    ::ywrapper::BoolValue* mutable_revertive();
    void set_allocated_revertive(::ywrapper::BoolValue* revertive);
  
    // .ywrapper.Decimal64Value primary_switch_threshold = 487191516 [(.yext.schemapath) = "/aps/aps-modules/aps-module/config/primary-switch-threshold"];
    bool has_primary_switch_threshold() const;
    void clear_primary_switch_threshold();
    static const int kPrimarySwitchThresholdFieldNumber = 487191516;
    const ::ywrapper::Decimal64Value& primary_switch_threshold() const;
    ::ywrapper::Decimal64Value* release_primary_switch_threshold();
    ::ywrapper::Decimal64Value* mutable_primary_switch_threshold();
    void set_allocated_primary_switch_threshold(::ywrapper::Decimal64Value* primary_switch_threshold);
  
    // @@protoc_insertion_point(class_scope:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Config)
   private:
  
    ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
    ::ywrapper::Decimal64Value* primary_switch_hysteresis_;
    ::ywrapper::Decimal64Value* secondary_switch_hysteresis_;
    ::ywrapper::StringValue* name_;
    ::ywrapper::Decimal64Value* secondary_switch_threshold_;
    ::ywrapper::BoolValue* revertive_;
    ::ywrapper::Decimal64Value* primary_switch_threshold_;
    mutable int _cached_size_;
    friend struct ::protobuf_openconfig_2fopenconfig_5ftransport_5fline_5fprotection_2fopenconfig_5ftransport_5fline_5fprotection_2eproto::TableStruct;
    friend void ::protobuf_openconfig_2fopenconfig_5ftransport_5fline_5fprotection_2fopenconfig_5ftransport_5fline_5fprotection_2eproto::InitDefaultsAps_ApsModules_ApsModule_ConfigImpl();
  };
  // -------------------------------------------------------------------
  
  class Aps_ApsModules_ApsModule_Ports_CommonIn_Config : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.CommonIn.Config) */ {
   public:
    Aps_ApsModules_ApsModule_Ports_CommonIn_Config();
    virtual ~Aps_ApsModules_ApsModule_Ports_CommonIn_Config();
  
    Aps_ApsModules_ApsModule_Ports_CommonIn_Config(const Aps_ApsModules_ApsModule_Ports_CommonIn_Config& from);
  
    inline Aps_ApsModules_ApsModule_Ports_CommonIn_Config& operator=(const Aps_ApsModules_ApsModule_Ports_CommonIn_Config& from) {
      CopyFrom(from);
      return *this;
    }
    #if LANG_CXX11
    Aps_ApsModules_ApsModule_Ports_CommonIn_Config(Aps_ApsModules_ApsModule_Ports_CommonIn_Config&& from) noexcept
      : Aps_ApsModules_ApsModule_Ports_CommonIn_Config() {
      *this = ::std::move(from);
    }
  
    inline Aps_ApsModules_ApsModule_Ports_CommonIn_Config& operator=(Aps_ApsModules_ApsModule_Ports_CommonIn_Config&& from) noexcept {
      if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
        if (this != &from) InternalSwap(&from);
      } else {
        CopyFrom(from);
      }
      return *this;
    }
    #endif
    static const ::google::protobuf::Descriptor* descriptor();
    static const Aps_ApsModules_ApsModule_Ports_CommonIn_Config& default_instance();
  
    static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
    static inline const Aps_ApsModules_ApsModule_Ports_CommonIn_Config* internal_default_instance() {
      return reinterpret_cast<const Aps_ApsModules_ApsModule_Ports_CommonIn_Config*>(
                 &_Aps_ApsModules_ApsModule_Ports_CommonIn_Config_default_instance_);
    }
    static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
      1;
  
    void Swap(Aps_ApsModules_ApsModule_Ports_CommonIn_Config* other);
    friend void swap(Aps_ApsModules_ApsModule_Ports_CommonIn_Config& a, Aps_ApsModules_ApsModule_Ports_CommonIn_Config& b) {
      a.Swap(&b);
    }
  
    // implements Message ----------------------------------------------
  
    inline Aps_ApsModules_ApsModule_Ports_CommonIn_Config* New() const PROTOBUF_FINAL { return New(NULL); }
  
    Aps_ApsModules_ApsModule_Ports_CommonIn_Config* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
    void CopyFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void MergeFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void CopyFrom(const Aps_ApsModules_ApsModule_Ports_CommonIn_Config& from);
    void MergeFrom(const Aps_ApsModules_ApsModule_Ports_CommonIn_Config& from);
    void Clear() PROTOBUF_FINAL;
    bool IsInitialized() const PROTOBUF_FINAL;
  
    size_t ByteSizeLong() const PROTOBUF_FINAL;
    bool MergePartialFromCodedStream(
        ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
    void SerializeWithCachedSizes(
        ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
    ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
        bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL;
    int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
    private:
    void SharedCtor();
    void SharedDtor();
    void SetCachedSize(int size) const PROTOBUF_FINAL;
    void InternalSwap(Aps_ApsModules_ApsModule_Ports_CommonIn_Config* other);
    private:
    inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
      return NULL;
    }
    inline void* MaybeArenaPtr() const {
      return NULL;
    }
    public:
  
    ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL;
  
    // nested types ----------------------------------------------------
  
    // accessors -------------------------------------------------------
  
    // .ywrapper.Decimal64Value target_attenuation = 127179608 [(.yext.schemapath) = "/aps/aps-modules/aps-module/ports/common-in/config/target-attenuation"];
    bool has_target_attenuation() const;
    void clear_target_attenuation();
    static const int kTargetAttenuationFieldNumber = 127179608;
    const ::ywrapper::Decimal64Value& target_attenuation() const;
    ::ywrapper::Decimal64Value* release_target_attenuation();
    ::ywrapper::Decimal64Value* mutable_target_attenuation();
    void set_allocated_target_attenuation(::ywrapper::Decimal64Value* target_attenuation);
  
    // .ywrapper.BoolValue enabled = 410901767 [(.yext.schemapath) = "/aps/aps-modules/aps-module/ports/common-in/config/enabled"];
    bool has_enabled() const;
    void clear_enabled();
    static const int kEnabledFieldNumber = 410901767;
    const ::ywrapper::BoolValue& enabled() const;
    ::ywrapper::BoolValue* release_enabled();
    ::ywrapper::BoolValue* mutable_enabled();
    void set_allocated_enabled(::ywrapper::BoolValue* enabled);
  
    // @@protoc_insertion_point(class_scope:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.CommonIn.Config)
   private:
  
    ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
    ::ywrapper::Decimal64Value* target_attenuation_;
    ::ywrapper::BoolValue* enabled_;
    mutable int _cached_size_;
    friend struct ::protobuf_openconfig_2fopenconfig_5ftransport_5fline_5fprotection_2fopenconfig_5ftransport_5fline_5fprotection_2eproto::TableStruct;
    friend void ::protobuf_openconfig_2fopenconfig_5ftransport_5fline_5fprotection_2fopenconfig_5ftransport_5fline_5fprotection_2eproto::InitDefaultsAps_ApsModules_ApsModule_Ports_CommonIn_ConfigImpl();
  };
  // -------------------------------------------------------------------
  
  class Aps_ApsModules_ApsModule_Ports_CommonIn_State_OpticalPower : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.CommonIn.State.OpticalPower) */ {
   public:
    Aps_ApsModules_ApsModule_Ports_CommonIn_State_OpticalPower();
    virtual ~Aps_ApsModules_ApsModule_Ports_CommonIn_State_OpticalPower();
  
    Aps_ApsModules_ApsModule_Ports_CommonIn_State_OpticalPower(const Aps_ApsModules_ApsModule_Ports_CommonIn_State_OpticalPower& from);
  
    inline Aps_ApsModules_ApsModule_Ports_CommonIn_State_OpticalPower& operator=(const Aps_ApsModules_ApsModule_Ports_CommonIn_State_OpticalPower& from) {
      CopyFrom(from);
      return *this;
    }
    #if LANG_CXX11
    Aps_ApsModules_ApsModule_Ports_CommonIn_State_OpticalPower(Aps_ApsModules_ApsModule_Ports_CommonIn_State_OpticalPower&& from) noexcept
      : Aps_ApsModules_ApsModule_Ports_CommonIn_State_OpticalPower() {
      *this = ::std::move(from);
    }
  
    inline Aps_ApsModules_ApsModule_Ports_CommonIn_State_OpticalPower& operator=(Aps_ApsModules_ApsModule_Ports_CommonIn_State_OpticalPower&& from) noexcept {
      if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
        if (this != &from) InternalSwap(&from);
      } else {
        CopyFrom(from);
      }
      return *this;
    }
    #endif
    static const ::google::protobuf::Descriptor* descriptor();
    static const Aps_ApsModules_ApsModule_Ports_CommonIn_State_OpticalPower& default_instance();
  
    static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
    static inline const Aps_ApsModules_ApsModule_Ports_CommonIn_State_OpticalPower* internal_default_instance() {
      return reinterpret_cast<const Aps_ApsModules_ApsModule_Ports_CommonIn_State_OpticalPower*>(
                 &_Aps_ApsModules_ApsModule_Ports_CommonIn_State_OpticalPower_default_instance_);
    }
    static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
      2;
  
    void Swap(Aps_ApsModules_ApsModule_Ports_CommonIn_State_OpticalPower* other);
    friend void swap(Aps_ApsModules_ApsModule_Ports_CommonIn_State_OpticalPower& a, Aps_ApsModules_ApsModule_Ports_CommonIn_State_OpticalPower& b) {
      a.Swap(&b);
    }
  
    // implements Message ----------------------------------------------
  
    inline Aps_ApsModules_ApsModule_Ports_CommonIn_State_OpticalPower* New() const PROTOBUF_FINAL { return New(NULL); }
  
    Aps_ApsModules_ApsModule_Ports_CommonIn_State_OpticalPower* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
    void CopyFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void MergeFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void CopyFrom(const Aps_ApsModules_ApsModule_Ports_CommonIn_State_OpticalPower& from);
    void MergeFrom(const Aps_ApsModules_ApsModule_Ports_CommonIn_State_OpticalPower& from);
    void Clear() PROTOBUF_FINAL;
    bool IsInitialized() const PROTOBUF_FINAL;
  
    size_t ByteSizeLong() const PROTOBUF_FINAL;
    bool MergePartialFromCodedStream(
        ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
    void SerializeWithCachedSizes(
        ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
    ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
        bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL;
    int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
    private:
    void SharedCtor();
    void SharedDtor();
    void SetCachedSize(int size) const PROTOBUF_FINAL;
    void InternalSwap(Aps_ApsModules_ApsModule_Ports_CommonIn_State_OpticalPower* other);
    private:
    inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
      return NULL;
    }
    inline void* MaybeArenaPtr() const {
      return NULL;
    }
    public:
  
    ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL;
  
    // nested types ----------------------------------------------------
  
    // accessors -------------------------------------------------------
  
    // .ywrapper.Decimal64Value instant = 37675949 [(.yext.schemapath) = "/aps/aps-modules/aps-module/ports/common-in/state/optical-power/instant"];
    bool has_instant() const;
    void clear_instant();
    static const int kInstantFieldNumber = 37675949;
    const ::ywrapper::Decimal64Value& instant() const;
    ::ywrapper::Decimal64Value* release_instant();
    ::ywrapper::Decimal64Value* mutable_instant();
    void set_allocated_instant(::ywrapper::Decimal64Value* instant);
  
    // .ywrapper.Decimal64Value avg = 59678078 [(.yext.schemapath) = "/aps/aps-modules/aps-module/ports/common-in/state/optical-power/avg"];
    bool has_avg() const;
    void clear_avg();
    static const int kAvgFieldNumber = 59678078;
    const ::ywrapper::Decimal64Value& avg() const;
    ::ywrapper::Decimal64Value* release_avg();
    ::ywrapper::Decimal64Value* mutable_avg();
    void set_allocated_avg(::ywrapper::Decimal64Value* avg);
  
    // .ywrapper.Decimal64Value max = 211355192 [(.yext.schemapath) = "/aps/aps-modules/aps-module/ports/common-in/state/optical-power/max"];
    bool has_max() const;
    void clear_max();
    static const int kMaxFieldNumber = 211355192;
    const ::ywrapper::Decimal64Value& max() const;
    ::ywrapper::Decimal64Value* release_max();
    ::ywrapper::Decimal64Value* mutable_max();
    void set_allocated_max(::ywrapper::Decimal64Value* max);
  
    // .ywrapper.Decimal64Value min = 345576118 [(.yext.schemapath) = "/aps/aps-modules/aps-module/ports/common-in/state/optical-power/min"];
    bool has_min() const;
    void clear_min();
    static const int kMinFieldNumber = 345576118;
    const ::ywrapper::Decimal64Value& min() const;
    ::ywrapper::Decimal64Value* release_min();
    ::ywrapper::Decimal64Value* mutable_min();
    void set_allocated_min(::ywrapper::Decimal64Value* min);
  
    // .ywrapper.UintValue interval = 479877745 [(.yext.schemapath) = "/aps/aps-modules/aps-module/ports/common-in/state/optical-power/interval"];
    bool has_interval() const;
    void clear_interval();
    static const int kIntervalFieldNumber = 479877745;
    const ::ywrapper::UintValue& interval() const;
    ::ywrapper::UintValue* release_interval();
    ::ywrapper::UintValue* mutable_interval();
    void set_allocated_interval(::ywrapper::UintValue* interval);
  
    // @@protoc_insertion_point(class_scope:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.CommonIn.State.OpticalPower)
   private:
  
    ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
    ::ywrapper::Decimal64Value* instant_;
    ::ywrapper::Decimal64Value* avg_;
    ::ywrapper::Decimal64Value* max_;
    ::ywrapper::Decimal64Value* min_;
    ::ywrapper::UintValue* interval_;
    mutable int _cached_size_;
    friend struct ::protobuf_openconfig_2fopenconfig_5ftransport_5fline_5fprotection_2fopenconfig_5ftransport_5fline_5fprotection_2eproto::TableStruct;
    friend void ::protobuf_openconfig_2fopenconfig_5ftransport_5fline_5fprotection_2fopenconfig_5ftransport_5fline_5fprotection_2eproto::InitDefaultsAps_ApsModules_ApsModule_Ports_CommonIn_State_OpticalPowerImpl();
  };
  // -------------------------------------------------------------------
  
  class Aps_ApsModules_ApsModule_Ports_CommonIn_State : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.CommonIn.State) */ {
   public:
    Aps_ApsModules_ApsModule_Ports_CommonIn_State();
    virtual ~Aps_ApsModules_ApsModule_Ports_CommonIn_State();
  
    Aps_ApsModules_ApsModule_Ports_CommonIn_State(const Aps_ApsModules_ApsModule_Ports_CommonIn_State& from);
  
    inline Aps_ApsModules_ApsModule_Ports_CommonIn_State& operator=(const Aps_ApsModules_ApsModule_Ports_CommonIn_State& from) {
      CopyFrom(from);
      return *this;
    }
    #if LANG_CXX11
    Aps_ApsModules_ApsModule_Ports_CommonIn_State(Aps_ApsModules_ApsModule_Ports_CommonIn_State&& from) noexcept
      : Aps_ApsModules_ApsModule_Ports_CommonIn_State() {
      *this = ::std::move(from);
    }
  
    inline Aps_ApsModules_ApsModule_Ports_CommonIn_State& operator=(Aps_ApsModules_ApsModule_Ports_CommonIn_State&& from) noexcept {
      if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
        if (this != &from) InternalSwap(&from);
      } else {
        CopyFrom(from);
      }
      return *this;
    }
    #endif
    static const ::google::protobuf::Descriptor* descriptor();
    static const Aps_ApsModules_ApsModule_Ports_CommonIn_State& default_instance();
  
    static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
    static inline const Aps_ApsModules_ApsModule_Ports_CommonIn_State* internal_default_instance() {
      return reinterpret_cast<const Aps_ApsModules_ApsModule_Ports_CommonIn_State*>(
                 &_Aps_ApsModules_ApsModule_Ports_CommonIn_State_default_instance_);
    }
    static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
      3;
  
    void Swap(Aps_ApsModules_ApsModule_Ports_CommonIn_State* other);
    friend void swap(Aps_ApsModules_ApsModule_Ports_CommonIn_State& a, Aps_ApsModules_ApsModule_Ports_CommonIn_State& b) {
      a.Swap(&b);
    }
  
    // implements Message ----------------------------------------------
  
    inline Aps_ApsModules_ApsModule_Ports_CommonIn_State* New() const PROTOBUF_FINAL { return New(NULL); }
  
    Aps_ApsModules_ApsModule_Ports_CommonIn_State* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
    void CopyFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void MergeFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void CopyFrom(const Aps_ApsModules_ApsModule_Ports_CommonIn_State& from);
    void MergeFrom(const Aps_ApsModules_ApsModule_Ports_CommonIn_State& from);
    void Clear() PROTOBUF_FINAL;
    bool IsInitialized() const PROTOBUF_FINAL;
  
    size_t ByteSizeLong() const PROTOBUF_FINAL;
    bool MergePartialFromCodedStream(
        ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
    void SerializeWithCachedSizes(
        ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
    ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
        bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL;
    int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
    private:
    void SharedCtor();
    void SharedDtor();
    void SetCachedSize(int size) const PROTOBUF_FINAL;
    void InternalSwap(Aps_ApsModules_ApsModule_Ports_CommonIn_State* other);
    private:
    inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
      return NULL;
    }
    inline void* MaybeArenaPtr() const {
      return NULL;
    }
    public:
  
    ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL;
  
    // nested types ----------------------------------------------------
  
    typedef Aps_ApsModules_ApsModule_Ports_CommonIn_State_OpticalPower OpticalPower;
  
    // accessors -------------------------------------------------------
  
    // .ywrapper.BoolValue enabled = 57970612 [(.yext.schemapath) = "/aps/aps-modules/aps-module/ports/common-in/state/enabled"];
    bool has_enabled() const;
    void clear_enabled();
    static const int kEnabledFieldNumber = 57970612;
    const ::ywrapper::BoolValue& enabled() const;
    ::ywrapper::BoolValue* release_enabled();
    ::ywrapper::BoolValue* mutable_enabled();
    void set_allocated_enabled(::ywrapper::BoolValue* enabled);
  
    // .ywrapper.Decimal64Value attenuation = 235226099 [(.yext.schemapath) = "/aps/aps-modules/aps-module/ports/common-in/state/attenuation"];
    bool has_attenuation() const;
    void clear_attenuation();
    static const int kAttenuationFieldNumber = 235226099;
    const ::ywrapper::Decimal64Value& attenuation() const;
    ::ywrapper::Decimal64Value* release_attenuation();
    ::ywrapper::Decimal64Value* mutable_attenuation();
    void set_allocated_attenuation(::ywrapper::Decimal64Value* attenuation);
  
    // .openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.CommonIn.State.OpticalPower optical_power = 476896175 [(.yext.schemapath) = "/aps/aps-modules/aps-module/ports/common-in/state/optical-power"];
    bool has_optical_power() const;
    void clear_optical_power();
    static const int kOpticalPowerFieldNumber = 476896175;
    const ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_CommonIn_State_OpticalPower& optical_power() const;
    ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_CommonIn_State_OpticalPower* release_optical_power();
    ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_CommonIn_State_OpticalPower* mutable_optical_power();
    void set_allocated_optical_power(::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_CommonIn_State_OpticalPower* optical_power);
  
    // .ywrapper.Decimal64Value target_attenuation = 481913389 [(.yext.schemapath) = "/aps/aps-modules/aps-module/ports/common-in/state/target-attenuation"];
    bool has_target_attenuation() const;
    void clear_target_attenuation();
    static const int kTargetAttenuationFieldNumber = 481913389;
    const ::ywrapper::Decimal64Value& target_attenuation() const;
    ::ywrapper::Decimal64Value* release_target_attenuation();
    ::ywrapper::Decimal64Value* mutable_target_attenuation();
    void set_allocated_target_attenuation(::ywrapper::Decimal64Value* target_attenuation);
  
    // @@protoc_insertion_point(class_scope:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.CommonIn.State)
   private:
  
    ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
    ::ywrapper::BoolValue* enabled_;
    ::ywrapper::Decimal64Value* attenuation_;
    ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_CommonIn_State_OpticalPower* optical_power_;
    ::ywrapper::Decimal64Value* target_attenuation_;
    mutable int _cached_size_;
    friend struct ::protobuf_openconfig_2fopenconfig_5ftransport_5fline_5fprotection_2fopenconfig_5ftransport_5fline_5fprotection_2eproto::TableStruct;
    friend void ::protobuf_openconfig_2fopenconfig_5ftransport_5fline_5fprotection_2fopenconfig_5ftransport_5fline_5fprotection_2eproto::InitDefaultsAps_ApsModules_ApsModule_Ports_CommonIn_StateImpl();
  };
  // -------------------------------------------------------------------
  
  class Aps_ApsModules_ApsModule_Ports_CommonIn : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.CommonIn) */ {
   public:
    Aps_ApsModules_ApsModule_Ports_CommonIn();
    virtual ~Aps_ApsModules_ApsModule_Ports_CommonIn();
  
    Aps_ApsModules_ApsModule_Ports_CommonIn(const Aps_ApsModules_ApsModule_Ports_CommonIn& from);
  
    inline Aps_ApsModules_ApsModule_Ports_CommonIn& operator=(const Aps_ApsModules_ApsModule_Ports_CommonIn& from) {
      CopyFrom(from);
      return *this;
    }
    #if LANG_CXX11
    Aps_ApsModules_ApsModule_Ports_CommonIn(Aps_ApsModules_ApsModule_Ports_CommonIn&& from) noexcept
      : Aps_ApsModules_ApsModule_Ports_CommonIn() {
      *this = ::std::move(from);
    }
  
    inline Aps_ApsModules_ApsModule_Ports_CommonIn& operator=(Aps_ApsModules_ApsModule_Ports_CommonIn&& from) noexcept {
      if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
        if (this != &from) InternalSwap(&from);
      } else {
        CopyFrom(from);
      }
      return *this;
    }
    #endif
    static const ::google::protobuf::Descriptor* descriptor();
    static const Aps_ApsModules_ApsModule_Ports_CommonIn& default_instance();
  
    static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
    static inline const Aps_ApsModules_ApsModule_Ports_CommonIn* internal_default_instance() {
      return reinterpret_cast<const Aps_ApsModules_ApsModule_Ports_CommonIn*>(
                 &_Aps_ApsModules_ApsModule_Ports_CommonIn_default_instance_);
    }
    static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
      4;
  
    void Swap(Aps_ApsModules_ApsModule_Ports_CommonIn* other);
    friend void swap(Aps_ApsModules_ApsModule_Ports_CommonIn& a, Aps_ApsModules_ApsModule_Ports_CommonIn& b) {
      a.Swap(&b);
    }
  
    // implements Message ----------------------------------------------
  
    inline Aps_ApsModules_ApsModule_Ports_CommonIn* New() const PROTOBUF_FINAL { return New(NULL); }
  
    Aps_ApsModules_ApsModule_Ports_CommonIn* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
    void CopyFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void MergeFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void CopyFrom(const Aps_ApsModules_ApsModule_Ports_CommonIn& from);
    void MergeFrom(const Aps_ApsModules_ApsModule_Ports_CommonIn& from);
    void Clear() PROTOBUF_FINAL;
    bool IsInitialized() const PROTOBUF_FINAL;
  
    size_t ByteSizeLong() const PROTOBUF_FINAL;
    bool MergePartialFromCodedStream(
        ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
    void SerializeWithCachedSizes(
        ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
    ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
        bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL;
    int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
    private:
    void SharedCtor();
    void SharedDtor();
    void SetCachedSize(int size) const PROTOBUF_FINAL;
    void InternalSwap(Aps_ApsModules_ApsModule_Ports_CommonIn* other);
    private:
    inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
      return NULL;
    }
    inline void* MaybeArenaPtr() const {
      return NULL;
    }
    public:
  
    ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL;
  
    // nested types ----------------------------------------------------
  
    typedef Aps_ApsModules_ApsModule_Ports_CommonIn_Config Config;
    typedef Aps_ApsModules_ApsModule_Ports_CommonIn_State State;
  
    // accessors -------------------------------------------------------
  
    // .openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.CommonIn.Config config = 22856913 [(.yext.schemapath) = "/aps/aps-modules/aps-module/ports/common-in/config"];
    bool has_config() const;
    void clear_config();
    static const int kConfigFieldNumber = 22856913;
    const ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_CommonIn_Config& config() const;
    ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_CommonIn_Config* release_config();
    ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_CommonIn_Config* mutable_config();
    void set_allocated_config(::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_CommonIn_Config* config);
  
    // .openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.CommonIn.State state = 35894470 [(.yext.schemapath) = "/aps/aps-modules/aps-module/ports/common-in/state"];
    bool has_state() const;
    void clear_state();
    static const int kStateFieldNumber = 35894470;
    const ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_CommonIn_State& state() const;
    ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_CommonIn_State* release_state();
    ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_CommonIn_State* mutable_state();
    void set_allocated_state(::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_CommonIn_State* state);
  
    // @@protoc_insertion_point(class_scope:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.CommonIn)
   private:
  
    ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
    ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_CommonIn_Config* config_;
    ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_CommonIn_State* state_;
    mutable int _cached_size_;
    friend struct ::protobuf_openconfig_2fopenconfig_5ftransport_5fline_5fprotection_2fopenconfig_5ftransport_5fline_5fprotection_2eproto::TableStruct;
    friend void ::protobuf_openconfig_2fopenconfig_5ftransport_5fline_5fprotection_2fopenconfig_5ftransport_5fline_5fprotection_2eproto::InitDefaultsAps_ApsModules_ApsModule_Ports_CommonInImpl();
  };
  // -------------------------------------------------------------------
  
  class Aps_ApsModules_ApsModule_Ports_CommonOutput_Config : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.CommonOutput.Config) */ {
   public:
    Aps_ApsModules_ApsModule_Ports_CommonOutput_Config();
    virtual ~Aps_ApsModules_ApsModule_Ports_CommonOutput_Config();
  
    Aps_ApsModules_ApsModule_Ports_CommonOutput_Config(const Aps_ApsModules_ApsModule_Ports_CommonOutput_Config& from);
  
    inline Aps_ApsModules_ApsModule_Ports_CommonOutput_Config& operator=(const Aps_ApsModules_ApsModule_Ports_CommonOutput_Config& from) {
      CopyFrom(from);
      return *this;
    }
    #if LANG_CXX11
    Aps_ApsModules_ApsModule_Ports_CommonOutput_Config(Aps_ApsModules_ApsModule_Ports_CommonOutput_Config&& from) noexcept
      : Aps_ApsModules_ApsModule_Ports_CommonOutput_Config() {
      *this = ::std::move(from);
    }
  
    inline Aps_ApsModules_ApsModule_Ports_CommonOutput_Config& operator=(Aps_ApsModules_ApsModule_Ports_CommonOutput_Config&& from) noexcept {
      if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
        if (this != &from) InternalSwap(&from);
      } else {
        CopyFrom(from);
      }
      return *this;
    }
    #endif
    static const ::google::protobuf::Descriptor* descriptor();
    static const Aps_ApsModules_ApsModule_Ports_CommonOutput_Config& default_instance();
  
    static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
    static inline const Aps_ApsModules_ApsModule_Ports_CommonOutput_Config* internal_default_instance() {
      return reinterpret_cast<const Aps_ApsModules_ApsModule_Ports_CommonOutput_Config*>(
                 &_Aps_ApsModules_ApsModule_Ports_CommonOutput_Config_default_instance_);
    }
    static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
      5;
  
    void Swap(Aps_ApsModules_ApsModule_Ports_CommonOutput_Config* other);
    friend void swap(Aps_ApsModules_ApsModule_Ports_CommonOutput_Config& a, Aps_ApsModules_ApsModule_Ports_CommonOutput_Config& b) {
      a.Swap(&b);
    }
  
    // implements Message ----------------------------------------------
  
    inline Aps_ApsModules_ApsModule_Ports_CommonOutput_Config* New() const PROTOBUF_FINAL { return New(NULL); }
  
    Aps_ApsModules_ApsModule_Ports_CommonOutput_Config* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
    void CopyFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void MergeFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void CopyFrom(const Aps_ApsModules_ApsModule_Ports_CommonOutput_Config& from);
    void MergeFrom(const Aps_ApsModules_ApsModule_Ports_CommonOutput_Config& from);
    void Clear() PROTOBUF_FINAL;
    bool IsInitialized() const PROTOBUF_FINAL;
  
    size_t ByteSizeLong() const PROTOBUF_FINAL;
    bool MergePartialFromCodedStream(
        ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
    void SerializeWithCachedSizes(
        ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
    ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
        bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL;
    int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
    private:
    void SharedCtor();
    void SharedDtor();
    void SetCachedSize(int size) const PROTOBUF_FINAL;
    void InternalSwap(Aps_ApsModules_ApsModule_Ports_CommonOutput_Config* other);
    private:
    inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
      return NULL;
    }
    inline void* MaybeArenaPtr() const {
      return NULL;
    }
    public:
  
    ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL;
  
    // nested types ----------------------------------------------------
  
    // accessors -------------------------------------------------------
  
    // .ywrapper.Decimal64Value target_attenuation = 470143474 [(.yext.schemapath) = "/aps/aps-modules/aps-module/ports/common-output/config/target-attenuation"];
    bool has_target_attenuation() const;
    void clear_target_attenuation();
    static const int kTargetAttenuationFieldNumber = 470143474;
    const ::ywrapper::Decimal64Value& target_attenuation() const;
    ::ywrapper::Decimal64Value* release_target_attenuation();
    ::ywrapper::Decimal64Value* mutable_target_attenuation();
    void set_allocated_target_attenuation(::ywrapper::Decimal64Value* target_attenuation);
  
    // @@protoc_insertion_point(class_scope:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.CommonOutput.Config)
   private:
  
    ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
    ::ywrapper::Decimal64Value* target_attenuation_;
    mutable int _cached_size_;
    friend struct ::protobuf_openconfig_2fopenconfig_5ftransport_5fline_5fprotection_2fopenconfig_5ftransport_5fline_5fprotection_2eproto::TableStruct;
    friend void ::protobuf_openconfig_2fopenconfig_5ftransport_5fline_5fprotection_2fopenconfig_5ftransport_5fline_5fprotection_2eproto::InitDefaultsAps_ApsModules_ApsModule_Ports_CommonOutput_ConfigImpl();
  };
  // -------------------------------------------------------------------
  
  class Aps_ApsModules_ApsModule_Ports_CommonOutput_State_OpticalPower : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.CommonOutput.State.OpticalPower) */ {
   public:
    Aps_ApsModules_ApsModule_Ports_CommonOutput_State_OpticalPower();
    virtual ~Aps_ApsModules_ApsModule_Ports_CommonOutput_State_OpticalPower();
  
    Aps_ApsModules_ApsModule_Ports_CommonOutput_State_OpticalPower(const Aps_ApsModules_ApsModule_Ports_CommonOutput_State_OpticalPower& from);
  
    inline Aps_ApsModules_ApsModule_Ports_CommonOutput_State_OpticalPower& operator=(const Aps_ApsModules_ApsModule_Ports_CommonOutput_State_OpticalPower& from) {
      CopyFrom(from);
      return *this;
    }
    #if LANG_CXX11
    Aps_ApsModules_ApsModule_Ports_CommonOutput_State_OpticalPower(Aps_ApsModules_ApsModule_Ports_CommonOutput_State_OpticalPower&& from) noexcept
      : Aps_ApsModules_ApsModule_Ports_CommonOutput_State_OpticalPower() {
      *this = ::std::move(from);
    }
  
    inline Aps_ApsModules_ApsModule_Ports_CommonOutput_State_OpticalPower& operator=(Aps_ApsModules_ApsModule_Ports_CommonOutput_State_OpticalPower&& from) noexcept {
      if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
        if (this != &from) InternalSwap(&from);
      } else {
        CopyFrom(from);
      }
      return *this;
    }
    #endif
    static const ::google::protobuf::Descriptor* descriptor();
    static const Aps_ApsModules_ApsModule_Ports_CommonOutput_State_OpticalPower& default_instance();
  
    static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
    static inline const Aps_ApsModules_ApsModule_Ports_CommonOutput_State_OpticalPower* internal_default_instance() {
      return reinterpret_cast<const Aps_ApsModules_ApsModule_Ports_CommonOutput_State_OpticalPower*>(
                 &_Aps_ApsModules_ApsModule_Ports_CommonOutput_State_OpticalPower_default_instance_);
    }
    static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
      6;
  
    void Swap(Aps_ApsModules_ApsModule_Ports_CommonOutput_State_OpticalPower* other);
    friend void swap(Aps_ApsModules_ApsModule_Ports_CommonOutput_State_OpticalPower& a, Aps_ApsModules_ApsModule_Ports_CommonOutput_State_OpticalPower& b) {
      a.Swap(&b);
    }
  
    // implements Message ----------------------------------------------
  
    inline Aps_ApsModules_ApsModule_Ports_CommonOutput_State_OpticalPower* New() const PROTOBUF_FINAL { return New(NULL); }
  
    Aps_ApsModules_ApsModule_Ports_CommonOutput_State_OpticalPower* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
    void CopyFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void MergeFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void CopyFrom(const Aps_ApsModules_ApsModule_Ports_CommonOutput_State_OpticalPower& from);
    void MergeFrom(const Aps_ApsModules_ApsModule_Ports_CommonOutput_State_OpticalPower& from);
    void Clear() PROTOBUF_FINAL;
    bool IsInitialized() const PROTOBUF_FINAL;
  
    size_t ByteSizeLong() const PROTOBUF_FINAL;
    bool MergePartialFromCodedStream(
        ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
    void SerializeWithCachedSizes(
        ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
    ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
        bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL;
    int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
    private:
    void SharedCtor();
    void SharedDtor();
    void SetCachedSize(int size) const PROTOBUF_FINAL;
    void InternalSwap(Aps_ApsModules_ApsModule_Ports_CommonOutput_State_OpticalPower* other);
    private:
    inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
      return NULL;
    }
    inline void* MaybeArenaPtr() const {
      return NULL;
    }
    public:
  
    ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL;
  
    // nested types ----------------------------------------------------
  
    // accessors -------------------------------------------------------
  
    // .ywrapper.Decimal64Value min = 39146224 [(.yext.schemapath) = "/aps/aps-modules/aps-module/ports/common-output/state/optical-power/min"];
    bool has_min() const;
    void clear_min();
    static const int kMinFieldNumber = 39146224;
    const ::ywrapper::Decimal64Value& min() const;
    ::ywrapper::Decimal64Value* release_min();
    ::ywrapper::Decimal64Value* mutable_min();
    void set_allocated_min(::ywrapper::Decimal64Value* min);
  
    // .ywrapper.Decimal64Value avg = 225671524 [(.yext.schemapath) = "/aps/aps-modules/aps-module/ports/common-output/state/optical-power/avg"];
    bool has_avg() const;
    void clear_avg();
    static const int kAvgFieldNumber = 225671524;
    const ::ywrapper::Decimal64Value& avg() const;
    ::ywrapper::Decimal64Value* release_avg();
    ::ywrapper::Decimal64Value* mutable_avg();
    void set_allocated_avg(::ywrapper::Decimal64Value* avg);
  
    // .ywrapper.UintValue interval = 337202943 [(.yext.schemapath) = "/aps/aps-modules/aps-module/ports/common-output/state/optical-power/interval"];
    bool has_interval() const;
    void clear_interval();
    static const int kIntervalFieldNumber = 337202943;
    const ::ywrapper::UintValue& interval() const;
    ::ywrapper::UintValue* release_interval();
    ::ywrapper::UintValue* mutable_interval();
    void set_allocated_interval(::ywrapper::UintValue* interval);
  
    // .ywrapper.Decimal64Value max = 441796222 [(.yext.schemapath) = "/aps/aps-modules/aps-module/ports/common-output/state/optical-power/max"];
    bool has_max() const;
    void clear_max();
    static const int kMaxFieldNumber = 441796222;
    const ::ywrapper::Decimal64Value& max() const;
    ::ywrapper::Decimal64Value* release_max();
    ::ywrapper::Decimal64Value* mutable_max();
    void set_allocated_max(::ywrapper::Decimal64Value* max);
  
    // .ywrapper.Decimal64Value instant = 445436095 [(.yext.schemapath) = "/aps/aps-modules/aps-module/ports/common-output/state/optical-power/instant"];
    bool has_instant() const;
    void clear_instant();
    static const int kInstantFieldNumber = 445436095;
    const ::ywrapper::Decimal64Value& instant() const;
    ::ywrapper::Decimal64Value* release_instant();
    ::ywrapper::Decimal64Value* mutable_instant();
    void set_allocated_instant(::ywrapper::Decimal64Value* instant);
  
    // @@protoc_insertion_point(class_scope:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.CommonOutput.State.OpticalPower)
   private:
  
    ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
    ::ywrapper::Decimal64Value* min_;
    ::ywrapper::Decimal64Value* avg_;
    ::ywrapper::UintValue* interval_;
    ::ywrapper::Decimal64Value* max_;
    ::ywrapper::Decimal64Value* instant_;
    mutable int _cached_size_;
    friend struct ::protobuf_openconfig_2fopenconfig_5ftransport_5fline_5fprotection_2fopenconfig_5ftransport_5fline_5fprotection_2eproto::TableStruct;
    friend void ::protobuf_openconfig_2fopenconfig_5ftransport_5fline_5fprotection_2fopenconfig_5ftransport_5fline_5fprotection_2eproto::InitDefaultsAps_ApsModules_ApsModule_Ports_CommonOutput_State_OpticalPowerImpl();
  };
  // -------------------------------------------------------------------
  
  class Aps_ApsModules_ApsModule_Ports_CommonOutput_State : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.CommonOutput.State) */ {
   public:
    Aps_ApsModules_ApsModule_Ports_CommonOutput_State();
    virtual ~Aps_ApsModules_ApsModule_Ports_CommonOutput_State();
  
    Aps_ApsModules_ApsModule_Ports_CommonOutput_State(const Aps_ApsModules_ApsModule_Ports_CommonOutput_State& from);
  
    inline Aps_ApsModules_ApsModule_Ports_CommonOutput_State& operator=(const Aps_ApsModules_ApsModule_Ports_CommonOutput_State& from) {
      CopyFrom(from);
      return *this;
    }
    #if LANG_CXX11
    Aps_ApsModules_ApsModule_Ports_CommonOutput_State(Aps_ApsModules_ApsModule_Ports_CommonOutput_State&& from) noexcept
      : Aps_ApsModules_ApsModule_Ports_CommonOutput_State() {
      *this = ::std::move(from);
    }
  
    inline Aps_ApsModules_ApsModule_Ports_CommonOutput_State& operator=(Aps_ApsModules_ApsModule_Ports_CommonOutput_State&& from) noexcept {
      if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
        if (this != &from) InternalSwap(&from);
      } else {
        CopyFrom(from);
      }
      return *this;
    }
    #endif
    static const ::google::protobuf::Descriptor* descriptor();
    static const Aps_ApsModules_ApsModule_Ports_CommonOutput_State& default_instance();
  
    static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
    static inline const Aps_ApsModules_ApsModule_Ports_CommonOutput_State* internal_default_instance() {
      return reinterpret_cast<const Aps_ApsModules_ApsModule_Ports_CommonOutput_State*>(
                 &_Aps_ApsModules_ApsModule_Ports_CommonOutput_State_default_instance_);
    }
    static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
      7;
  
    void Swap(Aps_ApsModules_ApsModule_Ports_CommonOutput_State* other);
    friend void swap(Aps_ApsModules_ApsModule_Ports_CommonOutput_State& a, Aps_ApsModules_ApsModule_Ports_CommonOutput_State& b) {
      a.Swap(&b);
    }
  
    // implements Message ----------------------------------------------
  
    inline Aps_ApsModules_ApsModule_Ports_CommonOutput_State* New() const PROTOBUF_FINAL { return New(NULL); }
  
    Aps_ApsModules_ApsModule_Ports_CommonOutput_State* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
    void CopyFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void MergeFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void CopyFrom(const Aps_ApsModules_ApsModule_Ports_CommonOutput_State& from);
    void MergeFrom(const Aps_ApsModules_ApsModule_Ports_CommonOutput_State& from);
    void Clear() PROTOBUF_FINAL;
    bool IsInitialized() const PROTOBUF_FINAL;
  
    size_t ByteSizeLong() const PROTOBUF_FINAL;
    bool MergePartialFromCodedStream(
        ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
    void SerializeWithCachedSizes(
        ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
    ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
        bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL;
    int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
    private:
    void SharedCtor();
    void SharedDtor();
    void SetCachedSize(int size) const PROTOBUF_FINAL;
    void InternalSwap(Aps_ApsModules_ApsModule_Ports_CommonOutput_State* other);
    private:
    inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
      return NULL;
    }
    inline void* MaybeArenaPtr() const {
      return NULL;
    }
    public:
  
    ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL;
  
    // nested types ----------------------------------------------------
  
    typedef Aps_ApsModules_ApsModule_Ports_CommonOutput_State_OpticalPower OpticalPower;
  
    // accessors -------------------------------------------------------
  
    // .ywrapper.Decimal64Value target_attenuation = 66274907 [(.yext.schemapath) = "/aps/aps-modules/aps-module/ports/common-output/state/target-attenuation"];
    bool has_target_attenuation() const;
    void clear_target_attenuation();
    static const int kTargetAttenuationFieldNumber = 66274907;
    const ::ywrapper::Decimal64Value& target_attenuation() const;
    ::ywrapper::Decimal64Value* release_target_attenuation();
    ::ywrapper::Decimal64Value* mutable_target_attenuation();
    void set_allocated_target_attenuation(::ywrapper::Decimal64Value* target_attenuation);
  
    // .openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.CommonOutput.State.OpticalPower optical_power = 372658617 [(.yext.schemapath) = "/aps/aps-modules/aps-module/ports/common-output/state/optical-power"];
    bool has_optical_power() const;
    void clear_optical_power();
    static const int kOpticalPowerFieldNumber = 372658617;
    const ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_CommonOutput_State_OpticalPower& optical_power() const;
    ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_CommonOutput_State_OpticalPower* release_optical_power();
    ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_CommonOutput_State_OpticalPower* mutable_optical_power();
    void set_allocated_optical_power(::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_CommonOutput_State_OpticalPower* optical_power);
  
    // .ywrapper.Decimal64Value attenuation = 439732253 [(.yext.schemapath) = "/aps/aps-modules/aps-module/ports/common-output/state/attenuation"];
    bool has_attenuation() const;
    void clear_attenuation();
    static const int kAttenuationFieldNumber = 439732253;
    const ::ywrapper::Decimal64Value& attenuation() const;
    ::ywrapper::Decimal64Value* release_attenuation();
    ::ywrapper::Decimal64Value* mutable_attenuation();
    void set_allocated_attenuation(::ywrapper::Decimal64Value* attenuation);
  
    // @@protoc_insertion_point(class_scope:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.CommonOutput.State)
   private:
  
    ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
    ::ywrapper::Decimal64Value* target_attenuation_;
    ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_CommonOutput_State_OpticalPower* optical_power_;
    ::ywrapper::Decimal64Value* attenuation_;
    mutable int _cached_size_;
    friend struct ::protobuf_openconfig_2fopenconfig_5ftransport_5fline_5fprotection_2fopenconfig_5ftransport_5fline_5fprotection_2eproto::TableStruct;
    friend void ::protobuf_openconfig_2fopenconfig_5ftransport_5fline_5fprotection_2fopenconfig_5ftransport_5fline_5fprotection_2eproto::InitDefaultsAps_ApsModules_ApsModule_Ports_CommonOutput_StateImpl();
  };
  // -------------------------------------------------------------------
  
  class Aps_ApsModules_ApsModule_Ports_CommonOutput : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.CommonOutput) */ {
   public:
    Aps_ApsModules_ApsModule_Ports_CommonOutput();
    virtual ~Aps_ApsModules_ApsModule_Ports_CommonOutput();
  
    Aps_ApsModules_ApsModule_Ports_CommonOutput(const Aps_ApsModules_ApsModule_Ports_CommonOutput& from);
  
    inline Aps_ApsModules_ApsModule_Ports_CommonOutput& operator=(const Aps_ApsModules_ApsModule_Ports_CommonOutput& from) {
      CopyFrom(from);
      return *this;
    }
    #if LANG_CXX11
    Aps_ApsModules_ApsModule_Ports_CommonOutput(Aps_ApsModules_ApsModule_Ports_CommonOutput&& from) noexcept
      : Aps_ApsModules_ApsModule_Ports_CommonOutput() {
      *this = ::std::move(from);
    }
  
    inline Aps_ApsModules_ApsModule_Ports_CommonOutput& operator=(Aps_ApsModules_ApsModule_Ports_CommonOutput&& from) noexcept {
      if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
        if (this != &from) InternalSwap(&from);
      } else {
        CopyFrom(from);
      }
      return *this;
    }
    #endif
    static const ::google::protobuf::Descriptor* descriptor();
    static const Aps_ApsModules_ApsModule_Ports_CommonOutput& default_instance();
  
    static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
    static inline const Aps_ApsModules_ApsModule_Ports_CommonOutput* internal_default_instance() {
      return reinterpret_cast<const Aps_ApsModules_ApsModule_Ports_CommonOutput*>(
                 &_Aps_ApsModules_ApsModule_Ports_CommonOutput_default_instance_);
    }
    static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
      8;
  
    void Swap(Aps_ApsModules_ApsModule_Ports_CommonOutput* other);
    friend void swap(Aps_ApsModules_ApsModule_Ports_CommonOutput& a, Aps_ApsModules_ApsModule_Ports_CommonOutput& b) {
      a.Swap(&b);
    }
  
    // implements Message ----------------------------------------------
  
    inline Aps_ApsModules_ApsModule_Ports_CommonOutput* New() const PROTOBUF_FINAL { return New(NULL); }
  
    Aps_ApsModules_ApsModule_Ports_CommonOutput* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
    void CopyFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void MergeFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void CopyFrom(const Aps_ApsModules_ApsModule_Ports_CommonOutput& from);
    void MergeFrom(const Aps_ApsModules_ApsModule_Ports_CommonOutput& from);
    void Clear() PROTOBUF_FINAL;
    bool IsInitialized() const PROTOBUF_FINAL;
  
    size_t ByteSizeLong() const PROTOBUF_FINAL;
    bool MergePartialFromCodedStream(
        ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
    void SerializeWithCachedSizes(
        ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
    ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
        bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL;
    int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
    private:
    void SharedCtor();
    void SharedDtor();
    void SetCachedSize(int size) const PROTOBUF_FINAL;
    void InternalSwap(Aps_ApsModules_ApsModule_Ports_CommonOutput* other);
    private:
    inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
      return NULL;
    }
    inline void* MaybeArenaPtr() const {
      return NULL;
    }
    public:
  
    ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL;
  
    // nested types ----------------------------------------------------
  
    typedef Aps_ApsModules_ApsModule_Ports_CommonOutput_Config Config;
    typedef Aps_ApsModules_ApsModule_Ports_CommonOutput_State State;
  
    // accessors -------------------------------------------------------
  
    // .openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.CommonOutput.State state = 38570760 [(.yext.schemapath) = "/aps/aps-modules/aps-module/ports/common-output/state"];
    bool has_state() const;
    void clear_state();
    static const int kStateFieldNumber = 38570760;
    const ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_CommonOutput_State& state() const;
    ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_CommonOutput_State* release_state();
    ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_CommonOutput_State* mutable_state();
    void set_allocated_state(::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_CommonOutput_State* state);
  
    // .openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.CommonOutput.Config config = 206692439 [(.yext.schemapath) = "/aps/aps-modules/aps-module/ports/common-output/config"];
    bool has_config() const;
    void clear_config();
    static const int kConfigFieldNumber = 206692439;
    const ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_CommonOutput_Config& config() const;
    ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_CommonOutput_Config* release_config();
    ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_CommonOutput_Config* mutable_config();
    void set_allocated_config(::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_CommonOutput_Config* config);
  
    // @@protoc_insertion_point(class_scope:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.CommonOutput)
   private:
  
    ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
    ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_CommonOutput_State* state_;
    ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_CommonOutput_Config* config_;
    mutable int _cached_size_;
    friend struct ::protobuf_openconfig_2fopenconfig_5ftransport_5fline_5fprotection_2fopenconfig_5ftransport_5fline_5fprotection_2eproto::TableStruct;
    friend void ::protobuf_openconfig_2fopenconfig_5ftransport_5fline_5fprotection_2fopenconfig_5ftransport_5fline_5fprotection_2eproto::InitDefaultsAps_ApsModules_ApsModule_Ports_CommonOutputImpl();
  };
  // -------------------------------------------------------------------
  
  class Aps_ApsModules_ApsModule_Ports_LinePrimaryIn_Config : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.LinePrimaryIn.Config) */ {
   public:
    Aps_ApsModules_ApsModule_Ports_LinePrimaryIn_Config();
    virtual ~Aps_ApsModules_ApsModule_Ports_LinePrimaryIn_Config();
  
    Aps_ApsModules_ApsModule_Ports_LinePrimaryIn_Config(const Aps_ApsModules_ApsModule_Ports_LinePrimaryIn_Config& from);
  
    inline Aps_ApsModules_ApsModule_Ports_LinePrimaryIn_Config& operator=(const Aps_ApsModules_ApsModule_Ports_LinePrimaryIn_Config& from) {
      CopyFrom(from);
      return *this;
    }
    #if LANG_CXX11
    Aps_ApsModules_ApsModule_Ports_LinePrimaryIn_Config(Aps_ApsModules_ApsModule_Ports_LinePrimaryIn_Config&& from) noexcept
      : Aps_ApsModules_ApsModule_Ports_LinePrimaryIn_Config() {
      *this = ::std::move(from);
    }
  
    inline Aps_ApsModules_ApsModule_Ports_LinePrimaryIn_Config& operator=(Aps_ApsModules_ApsModule_Ports_LinePrimaryIn_Config&& from) noexcept {
      if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
        if (this != &from) InternalSwap(&from);
      } else {
        CopyFrom(from);
      }
      return *this;
    }
    #endif
    static const ::google::protobuf::Descriptor* descriptor();
    static const Aps_ApsModules_ApsModule_Ports_LinePrimaryIn_Config& default_instance();
  
    static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
    static inline const Aps_ApsModules_ApsModule_Ports_LinePrimaryIn_Config* internal_default_instance() {
      return reinterpret_cast<const Aps_ApsModules_ApsModule_Ports_LinePrimaryIn_Config*>(
                 &_Aps_ApsModules_ApsModule_Ports_LinePrimaryIn_Config_default_instance_);
    }
    static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
      9;
  
    void Swap(Aps_ApsModules_ApsModule_Ports_LinePrimaryIn_Config* other);
    friend void swap(Aps_ApsModules_ApsModule_Ports_LinePrimaryIn_Config& a, Aps_ApsModules_ApsModule_Ports_LinePrimaryIn_Config& b) {
      a.Swap(&b);
    }
  
    // implements Message ----------------------------------------------
  
    inline Aps_ApsModules_ApsModule_Ports_LinePrimaryIn_Config* New() const PROTOBUF_FINAL { return New(NULL); }
  
    Aps_ApsModules_ApsModule_Ports_LinePrimaryIn_Config* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
    void CopyFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void MergeFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void CopyFrom(const Aps_ApsModules_ApsModule_Ports_LinePrimaryIn_Config& from);
    void MergeFrom(const Aps_ApsModules_ApsModule_Ports_LinePrimaryIn_Config& from);
    void Clear() PROTOBUF_FINAL;
    bool IsInitialized() const PROTOBUF_FINAL;
  
    size_t ByteSizeLong() const PROTOBUF_FINAL;
    bool MergePartialFromCodedStream(
        ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
    void SerializeWithCachedSizes(
        ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
    ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
        bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL;
    int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
    private:
    void SharedCtor();
    void SharedDtor();
    void SetCachedSize(int size) const PROTOBUF_FINAL;
    void InternalSwap(Aps_ApsModules_ApsModule_Ports_LinePrimaryIn_Config* other);
    private:
    inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
      return NULL;
    }
    inline void* MaybeArenaPtr() const {
      return NULL;
    }
    public:
  
    ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL;
  
    // nested types ----------------------------------------------------
  
    // accessors -------------------------------------------------------
  
    // .ywrapper.Decimal64Value target_attenuation = 312705020 [(.yext.schemapath) = "/aps/aps-modules/aps-module/ports/line-primary-in/config/target-attenuation"];
    bool has_target_attenuation() const;
    void clear_target_attenuation();
    static const int kTargetAttenuationFieldNumber = 312705020;
    const ::ywrapper::Decimal64Value& target_attenuation() const;
    ::ywrapper::Decimal64Value* release_target_attenuation();
    ::ywrapper::Decimal64Value* mutable_target_attenuation();
    void set_allocated_target_attenuation(::ywrapper::Decimal64Value* target_attenuation);
  
    // .ywrapper.BoolValue enabled = 408456851 [(.yext.schemapath) = "/aps/aps-modules/aps-module/ports/line-primary-in/config/enabled"];
    bool has_enabled() const;
    void clear_enabled();
    static const int kEnabledFieldNumber = 408456851;
    const ::ywrapper::BoolValue& enabled() const;
    ::ywrapper::BoolValue* release_enabled();
    ::ywrapper::BoolValue* mutable_enabled();
    void set_allocated_enabled(::ywrapper::BoolValue* enabled);
  
    // @@protoc_insertion_point(class_scope:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.LinePrimaryIn.Config)
   private:
  
    ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
    ::ywrapper::Decimal64Value* target_attenuation_;
    ::ywrapper::BoolValue* enabled_;
    mutable int _cached_size_;
    friend struct ::protobuf_openconfig_2fopenconfig_5ftransport_5fline_5fprotection_2fopenconfig_5ftransport_5fline_5fprotection_2eproto::TableStruct;
    friend void ::protobuf_openconfig_2fopenconfig_5ftransport_5fline_5fprotection_2fopenconfig_5ftransport_5fline_5fprotection_2eproto::InitDefaultsAps_ApsModules_ApsModule_Ports_LinePrimaryIn_ConfigImpl();
  };
  // -------------------------------------------------------------------
  
  class Aps_ApsModules_ApsModule_Ports_LinePrimaryIn_State_OpticalPower : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.LinePrimaryIn.State.OpticalPower) */ {
   public:
    Aps_ApsModules_ApsModule_Ports_LinePrimaryIn_State_OpticalPower();
    virtual ~Aps_ApsModules_ApsModule_Ports_LinePrimaryIn_State_OpticalPower();
  
    Aps_ApsModules_ApsModule_Ports_LinePrimaryIn_State_OpticalPower(const Aps_ApsModules_ApsModule_Ports_LinePrimaryIn_State_OpticalPower& from);
  
    inline Aps_ApsModules_ApsModule_Ports_LinePrimaryIn_State_OpticalPower& operator=(const Aps_ApsModules_ApsModule_Ports_LinePrimaryIn_State_OpticalPower& from) {
      CopyFrom(from);
      return *this;
    }
    #if LANG_CXX11
    Aps_ApsModules_ApsModule_Ports_LinePrimaryIn_State_OpticalPower(Aps_ApsModules_ApsModule_Ports_LinePrimaryIn_State_OpticalPower&& from) noexcept
      : Aps_ApsModules_ApsModule_Ports_LinePrimaryIn_State_OpticalPower() {
      *this = ::std::move(from);
    }
  
    inline Aps_ApsModules_ApsModule_Ports_LinePrimaryIn_State_OpticalPower& operator=(Aps_ApsModules_ApsModule_Ports_LinePrimaryIn_State_OpticalPower&& from) noexcept {
      if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
        if (this != &from) InternalSwap(&from);
      } else {
        CopyFrom(from);
      }
      return *this;
    }
    #endif
    static const ::google::protobuf::Descriptor* descriptor();
    static const Aps_ApsModules_ApsModule_Ports_LinePrimaryIn_State_OpticalPower& default_instance();
  
    static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
    static inline const Aps_ApsModules_ApsModule_Ports_LinePrimaryIn_State_OpticalPower* internal_default_instance() {
      return reinterpret_cast<const Aps_ApsModules_ApsModule_Ports_LinePrimaryIn_State_OpticalPower*>(
                 &_Aps_ApsModules_ApsModule_Ports_LinePrimaryIn_State_OpticalPower_default_instance_);
    }
    static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
      10;
  
    void Swap(Aps_ApsModules_ApsModule_Ports_LinePrimaryIn_State_OpticalPower* other);
    friend void swap(Aps_ApsModules_ApsModule_Ports_LinePrimaryIn_State_OpticalPower& a, Aps_ApsModules_ApsModule_Ports_LinePrimaryIn_State_OpticalPower& b) {
      a.Swap(&b);
    }
  
    // implements Message ----------------------------------------------
  
    inline Aps_ApsModules_ApsModule_Ports_LinePrimaryIn_State_OpticalPower* New() const PROTOBUF_FINAL { return New(NULL); }
  
    Aps_ApsModules_ApsModule_Ports_LinePrimaryIn_State_OpticalPower* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
    void CopyFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void MergeFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void CopyFrom(const Aps_ApsModules_ApsModule_Ports_LinePrimaryIn_State_OpticalPower& from);
    void MergeFrom(const Aps_ApsModules_ApsModule_Ports_LinePrimaryIn_State_OpticalPower& from);
    void Clear() PROTOBUF_FINAL;
    bool IsInitialized() const PROTOBUF_FINAL;
  
    size_t ByteSizeLong() const PROTOBUF_FINAL;
    bool MergePartialFromCodedStream(
        ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
    void SerializeWithCachedSizes(
        ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
    ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
        bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL;
    int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
    private:
    void SharedCtor();
    void SharedDtor();
    void SetCachedSize(int size) const PROTOBUF_FINAL;
    void InternalSwap(Aps_ApsModules_ApsModule_Ports_LinePrimaryIn_State_OpticalPower* other);
    private:
    inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
      return NULL;
    }
    inline void* MaybeArenaPtr() const {
      return NULL;
    }
    public:
  
    ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL;
  
    // nested types ----------------------------------------------------
  
    // accessors -------------------------------------------------------
  
    // .ywrapper.UintValue interval = 88881621 [(.yext.schemapath) = "/aps/aps-modules/aps-module/ports/line-primary-in/state/optical-power/interval"];
    bool has_interval() const;
    void clear_interval();
    static const int kIntervalFieldNumber = 88881621;
    const ::ywrapper::UintValue& interval() const;
    ::ywrapper::UintValue* release_interval();
    ::ywrapper::UintValue* mutable_interval();
    void set_allocated_interval(::ywrapper::UintValue* interval);
  
    // .ywrapper.Decimal64Value max = 242060708 [(.yext.schemapath) = "/aps/aps-modules/aps-module/ports/line-primary-in/state/optical-power/max"];
    bool has_max() const;
    void clear_max();
    static const int kMaxFieldNumber = 242060708;
    const ::ywrapper::Decimal64Value& max() const;
    ::ywrapper::Decimal64Value* release_max();
    ::ywrapper::Decimal64Value* mutable_max();
    void set_allocated_max(::ywrapper::Decimal64Value* max);
  
    // .ywrapper.Decimal64Value min = 376281626 [(.yext.schemapath) = "/aps/aps-modules/aps-module/ports/line-primary-in/state/optical-power/min"];
    bool has_min() const;
    void clear_min();
    static const int kMinFieldNumber = 376281626;
    const ::ywrapper::Decimal64Value& min() const;
    ::ywrapper::Decimal64Value* release_min();
    ::ywrapper::Decimal64Value* mutable_min();
    void set_allocated_min(::ywrapper::Decimal64Value* min);
  
    // .ywrapper.Decimal64Value instant = 418401985 [(.yext.schemapath) = "/aps/aps-modules/aps-module/ports/line-primary-in/state/optical-power/instant"];
    bool has_instant() const;
    void clear_instant();
    static const int kInstantFieldNumber = 418401985;
    const ::ywrapper::Decimal64Value& instant() const;
    ::ywrapper::Decimal64Value* release_instant();
    ::ywrapper::Decimal64Value* mutable_instant();
    void set_allocated_instant(::ywrapper::Decimal64Value* instant);
  
    // .ywrapper.Decimal64Value avg = 494403602 [(.yext.schemapath) = "/aps/aps-modules/aps-module/ports/line-primary-in/state/optical-power/avg"];
    bool has_avg() const;
    void clear_avg();
    static const int kAvgFieldNumber = 494403602;
    const ::ywrapper::Decimal64Value& avg() const;
    ::ywrapper::Decimal64Value* release_avg();
    ::ywrapper::Decimal64Value* mutable_avg();
    void set_allocated_avg(::ywrapper::Decimal64Value* avg);
  
    // @@protoc_insertion_point(class_scope:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.LinePrimaryIn.State.OpticalPower)
   private:
  
    ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
    ::ywrapper::UintValue* interval_;
    ::ywrapper::Decimal64Value* max_;
    ::ywrapper::Decimal64Value* min_;
    ::ywrapper::Decimal64Value* instant_;
    ::ywrapper::Decimal64Value* avg_;
    mutable int _cached_size_;
    friend struct ::protobuf_openconfig_2fopenconfig_5ftransport_5fline_5fprotection_2fopenconfig_5ftransport_5fline_5fprotection_2eproto::TableStruct;
    friend void ::protobuf_openconfig_2fopenconfig_5ftransport_5fline_5fprotection_2fopenconfig_5ftransport_5fline_5fprotection_2eproto::InitDefaultsAps_ApsModules_ApsModule_Ports_LinePrimaryIn_State_OpticalPowerImpl();
  };
  // -------------------------------------------------------------------
  
  class Aps_ApsModules_ApsModule_Ports_LinePrimaryIn_State : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.LinePrimaryIn.State) */ {
   public:
    Aps_ApsModules_ApsModule_Ports_LinePrimaryIn_State();
    virtual ~Aps_ApsModules_ApsModule_Ports_LinePrimaryIn_State();
  
    Aps_ApsModules_ApsModule_Ports_LinePrimaryIn_State(const Aps_ApsModules_ApsModule_Ports_LinePrimaryIn_State& from);
  
    inline Aps_ApsModules_ApsModule_Ports_LinePrimaryIn_State& operator=(const Aps_ApsModules_ApsModule_Ports_LinePrimaryIn_State& from) {
      CopyFrom(from);
      return *this;
    }
    #if LANG_CXX11
    Aps_ApsModules_ApsModule_Ports_LinePrimaryIn_State(Aps_ApsModules_ApsModule_Ports_LinePrimaryIn_State&& from) noexcept
      : Aps_ApsModules_ApsModule_Ports_LinePrimaryIn_State() {
      *this = ::std::move(from);
    }
  
    inline Aps_ApsModules_ApsModule_Ports_LinePrimaryIn_State& operator=(Aps_ApsModules_ApsModule_Ports_LinePrimaryIn_State&& from) noexcept {
      if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
        if (this != &from) InternalSwap(&from);
      } else {
        CopyFrom(from);
      }
      return *this;
    }
    #endif
    static const ::google::protobuf::Descriptor* descriptor();
    static const Aps_ApsModules_ApsModule_Ports_LinePrimaryIn_State& default_instance();
  
    static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
    static inline const Aps_ApsModules_ApsModule_Ports_LinePrimaryIn_State* internal_default_instance() {
      return reinterpret_cast<const Aps_ApsModules_ApsModule_Ports_LinePrimaryIn_State*>(
                 &_Aps_ApsModules_ApsModule_Ports_LinePrimaryIn_State_default_instance_);
    }
    static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
      11;
  
    void Swap(Aps_ApsModules_ApsModule_Ports_LinePrimaryIn_State* other);
    friend void swap(Aps_ApsModules_ApsModule_Ports_LinePrimaryIn_State& a, Aps_ApsModules_ApsModule_Ports_LinePrimaryIn_State& b) {
      a.Swap(&b);
    }
  
    // implements Message ----------------------------------------------
  
    inline Aps_ApsModules_ApsModule_Ports_LinePrimaryIn_State* New() const PROTOBUF_FINAL { return New(NULL); }
  
    Aps_ApsModules_ApsModule_Ports_LinePrimaryIn_State* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
    void CopyFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void MergeFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void CopyFrom(const Aps_ApsModules_ApsModule_Ports_LinePrimaryIn_State& from);
    void MergeFrom(const Aps_ApsModules_ApsModule_Ports_LinePrimaryIn_State& from);
    void Clear() PROTOBUF_FINAL;
    bool IsInitialized() const PROTOBUF_FINAL;
  
    size_t ByteSizeLong() const PROTOBUF_FINAL;
    bool MergePartialFromCodedStream(
        ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
    void SerializeWithCachedSizes(
        ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
    ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
        bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL;
    int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
    private:
    void SharedCtor();
    void SharedDtor();
    void SetCachedSize(int size) const PROTOBUF_FINAL;
    void InternalSwap(Aps_ApsModules_ApsModule_Ports_LinePrimaryIn_State* other);
    private:
    inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
      return NULL;
    }
    inline void* MaybeArenaPtr() const {
      return NULL;
    }
    public:
  
    ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL;
  
    // nested types ----------------------------------------------------
  
    typedef Aps_ApsModules_ApsModule_Ports_LinePrimaryIn_State_OpticalPower OpticalPower;
  
    // accessors -------------------------------------------------------
  
    // .ywrapper.BoolValue enabled = 29073024 [(.yext.schemapath) = "/aps/aps-modules/aps-module/ports/line-primary-in/state/enabled"];
    bool has_enabled() const;
    void clear_enabled();
    static const int kEnabledFieldNumber = 29073024;
    const ::ywrapper::BoolValue& enabled() const;
    ::ywrapper::BoolValue* release_enabled();
    ::ywrapper::BoolValue* mutable_enabled();
    void set_allocated_enabled(::ywrapper::BoolValue* enabled);
  
    // .ywrapper.Decimal64Value target_attenuation = 348525297 [(.yext.schemapath) = "/aps/aps-modules/aps-module/ports/line-primary-in/state/target-attenuation"];
    bool has_target_attenuation() const;
    void clear_target_attenuation();
    static const int kTargetAttenuationFieldNumber = 348525297;
    const ::ywrapper::Decimal64Value& target_attenuation() const;
    ::ywrapper::Decimal64Value* release_target_attenuation();
    ::ywrapper::Decimal64Value* mutable_target_attenuation();
    void set_allocated_target_attenuation(::ywrapper::Decimal64Value* target_attenuation);
  
    // .openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.LinePrimaryIn.State.OpticalPower optical_power = 366842827 [(.yext.schemapath) = "/aps/aps-modules/aps-module/ports/line-primary-in/state/optical-power"];
    bool has_optical_power() const;
    void clear_optical_power();
    static const int kOpticalPowerFieldNumber = 366842827;
    const ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_LinePrimaryIn_State_OpticalPower& optical_power() const;
    ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_LinePrimaryIn_State_OpticalPower* release_optical_power();
    ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_LinePrimaryIn_State_OpticalPower* mutable_optical_power();
    void set_allocated_optical_power(::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_LinePrimaryIn_State_OpticalPower* optical_power);
  
    // .ywrapper.Decimal64Value attenuation = 457232791 [(.yext.schemapath) = "/aps/aps-modules/aps-module/ports/line-primary-in/state/attenuation"];
    bool has_attenuation() const;
    void clear_attenuation();
    static const int kAttenuationFieldNumber = 457232791;
    const ::ywrapper::Decimal64Value& attenuation() const;
    ::ywrapper::Decimal64Value* release_attenuation();
    ::ywrapper::Decimal64Value* mutable_attenuation();
    void set_allocated_attenuation(::ywrapper::Decimal64Value* attenuation);
  
    // @@protoc_insertion_point(class_scope:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.LinePrimaryIn.State)
   private:
  
    ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
    ::ywrapper::BoolValue* enabled_;
    ::ywrapper::Decimal64Value* target_attenuation_;
    ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_LinePrimaryIn_State_OpticalPower* optical_power_;
    ::ywrapper::Decimal64Value* attenuation_;
    mutable int _cached_size_;
    friend struct ::protobuf_openconfig_2fopenconfig_5ftransport_5fline_5fprotection_2fopenconfig_5ftransport_5fline_5fprotection_2eproto::TableStruct;
    friend void ::protobuf_openconfig_2fopenconfig_5ftransport_5fline_5fprotection_2fopenconfig_5ftransport_5fline_5fprotection_2eproto::InitDefaultsAps_ApsModules_ApsModule_Ports_LinePrimaryIn_StateImpl();
  };
  // -------------------------------------------------------------------
  
  class Aps_ApsModules_ApsModule_Ports_LinePrimaryIn : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.LinePrimaryIn) */ {
   public:
    Aps_ApsModules_ApsModule_Ports_LinePrimaryIn();
    virtual ~Aps_ApsModules_ApsModule_Ports_LinePrimaryIn();
  
    Aps_ApsModules_ApsModule_Ports_LinePrimaryIn(const Aps_ApsModules_ApsModule_Ports_LinePrimaryIn& from);
  
    inline Aps_ApsModules_ApsModule_Ports_LinePrimaryIn& operator=(const Aps_ApsModules_ApsModule_Ports_LinePrimaryIn& from) {
      CopyFrom(from);
      return *this;
    }
    #if LANG_CXX11
    Aps_ApsModules_ApsModule_Ports_LinePrimaryIn(Aps_ApsModules_ApsModule_Ports_LinePrimaryIn&& from) noexcept
      : Aps_ApsModules_ApsModule_Ports_LinePrimaryIn() {
      *this = ::std::move(from);
    }
  
    inline Aps_ApsModules_ApsModule_Ports_LinePrimaryIn& operator=(Aps_ApsModules_ApsModule_Ports_LinePrimaryIn&& from) noexcept {
      if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
        if (this != &from) InternalSwap(&from);
      } else {
        CopyFrom(from);
      }
      return *this;
    }
    #endif
    static const ::google::protobuf::Descriptor* descriptor();
    static const Aps_ApsModules_ApsModule_Ports_LinePrimaryIn& default_instance();
  
    static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
    static inline const Aps_ApsModules_ApsModule_Ports_LinePrimaryIn* internal_default_instance() {
      return reinterpret_cast<const Aps_ApsModules_ApsModule_Ports_LinePrimaryIn*>(
                 &_Aps_ApsModules_ApsModule_Ports_LinePrimaryIn_default_instance_);
    }
    static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
      12;
  
    void Swap(Aps_ApsModules_ApsModule_Ports_LinePrimaryIn* other);
    friend void swap(Aps_ApsModules_ApsModule_Ports_LinePrimaryIn& a, Aps_ApsModules_ApsModule_Ports_LinePrimaryIn& b) {
      a.Swap(&b);
    }
  
    // implements Message ----------------------------------------------
  
    inline Aps_ApsModules_ApsModule_Ports_LinePrimaryIn* New() const PROTOBUF_FINAL { return New(NULL); }
  
    Aps_ApsModules_ApsModule_Ports_LinePrimaryIn* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
    void CopyFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void MergeFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void CopyFrom(const Aps_ApsModules_ApsModule_Ports_LinePrimaryIn& from);
    void MergeFrom(const Aps_ApsModules_ApsModule_Ports_LinePrimaryIn& from);
    void Clear() PROTOBUF_FINAL;
    bool IsInitialized() const PROTOBUF_FINAL;
  
    size_t ByteSizeLong() const PROTOBUF_FINAL;
    bool MergePartialFromCodedStream(
        ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
    void SerializeWithCachedSizes(
        ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
    ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
        bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL;
    int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
    private:
    void SharedCtor();
    void SharedDtor();
    void SetCachedSize(int size) const PROTOBUF_FINAL;
    void InternalSwap(Aps_ApsModules_ApsModule_Ports_LinePrimaryIn* other);
    private:
    inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
      return NULL;
    }
    inline void* MaybeArenaPtr() const {
      return NULL;
    }
    public:
  
    ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL;
  
    // nested types ----------------------------------------------------
  
    typedef Aps_ApsModules_ApsModule_Ports_LinePrimaryIn_Config Config;
    typedef Aps_ApsModules_ApsModule_Ports_LinePrimaryIn_State State;
  
    // accessors -------------------------------------------------------
  
    // .openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.LinePrimaryIn.Config config = 75325565 [(.yext.schemapath) = "/aps/aps-modules/aps-module/ports/line-primary-in/config"];
    bool has_config() const;
    void clear_config();
    static const int kConfigFieldNumber = 75325565;
    const ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_LinePrimaryIn_Config& config() const;
    ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_LinePrimaryIn_Config* release_config();
    ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_LinePrimaryIn_Config* mutable_config();
    void set_allocated_config(::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_LinePrimaryIn_Config* config);
  
    // .openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.LinePrimaryIn.State state = 239272178 [(.yext.schemapath) = "/aps/aps-modules/aps-module/ports/line-primary-in/state"];
    bool has_state() const;
    void clear_state();
    static const int kStateFieldNumber = 239272178;
    const ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_LinePrimaryIn_State& state() const;
    ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_LinePrimaryIn_State* release_state();
    ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_LinePrimaryIn_State* mutable_state();
    void set_allocated_state(::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_LinePrimaryIn_State* state);
  
    // @@protoc_insertion_point(class_scope:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.LinePrimaryIn)
   private:
  
    ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
    ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_LinePrimaryIn_Config* config_;
    ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_LinePrimaryIn_State* state_;
    mutable int _cached_size_;
    friend struct ::protobuf_openconfig_2fopenconfig_5ftransport_5fline_5fprotection_2fopenconfig_5ftransport_5fline_5fprotection_2eproto::TableStruct;
    friend void ::protobuf_openconfig_2fopenconfig_5ftransport_5fline_5fprotection_2fopenconfig_5ftransport_5fline_5fprotection_2eproto::InitDefaultsAps_ApsModules_ApsModule_Ports_LinePrimaryInImpl();
  };
  // -------------------------------------------------------------------
  
  class Aps_ApsModules_ApsModule_Ports_LinePrimaryOut_Config : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.LinePrimaryOut.Config) */ {
   public:
    Aps_ApsModules_ApsModule_Ports_LinePrimaryOut_Config();
    virtual ~Aps_ApsModules_ApsModule_Ports_LinePrimaryOut_Config();
  
    Aps_ApsModules_ApsModule_Ports_LinePrimaryOut_Config(const Aps_ApsModules_ApsModule_Ports_LinePrimaryOut_Config& from);
  
    inline Aps_ApsModules_ApsModule_Ports_LinePrimaryOut_Config& operator=(const Aps_ApsModules_ApsModule_Ports_LinePrimaryOut_Config& from) {
      CopyFrom(from);
      return *this;
    }
    #if LANG_CXX11
    Aps_ApsModules_ApsModule_Ports_LinePrimaryOut_Config(Aps_ApsModules_ApsModule_Ports_LinePrimaryOut_Config&& from) noexcept
      : Aps_ApsModules_ApsModule_Ports_LinePrimaryOut_Config() {
      *this = ::std::move(from);
    }
  
    inline Aps_ApsModules_ApsModule_Ports_LinePrimaryOut_Config& operator=(Aps_ApsModules_ApsModule_Ports_LinePrimaryOut_Config&& from) noexcept {
      if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
        if (this != &from) InternalSwap(&from);
      } else {
        CopyFrom(from);
      }
      return *this;
    }
    #endif
    static const ::google::protobuf::Descriptor* descriptor();
    static const Aps_ApsModules_ApsModule_Ports_LinePrimaryOut_Config& default_instance();
  
    static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
    static inline const Aps_ApsModules_ApsModule_Ports_LinePrimaryOut_Config* internal_default_instance() {
      return reinterpret_cast<const Aps_ApsModules_ApsModule_Ports_LinePrimaryOut_Config*>(
                 &_Aps_ApsModules_ApsModule_Ports_LinePrimaryOut_Config_default_instance_);
    }
    static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
      13;
  
    void Swap(Aps_ApsModules_ApsModule_Ports_LinePrimaryOut_Config* other);
    friend void swap(Aps_ApsModules_ApsModule_Ports_LinePrimaryOut_Config& a, Aps_ApsModules_ApsModule_Ports_LinePrimaryOut_Config& b) {
      a.Swap(&b);
    }
  
    // implements Message ----------------------------------------------
  
    inline Aps_ApsModules_ApsModule_Ports_LinePrimaryOut_Config* New() const PROTOBUF_FINAL { return New(NULL); }
  
    Aps_ApsModules_ApsModule_Ports_LinePrimaryOut_Config* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
    void CopyFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void MergeFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void CopyFrom(const Aps_ApsModules_ApsModule_Ports_LinePrimaryOut_Config& from);
    void MergeFrom(const Aps_ApsModules_ApsModule_Ports_LinePrimaryOut_Config& from);
    void Clear() PROTOBUF_FINAL;
    bool IsInitialized() const PROTOBUF_FINAL;
  
    size_t ByteSizeLong() const PROTOBUF_FINAL;
    bool MergePartialFromCodedStream(
        ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
    void SerializeWithCachedSizes(
        ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
    ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
        bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL;
    int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
    private:
    void SharedCtor();
    void SharedDtor();
    void SetCachedSize(int size) const PROTOBUF_FINAL;
    void InternalSwap(Aps_ApsModules_ApsModule_Ports_LinePrimaryOut_Config* other);
    private:
    inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
      return NULL;
    }
    inline void* MaybeArenaPtr() const {
      return NULL;
    }
    public:
  
    ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL;
  
    // nested types ----------------------------------------------------
  
    // accessors -------------------------------------------------------
  
    // .ywrapper.Decimal64Value target_attenuation = 206354211 [(.yext.schemapath) = "/aps/aps-modules/aps-module/ports/line-primary-out/config/target-attenuation"];
    bool has_target_attenuation() const;
    void clear_target_attenuation();
    static const int kTargetAttenuationFieldNumber = 206354211;
    const ::ywrapper::Decimal64Value& target_attenuation() const;
    ::ywrapper::Decimal64Value* release_target_attenuation();
    ::ywrapper::Decimal64Value* mutable_target_attenuation();
    void set_allocated_target_attenuation(::ywrapper::Decimal64Value* target_attenuation);
  
    // @@protoc_insertion_point(class_scope:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.LinePrimaryOut.Config)
   private:
  
    ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
    ::ywrapper::Decimal64Value* target_attenuation_;
    mutable int _cached_size_;
    friend struct ::protobuf_openconfig_2fopenconfig_5ftransport_5fline_5fprotection_2fopenconfig_5ftransport_5fline_5fprotection_2eproto::TableStruct;
    friend void ::protobuf_openconfig_2fopenconfig_5ftransport_5fline_5fprotection_2fopenconfig_5ftransport_5fline_5fprotection_2eproto::InitDefaultsAps_ApsModules_ApsModule_Ports_LinePrimaryOut_ConfigImpl();
  };
  // -------------------------------------------------------------------
  
  class Aps_ApsModules_ApsModule_Ports_LinePrimaryOut_State_OpticalPower : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.LinePrimaryOut.State.OpticalPower) */ {
   public:
    Aps_ApsModules_ApsModule_Ports_LinePrimaryOut_State_OpticalPower();
    virtual ~Aps_ApsModules_ApsModule_Ports_LinePrimaryOut_State_OpticalPower();
  
    Aps_ApsModules_ApsModule_Ports_LinePrimaryOut_State_OpticalPower(const Aps_ApsModules_ApsModule_Ports_LinePrimaryOut_State_OpticalPower& from);
  
    inline Aps_ApsModules_ApsModule_Ports_LinePrimaryOut_State_OpticalPower& operator=(const Aps_ApsModules_ApsModule_Ports_LinePrimaryOut_State_OpticalPower& from) {
      CopyFrom(from);
      return *this;
    }
    #if LANG_CXX11
    Aps_ApsModules_ApsModule_Ports_LinePrimaryOut_State_OpticalPower(Aps_ApsModules_ApsModule_Ports_LinePrimaryOut_State_OpticalPower&& from) noexcept
      : Aps_ApsModules_ApsModule_Ports_LinePrimaryOut_State_OpticalPower() {
      *this = ::std::move(from);
    }
  
    inline Aps_ApsModules_ApsModule_Ports_LinePrimaryOut_State_OpticalPower& operator=(Aps_ApsModules_ApsModule_Ports_LinePrimaryOut_State_OpticalPower&& from) noexcept {
      if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
        if (this != &from) InternalSwap(&from);
      } else {
        CopyFrom(from);
      }
      return *this;
    }
    #endif
    static const ::google::protobuf::Descriptor* descriptor();
    static const Aps_ApsModules_ApsModule_Ports_LinePrimaryOut_State_OpticalPower& default_instance();
  
    static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
    static inline const Aps_ApsModules_ApsModule_Ports_LinePrimaryOut_State_OpticalPower* internal_default_instance() {
      return reinterpret_cast<const Aps_ApsModules_ApsModule_Ports_LinePrimaryOut_State_OpticalPower*>(
                 &_Aps_ApsModules_ApsModule_Ports_LinePrimaryOut_State_OpticalPower_default_instance_);
    }
    static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
      14;
  
    void Swap(Aps_ApsModules_ApsModule_Ports_LinePrimaryOut_State_OpticalPower* other);
    friend void swap(Aps_ApsModules_ApsModule_Ports_LinePrimaryOut_State_OpticalPower& a, Aps_ApsModules_ApsModule_Ports_LinePrimaryOut_State_OpticalPower& b) {
      a.Swap(&b);
    }
  
    // implements Message ----------------------------------------------
  
    inline Aps_ApsModules_ApsModule_Ports_LinePrimaryOut_State_OpticalPower* New() const PROTOBUF_FINAL { return New(NULL); }
  
    Aps_ApsModules_ApsModule_Ports_LinePrimaryOut_State_OpticalPower* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
    void CopyFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void MergeFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void CopyFrom(const Aps_ApsModules_ApsModule_Ports_LinePrimaryOut_State_OpticalPower& from);
    void MergeFrom(const Aps_ApsModules_ApsModule_Ports_LinePrimaryOut_State_OpticalPower& from);
    void Clear() PROTOBUF_FINAL;
    bool IsInitialized() const PROTOBUF_FINAL;
  
    size_t ByteSizeLong() const PROTOBUF_FINAL;
    bool MergePartialFromCodedStream(
        ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
    void SerializeWithCachedSizes(
        ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
    ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
        bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL;
    int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
    private:
    void SharedCtor();
    void SharedDtor();
    void SetCachedSize(int size) const PROTOBUF_FINAL;
    void InternalSwap(Aps_ApsModules_ApsModule_Ports_LinePrimaryOut_State_OpticalPower* other);
    private:
    inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
      return NULL;
    }
    inline void* MaybeArenaPtr() const {
      return NULL;
    }
    public:
  
    ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL;
  
    // nested types ----------------------------------------------------
  
    // accessors -------------------------------------------------------
  
    // .ywrapper.UintValue interval = 25931648 [(.yext.schemapath) = "/aps/aps-modules/aps-module/ports/line-primary-out/state/optical-power/interval"];
    bool has_interval() const;
    void clear_interval();
    static const int kIntervalFieldNumber = 25931648;
    const ::ywrapper::UintValue& interval() const;
    ::ywrapper::UintValue* release_interval();
    ::ywrapper::UintValue* mutable_interval();
    void set_allocated_interval(::ywrapper::UintValue* interval);
  
    // .ywrapper.Decimal64Value max = 33696187 [(.yext.schemapath) = "/aps/aps-modules/aps-module/ports/line-primary-out/state/optical-power/max"];
    bool has_max() const;
    void clear_max();
    static const int kMaxFieldNumber = 33696187;
    const ::ywrapper::Decimal64Value& max() const;
    ::ywrapper::Decimal64Value* release_max();
    ::ywrapper::Decimal64Value* mutable_max();
    void set_allocated_max(::ywrapper::Decimal64Value* max);
  
    // .ywrapper.Decimal64Value instant = 143166638 [(.yext.schemapath) = "/aps/aps-modules/aps-module/ports/line-primary-out/state/optical-power/instant"];
    bool has_instant() const;
    void clear_instant();
    static const int kInstantFieldNumber = 143166638;
    const ::ywrapper::Decimal64Value& instant() const;
    ::ywrapper::Decimal64Value* release_instant();
    ::ywrapper::Decimal64Value* mutable_instant();
    void set_allocated_instant(::ywrapper::Decimal64Value* instant);
  
    // .ywrapper.Decimal64Value min = 167917109 [(.yext.schemapath) = "/aps/aps-modules/aps-module/ports/line-primary-out/state/optical-power/min"];
    bool has_min() const;
    void clear_min();
    static const int kMinFieldNumber = 167917109;
    const ::ywrapper::Decimal64Value& min() const;
    ::ywrapper::Decimal64Value* release_min();
    ::ywrapper::Decimal64Value* mutable_min();
    void set_allocated_min(::ywrapper::Decimal64Value* min);
  
    // .ywrapper.Decimal64Value avg = 387984865 [(.yext.schemapath) = "/aps/aps-modules/aps-module/ports/line-primary-out/state/optical-power/avg"];
    bool has_avg() const;
    void clear_avg();
    static const int kAvgFieldNumber = 387984865;
    const ::ywrapper::Decimal64Value& avg() const;
    ::ywrapper::Decimal64Value* release_avg();
    ::ywrapper::Decimal64Value* mutable_avg();
    void set_allocated_avg(::ywrapper::Decimal64Value* avg);
  
    // @@protoc_insertion_point(class_scope:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.LinePrimaryOut.State.OpticalPower)
   private:
  
    ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
    ::ywrapper::UintValue* interval_;
    ::ywrapper::Decimal64Value* max_;
    ::ywrapper::Decimal64Value* instant_;
    ::ywrapper::Decimal64Value* min_;
    ::ywrapper::Decimal64Value* avg_;
    mutable int _cached_size_;
    friend struct ::protobuf_openconfig_2fopenconfig_5ftransport_5fline_5fprotection_2fopenconfig_5ftransport_5fline_5fprotection_2eproto::TableStruct;
    friend void ::protobuf_openconfig_2fopenconfig_5ftransport_5fline_5fprotection_2fopenconfig_5ftransport_5fline_5fprotection_2eproto::InitDefaultsAps_ApsModules_ApsModule_Ports_LinePrimaryOut_State_OpticalPowerImpl();
  };
  // -------------------------------------------------------------------
  
  class Aps_ApsModules_ApsModule_Ports_LinePrimaryOut_State : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.LinePrimaryOut.State) */ {
   public:
    Aps_ApsModules_ApsModule_Ports_LinePrimaryOut_State();
    virtual ~Aps_ApsModules_ApsModule_Ports_LinePrimaryOut_State();
  
    Aps_ApsModules_ApsModule_Ports_LinePrimaryOut_State(const Aps_ApsModules_ApsModule_Ports_LinePrimaryOut_State& from);
  
    inline Aps_ApsModules_ApsModule_Ports_LinePrimaryOut_State& operator=(const Aps_ApsModules_ApsModule_Ports_LinePrimaryOut_State& from) {
      CopyFrom(from);
      return *this;
    }
    #if LANG_CXX11
    Aps_ApsModules_ApsModule_Ports_LinePrimaryOut_State(Aps_ApsModules_ApsModule_Ports_LinePrimaryOut_State&& from) noexcept
      : Aps_ApsModules_ApsModule_Ports_LinePrimaryOut_State() {
      *this = ::std::move(from);
    }
  
    inline Aps_ApsModules_ApsModule_Ports_LinePrimaryOut_State& operator=(Aps_ApsModules_ApsModule_Ports_LinePrimaryOut_State&& from) noexcept {
      if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
        if (this != &from) InternalSwap(&from);
      } else {
        CopyFrom(from);
      }
      return *this;
    }
    #endif
    static const ::google::protobuf::Descriptor* descriptor();
    static const Aps_ApsModules_ApsModule_Ports_LinePrimaryOut_State& default_instance();
  
    static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
    static inline const Aps_ApsModules_ApsModule_Ports_LinePrimaryOut_State* internal_default_instance() {
      return reinterpret_cast<const Aps_ApsModules_ApsModule_Ports_LinePrimaryOut_State*>(
                 &_Aps_ApsModules_ApsModule_Ports_LinePrimaryOut_State_default_instance_);
    }
    static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
      15;
  
    void Swap(Aps_ApsModules_ApsModule_Ports_LinePrimaryOut_State* other);
    friend void swap(Aps_ApsModules_ApsModule_Ports_LinePrimaryOut_State& a, Aps_ApsModules_ApsModule_Ports_LinePrimaryOut_State& b) {
      a.Swap(&b);
    }
  
    // implements Message ----------------------------------------------
  
    inline Aps_ApsModules_ApsModule_Ports_LinePrimaryOut_State* New() const PROTOBUF_FINAL { return New(NULL); }
  
    Aps_ApsModules_ApsModule_Ports_LinePrimaryOut_State* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
    void CopyFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void MergeFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void CopyFrom(const Aps_ApsModules_ApsModule_Ports_LinePrimaryOut_State& from);
    void MergeFrom(const Aps_ApsModules_ApsModule_Ports_LinePrimaryOut_State& from);
    void Clear() PROTOBUF_FINAL;
    bool IsInitialized() const PROTOBUF_FINAL;
  
    size_t ByteSizeLong() const PROTOBUF_FINAL;
    bool MergePartialFromCodedStream(
        ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
    void SerializeWithCachedSizes(
        ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
    ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
        bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL;
    int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
    private:
    void SharedCtor();
    void SharedDtor();
    void SetCachedSize(int size) const PROTOBUF_FINAL;
    void InternalSwap(Aps_ApsModules_ApsModule_Ports_LinePrimaryOut_State* other);
    private:
    inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
      return NULL;
    }
    inline void* MaybeArenaPtr() const {
      return NULL;
    }
    public:
  
    ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL;
  
    // nested types ----------------------------------------------------
  
    typedef Aps_ApsModules_ApsModule_Ports_LinePrimaryOut_State_OpticalPower OpticalPower;
  
    // accessors -------------------------------------------------------
  
    // .openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.LinePrimaryOut.State.OpticalPower optical_power = 263606976 [(.yext.schemapath) = "/aps/aps-modules/aps-module/ports/line-primary-out/state/optical-power"];
    bool has_optical_power() const;
    void clear_optical_power();
    static const int kOpticalPowerFieldNumber = 263606976;
    const ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_LinePrimaryOut_State_OpticalPower& optical_power() const;
    ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_LinePrimaryOut_State_OpticalPower* release_optical_power();
    ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_LinePrimaryOut_State_OpticalPower* mutable_optical_power();
    void set_allocated_optical_power(::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_LinePrimaryOut_State_OpticalPower* optical_power);
  
    // .ywrapper.Decimal64Value target_attenuation = 287169232 [(.yext.schemapath) = "/aps/aps-modules/aps-module/ports/line-primary-out/state/target-attenuation"];
    bool has_target_attenuation() const;
    void clear_target_attenuation();
    static const int kTargetAttenuationFieldNumber = 287169232;
    const ::ywrapper::Decimal64Value& target_attenuation() const;
    ::ywrapper::Decimal64Value* release_target_attenuation();
    ::ywrapper::Decimal64Value* mutable_target_attenuation();
    void set_allocated_target_attenuation(::ywrapper::Decimal64Value* target_attenuation);
  
    // .ywrapper.Decimal64Value attenuation = 504223668 [(.yext.schemapath) = "/aps/aps-modules/aps-module/ports/line-primary-out/state/attenuation"];
    bool has_attenuation() const;
    void clear_attenuation();
    static const int kAttenuationFieldNumber = 504223668;
    const ::ywrapper::Decimal64Value& attenuation() const;
    ::ywrapper::Decimal64Value* release_attenuation();
    ::ywrapper::Decimal64Value* mutable_attenuation();
    void set_allocated_attenuation(::ywrapper::Decimal64Value* attenuation);
  
    // @@protoc_insertion_point(class_scope:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.LinePrimaryOut.State)
   private:
  
    ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
    ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_LinePrimaryOut_State_OpticalPower* optical_power_;
    ::ywrapper::Decimal64Value* target_attenuation_;
    ::ywrapper::Decimal64Value* attenuation_;
    mutable int _cached_size_;
    friend struct ::protobuf_openconfig_2fopenconfig_5ftransport_5fline_5fprotection_2fopenconfig_5ftransport_5fline_5fprotection_2eproto::TableStruct;
    friend void ::protobuf_openconfig_2fopenconfig_5ftransport_5fline_5fprotection_2fopenconfig_5ftransport_5fline_5fprotection_2eproto::InitDefaultsAps_ApsModules_ApsModule_Ports_LinePrimaryOut_StateImpl();
  };
  // -------------------------------------------------------------------
  
  class Aps_ApsModules_ApsModule_Ports_LinePrimaryOut : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.LinePrimaryOut) */ {
   public:
    Aps_ApsModules_ApsModule_Ports_LinePrimaryOut();
    virtual ~Aps_ApsModules_ApsModule_Ports_LinePrimaryOut();
  
    Aps_ApsModules_ApsModule_Ports_LinePrimaryOut(const Aps_ApsModules_ApsModule_Ports_LinePrimaryOut& from);
  
    inline Aps_ApsModules_ApsModule_Ports_LinePrimaryOut& operator=(const Aps_ApsModules_ApsModule_Ports_LinePrimaryOut& from) {
      CopyFrom(from);
      return *this;
    }
    #if LANG_CXX11
    Aps_ApsModules_ApsModule_Ports_LinePrimaryOut(Aps_ApsModules_ApsModule_Ports_LinePrimaryOut&& from) noexcept
      : Aps_ApsModules_ApsModule_Ports_LinePrimaryOut() {
      *this = ::std::move(from);
    }
  
    inline Aps_ApsModules_ApsModule_Ports_LinePrimaryOut& operator=(Aps_ApsModules_ApsModule_Ports_LinePrimaryOut&& from) noexcept {
      if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
        if (this != &from) InternalSwap(&from);
      } else {
        CopyFrom(from);
      }
      return *this;
    }
    #endif
    static const ::google::protobuf::Descriptor* descriptor();
    static const Aps_ApsModules_ApsModule_Ports_LinePrimaryOut& default_instance();
  
    static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
    static inline const Aps_ApsModules_ApsModule_Ports_LinePrimaryOut* internal_default_instance() {
      return reinterpret_cast<const Aps_ApsModules_ApsModule_Ports_LinePrimaryOut*>(
                 &_Aps_ApsModules_ApsModule_Ports_LinePrimaryOut_default_instance_);
    }
    static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
      16;
  
    void Swap(Aps_ApsModules_ApsModule_Ports_LinePrimaryOut* other);
    friend void swap(Aps_ApsModules_ApsModule_Ports_LinePrimaryOut& a, Aps_ApsModules_ApsModule_Ports_LinePrimaryOut& b) {
      a.Swap(&b);
    }
  
    // implements Message ----------------------------------------------
  
    inline Aps_ApsModules_ApsModule_Ports_LinePrimaryOut* New() const PROTOBUF_FINAL { return New(NULL); }
  
    Aps_ApsModules_ApsModule_Ports_LinePrimaryOut* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
    void CopyFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void MergeFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void CopyFrom(const Aps_ApsModules_ApsModule_Ports_LinePrimaryOut& from);
    void MergeFrom(const Aps_ApsModules_ApsModule_Ports_LinePrimaryOut& from);
    void Clear() PROTOBUF_FINAL;
    bool IsInitialized() const PROTOBUF_FINAL;
  
    size_t ByteSizeLong() const PROTOBUF_FINAL;
    bool MergePartialFromCodedStream(
        ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
    void SerializeWithCachedSizes(
        ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
    ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
        bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL;
    int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
    private:
    void SharedCtor();
    void SharedDtor();
    void SetCachedSize(int size) const PROTOBUF_FINAL;
    void InternalSwap(Aps_ApsModules_ApsModule_Ports_LinePrimaryOut* other);
    private:
    inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
      return NULL;
    }
    inline void* MaybeArenaPtr() const {
      return NULL;
    }
    public:
  
    ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL;
  
    // nested types ----------------------------------------------------
  
    typedef Aps_ApsModules_ApsModule_Ports_LinePrimaryOut_Config Config;
    typedef Aps_ApsModules_ApsModule_Ports_LinePrimaryOut_State State;
  
    // accessors -------------------------------------------------------
  
    // .openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.LinePrimaryOut.Config config = 446253792 [(.yext.schemapath) = "/aps/aps-modules/aps-module/ports/line-primary-out/config"];
    bool has_config() const;
    void clear_config();
    static const int kConfigFieldNumber = 446253792;
    const ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_LinePrimaryOut_Config& config() const;
    ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_LinePrimaryOut_Config* release_config();
    ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_LinePrimaryOut_Config* mutable_config();
    void set_allocated_config(::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_LinePrimaryOut_Config* config);
  
    // .openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.LinePrimaryOut.State state = 458616665 [(.yext.schemapath) = "/aps/aps-modules/aps-module/ports/line-primary-out/state"];
    bool has_state() const;
    void clear_state();
    static const int kStateFieldNumber = 458616665;
    const ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_LinePrimaryOut_State& state() const;
    ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_LinePrimaryOut_State* release_state();
    ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_LinePrimaryOut_State* mutable_state();
    void set_allocated_state(::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_LinePrimaryOut_State* state);
  
    // @@protoc_insertion_point(class_scope:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.LinePrimaryOut)
   private:
  
    ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
    ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_LinePrimaryOut_Config* config_;
    ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_LinePrimaryOut_State* state_;
    mutable int _cached_size_;
    friend struct ::protobuf_openconfig_2fopenconfig_5ftransport_5fline_5fprotection_2fopenconfig_5ftransport_5fline_5fprotection_2eproto::TableStruct;
    friend void ::protobuf_openconfig_2fopenconfig_5ftransport_5fline_5fprotection_2fopenconfig_5ftransport_5fline_5fprotection_2eproto::InitDefaultsAps_ApsModules_ApsModule_Ports_LinePrimaryOutImpl();
  };
  // -------------------------------------------------------------------
  
  class Aps_ApsModules_ApsModule_Ports_LineSecondaryIn_Config : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.LineSecondaryIn.Config) */ {
   public:
    Aps_ApsModules_ApsModule_Ports_LineSecondaryIn_Config();
    virtual ~Aps_ApsModules_ApsModule_Ports_LineSecondaryIn_Config();
  
    Aps_ApsModules_ApsModule_Ports_LineSecondaryIn_Config(const Aps_ApsModules_ApsModule_Ports_LineSecondaryIn_Config& from);
  
    inline Aps_ApsModules_ApsModule_Ports_LineSecondaryIn_Config& operator=(const Aps_ApsModules_ApsModule_Ports_LineSecondaryIn_Config& from) {
      CopyFrom(from);
      return *this;
    }
    #if LANG_CXX11
    Aps_ApsModules_ApsModule_Ports_LineSecondaryIn_Config(Aps_ApsModules_ApsModule_Ports_LineSecondaryIn_Config&& from) noexcept
      : Aps_ApsModules_ApsModule_Ports_LineSecondaryIn_Config() {
      *this = ::std::move(from);
    }
  
    inline Aps_ApsModules_ApsModule_Ports_LineSecondaryIn_Config& operator=(Aps_ApsModules_ApsModule_Ports_LineSecondaryIn_Config&& from) noexcept {
      if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
        if (this != &from) InternalSwap(&from);
      } else {
        CopyFrom(from);
      }
      return *this;
    }
    #endif
    static const ::google::protobuf::Descriptor* descriptor();
    static const Aps_ApsModules_ApsModule_Ports_LineSecondaryIn_Config& default_instance();
  
    static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
    static inline const Aps_ApsModules_ApsModule_Ports_LineSecondaryIn_Config* internal_default_instance() {
      return reinterpret_cast<const Aps_ApsModules_ApsModule_Ports_LineSecondaryIn_Config*>(
                 &_Aps_ApsModules_ApsModule_Ports_LineSecondaryIn_Config_default_instance_);
    }
    static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
      17;
  
    void Swap(Aps_ApsModules_ApsModule_Ports_LineSecondaryIn_Config* other);
    friend void swap(Aps_ApsModules_ApsModule_Ports_LineSecondaryIn_Config& a, Aps_ApsModules_ApsModule_Ports_LineSecondaryIn_Config& b) {
      a.Swap(&b);
    }
  
    // implements Message ----------------------------------------------
  
    inline Aps_ApsModules_ApsModule_Ports_LineSecondaryIn_Config* New() const PROTOBUF_FINAL { return New(NULL); }
  
    Aps_ApsModules_ApsModule_Ports_LineSecondaryIn_Config* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
    void CopyFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void MergeFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void CopyFrom(const Aps_ApsModules_ApsModule_Ports_LineSecondaryIn_Config& from);
    void MergeFrom(const Aps_ApsModules_ApsModule_Ports_LineSecondaryIn_Config& from);
    void Clear() PROTOBUF_FINAL;
    bool IsInitialized() const PROTOBUF_FINAL;
  
    size_t ByteSizeLong() const PROTOBUF_FINAL;
    bool MergePartialFromCodedStream(
        ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
    void SerializeWithCachedSizes(
        ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
    ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
        bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL;
    int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
    private:
    void SharedCtor();
    void SharedDtor();
    void SetCachedSize(int size) const PROTOBUF_FINAL;
    void InternalSwap(Aps_ApsModules_ApsModule_Ports_LineSecondaryIn_Config* other);
    private:
    inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
      return NULL;
    }
    inline void* MaybeArenaPtr() const {
      return NULL;
    }
    public:
  
    ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL;
  
    // nested types ----------------------------------------------------
  
    // accessors -------------------------------------------------------
  
    // .ywrapper.BoolValue enabled = 339894779 [(.yext.schemapath) = "/aps/aps-modules/aps-module/ports/line-secondary-in/config/enabled"];
    bool has_enabled() const;
    void clear_enabled();
    static const int kEnabledFieldNumber = 339894779;
    const ::ywrapper::BoolValue& enabled() const;
    ::ywrapper::BoolValue* release_enabled();
    ::ywrapper::BoolValue* mutable_enabled();
    void set_allocated_enabled(::ywrapper::BoolValue* enabled);
  
    // .ywrapper.Decimal64Value target_attenuation = 455834596 [(.yext.schemapath) = "/aps/aps-modules/aps-module/ports/line-secondary-in/config/target-attenuation"];
    bool has_target_attenuation() const;
    void clear_target_attenuation();
    static const int kTargetAttenuationFieldNumber = 455834596;
    const ::ywrapper::Decimal64Value& target_attenuation() const;
    ::ywrapper::Decimal64Value* release_target_attenuation();
    ::ywrapper::Decimal64Value* mutable_target_attenuation();
    void set_allocated_target_attenuation(::ywrapper::Decimal64Value* target_attenuation);
  
    // @@protoc_insertion_point(class_scope:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.LineSecondaryIn.Config)
   private:
  
    ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
    ::ywrapper::BoolValue* enabled_;
    ::ywrapper::Decimal64Value* target_attenuation_;
    mutable int _cached_size_;
    friend struct ::protobuf_openconfig_2fopenconfig_5ftransport_5fline_5fprotection_2fopenconfig_5ftransport_5fline_5fprotection_2eproto::TableStruct;
    friend void ::protobuf_openconfig_2fopenconfig_5ftransport_5fline_5fprotection_2fopenconfig_5ftransport_5fline_5fprotection_2eproto::InitDefaultsAps_ApsModules_ApsModule_Ports_LineSecondaryIn_ConfigImpl();
  };
  // -------------------------------------------------------------------
  
  class Aps_ApsModules_ApsModule_Ports_LineSecondaryIn_State_OpticalPower : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.LineSecondaryIn.State.OpticalPower) */ {
   public:
    Aps_ApsModules_ApsModule_Ports_LineSecondaryIn_State_OpticalPower();
    virtual ~Aps_ApsModules_ApsModule_Ports_LineSecondaryIn_State_OpticalPower();
  
    Aps_ApsModules_ApsModule_Ports_LineSecondaryIn_State_OpticalPower(const Aps_ApsModules_ApsModule_Ports_LineSecondaryIn_State_OpticalPower& from);
  
    inline Aps_ApsModules_ApsModule_Ports_LineSecondaryIn_State_OpticalPower& operator=(const Aps_ApsModules_ApsModule_Ports_LineSecondaryIn_State_OpticalPower& from) {
      CopyFrom(from);
      return *this;
    }
    #if LANG_CXX11
    Aps_ApsModules_ApsModule_Ports_LineSecondaryIn_State_OpticalPower(Aps_ApsModules_ApsModule_Ports_LineSecondaryIn_State_OpticalPower&& from) noexcept
      : Aps_ApsModules_ApsModule_Ports_LineSecondaryIn_State_OpticalPower() {
      *this = ::std::move(from);
    }
  
    inline Aps_ApsModules_ApsModule_Ports_LineSecondaryIn_State_OpticalPower& operator=(Aps_ApsModules_ApsModule_Ports_LineSecondaryIn_State_OpticalPower&& from) noexcept {
      if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
        if (this != &from) InternalSwap(&from);
      } else {
        CopyFrom(from);
      }
      return *this;
    }
    #endif
    static const ::google::protobuf::Descriptor* descriptor();
    static const Aps_ApsModules_ApsModule_Ports_LineSecondaryIn_State_OpticalPower& default_instance();
  
    static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
    static inline const Aps_ApsModules_ApsModule_Ports_LineSecondaryIn_State_OpticalPower* internal_default_instance() {
      return reinterpret_cast<const Aps_ApsModules_ApsModule_Ports_LineSecondaryIn_State_OpticalPower*>(
                 &_Aps_ApsModules_ApsModule_Ports_LineSecondaryIn_State_OpticalPower_default_instance_);
    }
    static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
      18;
  
    void Swap(Aps_ApsModules_ApsModule_Ports_LineSecondaryIn_State_OpticalPower* other);
    friend void swap(Aps_ApsModules_ApsModule_Ports_LineSecondaryIn_State_OpticalPower& a, Aps_ApsModules_ApsModule_Ports_LineSecondaryIn_State_OpticalPower& b) {
      a.Swap(&b);
    }
  
    // implements Message ----------------------------------------------
  
    inline Aps_ApsModules_ApsModule_Ports_LineSecondaryIn_State_OpticalPower* New() const PROTOBUF_FINAL { return New(NULL); }
  
    Aps_ApsModules_ApsModule_Ports_LineSecondaryIn_State_OpticalPower* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
    void CopyFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void MergeFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void CopyFrom(const Aps_ApsModules_ApsModule_Ports_LineSecondaryIn_State_OpticalPower& from);
    void MergeFrom(const Aps_ApsModules_ApsModule_Ports_LineSecondaryIn_State_OpticalPower& from);
    void Clear() PROTOBUF_FINAL;
    bool IsInitialized() const PROTOBUF_FINAL;
  
    size_t ByteSizeLong() const PROTOBUF_FINAL;
    bool MergePartialFromCodedStream(
        ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
    void SerializeWithCachedSizes(
        ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
    ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
        bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL;
    int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
    private:
    void SharedCtor();
    void SharedDtor();
    void SetCachedSize(int size) const PROTOBUF_FINAL;
    void InternalSwap(Aps_ApsModules_ApsModule_Ports_LineSecondaryIn_State_OpticalPower* other);
    private:
    inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
      return NULL;
    }
    inline void* MaybeArenaPtr() const {
      return NULL;
    }
    public:
  
    ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL;
  
    // nested types ----------------------------------------------------
  
    // accessors -------------------------------------------------------
  
    // .ywrapper.Decimal64Value max = 34792300 [(.yext.schemapath) = "/aps/aps-modules/aps-module/ports/line-secondary-in/state/optical-power/max"];
    bool has_max() const;
    void clear_max();
    static const int kMaxFieldNumber = 34792300;
    const ::ywrapper::Decimal64Value& max() const;
    ::ywrapper::Decimal64Value* release_max();
    ::ywrapper::Decimal64Value* mutable_max();
    void set_allocated_max(::ywrapper::Decimal64Value* max);
  
    // .ywrapper.Decimal64Value avg = 284575322 [(.yext.schemapath) = "/aps/aps-modules/aps-module/ports/line-secondary-in/state/optical-power/avg"];
    bool has_avg() const;
    void clear_avg();
    static const int kAvgFieldNumber = 284575322;
    const ::ywrapper::Decimal64Value& avg() const;
    ::ywrapper::Decimal64Value* release_avg();
    ::ywrapper::Decimal64Value* mutable_avg();
    void set_allocated_avg(::ywrapper::Decimal64Value* avg);
  
    // .ywrapper.UintValue interval = 298718397 [(.yext.schemapath) = "/aps/aps-modules/aps-module/ports/line-secondary-in/state/optical-power/interval"];
    bool has_interval() const;
    void clear_interval();
    static const int kIntervalFieldNumber = 298718397;
    const ::ywrapper::UintValue& interval() const;
    ::ywrapper::UintValue* release_interval();
    ::ywrapper::UintValue* mutable_interval();
    void set_allocated_interval(::ywrapper::UintValue* interval);
  
    // .ywrapper.Decimal64Value min = 437442066 [(.yext.schemapath) = "/aps/aps-modules/aps-module/ports/line-secondary-in/state/optical-power/min"];
    bool has_min() const;
    void clear_min();
    static const int kMinFieldNumber = 437442066;
    const ::ywrapper::Decimal64Value& min() const;
    ::ywrapper::Decimal64Value* release_min();
    ::ywrapper::Decimal64Value* mutable_min();
    void set_allocated_min(::ywrapper::Decimal64Value* min);
  
    // .ywrapper.Decimal64Value instant = 497136345 [(.yext.schemapath) = "/aps/aps-modules/aps-module/ports/line-secondary-in/state/optical-power/instant"];
    bool has_instant() const;
    void clear_instant();
    static const int kInstantFieldNumber = 497136345;
    const ::ywrapper::Decimal64Value& instant() const;
    ::ywrapper::Decimal64Value* release_instant();
    ::ywrapper::Decimal64Value* mutable_instant();
    void set_allocated_instant(::ywrapper::Decimal64Value* instant);
  
    // @@protoc_insertion_point(class_scope:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.LineSecondaryIn.State.OpticalPower)
   private:
  
    ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
    ::ywrapper::Decimal64Value* max_;
    ::ywrapper::Decimal64Value* avg_;
    ::ywrapper::UintValue* interval_;
    ::ywrapper::Decimal64Value* min_;
    ::ywrapper::Decimal64Value* instant_;
    mutable int _cached_size_;
    friend struct ::protobuf_openconfig_2fopenconfig_5ftransport_5fline_5fprotection_2fopenconfig_5ftransport_5fline_5fprotection_2eproto::TableStruct;
    friend void ::protobuf_openconfig_2fopenconfig_5ftransport_5fline_5fprotection_2fopenconfig_5ftransport_5fline_5fprotection_2eproto::InitDefaultsAps_ApsModules_ApsModule_Ports_LineSecondaryIn_State_OpticalPowerImpl();
  };
  // -------------------------------------------------------------------
  
  class Aps_ApsModules_ApsModule_Ports_LineSecondaryIn_State : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.LineSecondaryIn.State) */ {
   public:
    Aps_ApsModules_ApsModule_Ports_LineSecondaryIn_State();
    virtual ~Aps_ApsModules_ApsModule_Ports_LineSecondaryIn_State();
  
    Aps_ApsModules_ApsModule_Ports_LineSecondaryIn_State(const Aps_ApsModules_ApsModule_Ports_LineSecondaryIn_State& from);
  
    inline Aps_ApsModules_ApsModule_Ports_LineSecondaryIn_State& operator=(const Aps_ApsModules_ApsModule_Ports_LineSecondaryIn_State& from) {
      CopyFrom(from);
      return *this;
    }
    #if LANG_CXX11
    Aps_ApsModules_ApsModule_Ports_LineSecondaryIn_State(Aps_ApsModules_ApsModule_Ports_LineSecondaryIn_State&& from) noexcept
      : Aps_ApsModules_ApsModule_Ports_LineSecondaryIn_State() {
      *this = ::std::move(from);
    }
  
    inline Aps_ApsModules_ApsModule_Ports_LineSecondaryIn_State& operator=(Aps_ApsModules_ApsModule_Ports_LineSecondaryIn_State&& from) noexcept {
      if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
        if (this != &from) InternalSwap(&from);
      } else {
        CopyFrom(from);
      }
      return *this;
    }
    #endif
    static const ::google::protobuf::Descriptor* descriptor();
    static const Aps_ApsModules_ApsModule_Ports_LineSecondaryIn_State& default_instance();
  
    static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
    static inline const Aps_ApsModules_ApsModule_Ports_LineSecondaryIn_State* internal_default_instance() {
      return reinterpret_cast<const Aps_ApsModules_ApsModule_Ports_LineSecondaryIn_State*>(
                 &_Aps_ApsModules_ApsModule_Ports_LineSecondaryIn_State_default_instance_);
    }
    static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
      19;
  
    void Swap(Aps_ApsModules_ApsModule_Ports_LineSecondaryIn_State* other);
    friend void swap(Aps_ApsModules_ApsModule_Ports_LineSecondaryIn_State& a, Aps_ApsModules_ApsModule_Ports_LineSecondaryIn_State& b) {
      a.Swap(&b);
    }
  
    // implements Message ----------------------------------------------
  
    inline Aps_ApsModules_ApsModule_Ports_LineSecondaryIn_State* New() const PROTOBUF_FINAL { return New(NULL); }
  
    Aps_ApsModules_ApsModule_Ports_LineSecondaryIn_State* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
    void CopyFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void MergeFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void CopyFrom(const Aps_ApsModules_ApsModule_Ports_LineSecondaryIn_State& from);
    void MergeFrom(const Aps_ApsModules_ApsModule_Ports_LineSecondaryIn_State& from);
    void Clear() PROTOBUF_FINAL;
    bool IsInitialized() const PROTOBUF_FINAL;
  
    size_t ByteSizeLong() const PROTOBUF_FINAL;
    bool MergePartialFromCodedStream(
        ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
    void SerializeWithCachedSizes(
        ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
    ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
        bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL;
    int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
    private:
    void SharedCtor();
    void SharedDtor();
    void SetCachedSize(int size) const PROTOBUF_FINAL;
    void InternalSwap(Aps_ApsModules_ApsModule_Ports_LineSecondaryIn_State* other);
    private:
    inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
      return NULL;
    }
    inline void* MaybeArenaPtr() const {
      return NULL;
    }
    public:
  
    ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL;
  
    // nested types ----------------------------------------------------
  
    typedef Aps_ApsModules_ApsModule_Ports_LineSecondaryIn_State_OpticalPower OpticalPower;
  
    // accessors -------------------------------------------------------
  
    // .ywrapper.Decimal64Value target_attenuation = 122935513 [(.yext.schemapath) = "/aps/aps-modules/aps-module/ports/line-secondary-in/state/target-attenuation"];
    bool has_target_attenuation() const;
    void clear_target_attenuation();
    static const int kTargetAttenuationFieldNumber = 122935513;
    const ::ywrapper::Decimal64Value& target_attenuation() const;
    ::ywrapper::Decimal64Value* release_target_attenuation();
    ::ywrapper::Decimal64Value* mutable_target_attenuation();
    void set_allocated_target_attenuation(::ywrapper::Decimal64Value* target_attenuation);
  
    // .ywrapper.Decimal64Value attenuation = 390117215 [(.yext.schemapath) = "/aps/aps-modules/aps-module/ports/line-secondary-in/state/attenuation"];
    bool has_attenuation() const;
    void clear_attenuation();
    static const int kAttenuationFieldNumber = 390117215;
    const ::ywrapper::Decimal64Value& attenuation() const;
    ::ywrapper::Decimal64Value* release_attenuation();
    ::ywrapper::Decimal64Value* mutable_attenuation();
    void set_allocated_attenuation(::ywrapper::Decimal64Value* attenuation);
  
    // .openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.LineSecondaryIn.State.OpticalPower optical_power = 413857507 [(.yext.schemapath) = "/aps/aps-modules/aps-module/ports/line-secondary-in/state/optical-power"];
    bool has_optical_power() const;
    void clear_optical_power();
    static const int kOpticalPowerFieldNumber = 413857507;
    const ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_LineSecondaryIn_State_OpticalPower& optical_power() const;
    ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_LineSecondaryIn_State_OpticalPower* release_optical_power();
    ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_LineSecondaryIn_State_OpticalPower* mutable_optical_power();
    void set_allocated_optical_power(::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_LineSecondaryIn_State_OpticalPower* optical_power);
  
    // .ywrapper.BoolValue enabled = 503808424 [(.yext.schemapath) = "/aps/aps-modules/aps-module/ports/line-secondary-in/state/enabled"];
    bool has_enabled() const;
    void clear_enabled();
    static const int kEnabledFieldNumber = 503808424;
    const ::ywrapper::BoolValue& enabled() const;
    ::ywrapper::BoolValue* release_enabled();
    ::ywrapper::BoolValue* mutable_enabled();
    void set_allocated_enabled(::ywrapper::BoolValue* enabled);
  
    // @@protoc_insertion_point(class_scope:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.LineSecondaryIn.State)
   private:
  
    ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
    ::ywrapper::Decimal64Value* target_attenuation_;
    ::ywrapper::Decimal64Value* attenuation_;
    ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_LineSecondaryIn_State_OpticalPower* optical_power_;
    ::ywrapper::BoolValue* enabled_;
    mutable int _cached_size_;
    friend struct ::protobuf_openconfig_2fopenconfig_5ftransport_5fline_5fprotection_2fopenconfig_5ftransport_5fline_5fprotection_2eproto::TableStruct;
    friend void ::protobuf_openconfig_2fopenconfig_5ftransport_5fline_5fprotection_2fopenconfig_5ftransport_5fline_5fprotection_2eproto::InitDefaultsAps_ApsModules_ApsModule_Ports_LineSecondaryIn_StateImpl();
  };
  // -------------------------------------------------------------------
  
  class Aps_ApsModules_ApsModule_Ports_LineSecondaryIn : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.LineSecondaryIn) */ {
   public:
    Aps_ApsModules_ApsModule_Ports_LineSecondaryIn();
    virtual ~Aps_ApsModules_ApsModule_Ports_LineSecondaryIn();
  
    Aps_ApsModules_ApsModule_Ports_LineSecondaryIn(const Aps_ApsModules_ApsModule_Ports_LineSecondaryIn& from);
  
    inline Aps_ApsModules_ApsModule_Ports_LineSecondaryIn& operator=(const Aps_ApsModules_ApsModule_Ports_LineSecondaryIn& from) {
      CopyFrom(from);
      return *this;
    }
    #if LANG_CXX11
    Aps_ApsModules_ApsModule_Ports_LineSecondaryIn(Aps_ApsModules_ApsModule_Ports_LineSecondaryIn&& from) noexcept
      : Aps_ApsModules_ApsModule_Ports_LineSecondaryIn() {
      *this = ::std::move(from);
    }
  
    inline Aps_ApsModules_ApsModule_Ports_LineSecondaryIn& operator=(Aps_ApsModules_ApsModule_Ports_LineSecondaryIn&& from) noexcept {
      if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
        if (this != &from) InternalSwap(&from);
      } else {
        CopyFrom(from);
      }
      return *this;
    }
    #endif
    static const ::google::protobuf::Descriptor* descriptor();
    static const Aps_ApsModules_ApsModule_Ports_LineSecondaryIn& default_instance();
  
    static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
    static inline const Aps_ApsModules_ApsModule_Ports_LineSecondaryIn* internal_default_instance() {
      return reinterpret_cast<const Aps_ApsModules_ApsModule_Ports_LineSecondaryIn*>(
                 &_Aps_ApsModules_ApsModule_Ports_LineSecondaryIn_default_instance_);
    }
    static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
      20;
  
    void Swap(Aps_ApsModules_ApsModule_Ports_LineSecondaryIn* other);
    friend void swap(Aps_ApsModules_ApsModule_Ports_LineSecondaryIn& a, Aps_ApsModules_ApsModule_Ports_LineSecondaryIn& b) {
      a.Swap(&b);
    }
  
    // implements Message ----------------------------------------------
  
    inline Aps_ApsModules_ApsModule_Ports_LineSecondaryIn* New() const PROTOBUF_FINAL { return New(NULL); }
  
    Aps_ApsModules_ApsModule_Ports_LineSecondaryIn* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
    void CopyFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void MergeFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void CopyFrom(const Aps_ApsModules_ApsModule_Ports_LineSecondaryIn& from);
    void MergeFrom(const Aps_ApsModules_ApsModule_Ports_LineSecondaryIn& from);
    void Clear() PROTOBUF_FINAL;
    bool IsInitialized() const PROTOBUF_FINAL;
  
    size_t ByteSizeLong() const PROTOBUF_FINAL;
    bool MergePartialFromCodedStream(
        ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
    void SerializeWithCachedSizes(
        ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
    ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
        bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL;
    int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
    private:
    void SharedCtor();
    void SharedDtor();
    void SetCachedSize(int size) const PROTOBUF_FINAL;
    void InternalSwap(Aps_ApsModules_ApsModule_Ports_LineSecondaryIn* other);
    private:
    inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
      return NULL;
    }
    inline void* MaybeArenaPtr() const {
      return NULL;
    }
    public:
  
    ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL;
  
    // nested types ----------------------------------------------------
  
    typedef Aps_ApsModules_ApsModule_Ports_LineSecondaryIn_Config Config;
    typedef Aps_ApsModules_ApsModule_Ports_LineSecondaryIn_State State;
  
    // accessors -------------------------------------------------------
  
    // .openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.LineSecondaryIn.State state = 274269002 [(.yext.schemapath) = "/aps/aps-modules/aps-module/ports/line-secondary-in/state"];
    bool has_state() const;
    void clear_state();
    static const int kStateFieldNumber = 274269002;
    const ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_LineSecondaryIn_State& state() const;
    ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_LineSecondaryIn_State* release_state();
    ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_LineSecondaryIn_State* mutable_state();
    void set_allocated_state(::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_LineSecondaryIn_State* state);
  
    // .openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.LineSecondaryIn.Config config = 293706197 [(.yext.schemapath) = "/aps/aps-modules/aps-module/ports/line-secondary-in/config"];
    bool has_config() const;
    void clear_config();
    static const int kConfigFieldNumber = 293706197;
    const ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_LineSecondaryIn_Config& config() const;
    ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_LineSecondaryIn_Config* release_config();
    ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_LineSecondaryIn_Config* mutable_config();
    void set_allocated_config(::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_LineSecondaryIn_Config* config);
  
    // @@protoc_insertion_point(class_scope:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.LineSecondaryIn)
   private:
  
    ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
    ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_LineSecondaryIn_State* state_;
    ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_LineSecondaryIn_Config* config_;
    mutable int _cached_size_;
    friend struct ::protobuf_openconfig_2fopenconfig_5ftransport_5fline_5fprotection_2fopenconfig_5ftransport_5fline_5fprotection_2eproto::TableStruct;
    friend void ::protobuf_openconfig_2fopenconfig_5ftransport_5fline_5fprotection_2fopenconfig_5ftransport_5fline_5fprotection_2eproto::InitDefaultsAps_ApsModules_ApsModule_Ports_LineSecondaryInImpl();
  };
  // -------------------------------------------------------------------
  
  class Aps_ApsModules_ApsModule_Ports_LineSecondaryOut_Config : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.LineSecondaryOut.Config) */ {
   public:
    Aps_ApsModules_ApsModule_Ports_LineSecondaryOut_Config();
    virtual ~Aps_ApsModules_ApsModule_Ports_LineSecondaryOut_Config();
  
    Aps_ApsModules_ApsModule_Ports_LineSecondaryOut_Config(const Aps_ApsModules_ApsModule_Ports_LineSecondaryOut_Config& from);
  
    inline Aps_ApsModules_ApsModule_Ports_LineSecondaryOut_Config& operator=(const Aps_ApsModules_ApsModule_Ports_LineSecondaryOut_Config& from) {
      CopyFrom(from);
      return *this;
    }
    #if LANG_CXX11
    Aps_ApsModules_ApsModule_Ports_LineSecondaryOut_Config(Aps_ApsModules_ApsModule_Ports_LineSecondaryOut_Config&& from) noexcept
      : Aps_ApsModules_ApsModule_Ports_LineSecondaryOut_Config() {
      *this = ::std::move(from);
    }
  
    inline Aps_ApsModules_ApsModule_Ports_LineSecondaryOut_Config& operator=(Aps_ApsModules_ApsModule_Ports_LineSecondaryOut_Config&& from) noexcept {
      if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
        if (this != &from) InternalSwap(&from);
      } else {
        CopyFrom(from);
      }
      return *this;
    }
    #endif
    static const ::google::protobuf::Descriptor* descriptor();
    static const Aps_ApsModules_ApsModule_Ports_LineSecondaryOut_Config& default_instance();
  
    static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
    static inline const Aps_ApsModules_ApsModule_Ports_LineSecondaryOut_Config* internal_default_instance() {
      return reinterpret_cast<const Aps_ApsModules_ApsModule_Ports_LineSecondaryOut_Config*>(
                 &_Aps_ApsModules_ApsModule_Ports_LineSecondaryOut_Config_default_instance_);
    }
    static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
      21;
  
    void Swap(Aps_ApsModules_ApsModule_Ports_LineSecondaryOut_Config* other);
    friend void swap(Aps_ApsModules_ApsModule_Ports_LineSecondaryOut_Config& a, Aps_ApsModules_ApsModule_Ports_LineSecondaryOut_Config& b) {
      a.Swap(&b);
    }
  
    // implements Message ----------------------------------------------
  
    inline Aps_ApsModules_ApsModule_Ports_LineSecondaryOut_Config* New() const PROTOBUF_FINAL { return New(NULL); }
  
    Aps_ApsModules_ApsModule_Ports_LineSecondaryOut_Config* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
    void CopyFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void MergeFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void CopyFrom(const Aps_ApsModules_ApsModule_Ports_LineSecondaryOut_Config& from);
    void MergeFrom(const Aps_ApsModules_ApsModule_Ports_LineSecondaryOut_Config& from);
    void Clear() PROTOBUF_FINAL;
    bool IsInitialized() const PROTOBUF_FINAL;
  
    size_t ByteSizeLong() const PROTOBUF_FINAL;
    bool MergePartialFromCodedStream(
        ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
    void SerializeWithCachedSizes(
        ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
    ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
        bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL;
    int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
    private:
    void SharedCtor();
    void SharedDtor();
    void SetCachedSize(int size) const PROTOBUF_FINAL;
    void InternalSwap(Aps_ApsModules_ApsModule_Ports_LineSecondaryOut_Config* other);
    private:
    inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
      return NULL;
    }
    inline void* MaybeArenaPtr() const {
      return NULL;
    }
    public:
  
    ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL;
  
    // nested types ----------------------------------------------------
  
    // accessors -------------------------------------------------------
  
    // .ywrapper.Decimal64Value target_attenuation = 352000203 [(.yext.schemapath) = "/aps/aps-modules/aps-module/ports/line-secondary-out/config/target-attenuation"];
    bool has_target_attenuation() const;
    void clear_target_attenuation();
    static const int kTargetAttenuationFieldNumber = 352000203;
    const ::ywrapper::Decimal64Value& target_attenuation() const;
    ::ywrapper::Decimal64Value* release_target_attenuation();
    ::ywrapper::Decimal64Value* mutable_target_attenuation();
    void set_allocated_target_attenuation(::ywrapper::Decimal64Value* target_attenuation);
  
    // @@protoc_insertion_point(class_scope:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.LineSecondaryOut.Config)
   private:
  
    ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
    ::ywrapper::Decimal64Value* target_attenuation_;
    mutable int _cached_size_;
    friend struct ::protobuf_openconfig_2fopenconfig_5ftransport_5fline_5fprotection_2fopenconfig_5ftransport_5fline_5fprotection_2eproto::TableStruct;
    friend void ::protobuf_openconfig_2fopenconfig_5ftransport_5fline_5fprotection_2fopenconfig_5ftransport_5fline_5fprotection_2eproto::InitDefaultsAps_ApsModules_ApsModule_Ports_LineSecondaryOut_ConfigImpl();
  };
  // -------------------------------------------------------------------
  
  class Aps_ApsModules_ApsModule_Ports_LineSecondaryOut_State_OpticalPower : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.LineSecondaryOut.State.OpticalPower) */ {
   public:
    Aps_ApsModules_ApsModule_Ports_LineSecondaryOut_State_OpticalPower();
    virtual ~Aps_ApsModules_ApsModule_Ports_LineSecondaryOut_State_OpticalPower();
  
    Aps_ApsModules_ApsModule_Ports_LineSecondaryOut_State_OpticalPower(const Aps_ApsModules_ApsModule_Ports_LineSecondaryOut_State_OpticalPower& from);
  
    inline Aps_ApsModules_ApsModule_Ports_LineSecondaryOut_State_OpticalPower& operator=(const Aps_ApsModules_ApsModule_Ports_LineSecondaryOut_State_OpticalPower& from) {
      CopyFrom(from);
      return *this;
    }
    #if LANG_CXX11
    Aps_ApsModules_ApsModule_Ports_LineSecondaryOut_State_OpticalPower(Aps_ApsModules_ApsModule_Ports_LineSecondaryOut_State_OpticalPower&& from) noexcept
      : Aps_ApsModules_ApsModule_Ports_LineSecondaryOut_State_OpticalPower() {
      *this = ::std::move(from);
    }
  
    inline Aps_ApsModules_ApsModule_Ports_LineSecondaryOut_State_OpticalPower& operator=(Aps_ApsModules_ApsModule_Ports_LineSecondaryOut_State_OpticalPower&& from) noexcept {
      if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
        if (this != &from) InternalSwap(&from);
      } else {
        CopyFrom(from);
      }
      return *this;
    }
    #endif
    static const ::google::protobuf::Descriptor* descriptor();
    static const Aps_ApsModules_ApsModule_Ports_LineSecondaryOut_State_OpticalPower& default_instance();
  
    static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
    static inline const Aps_ApsModules_ApsModule_Ports_LineSecondaryOut_State_OpticalPower* internal_default_instance() {
      return reinterpret_cast<const Aps_ApsModules_ApsModule_Ports_LineSecondaryOut_State_OpticalPower*>(
                 &_Aps_ApsModules_ApsModule_Ports_LineSecondaryOut_State_OpticalPower_default_instance_);
    }
    static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
      22;
  
    void Swap(Aps_ApsModules_ApsModule_Ports_LineSecondaryOut_State_OpticalPower* other);
    friend void swap(Aps_ApsModules_ApsModule_Ports_LineSecondaryOut_State_OpticalPower& a, Aps_ApsModules_ApsModule_Ports_LineSecondaryOut_State_OpticalPower& b) {
      a.Swap(&b);
    }
  
    // implements Message ----------------------------------------------
  
    inline Aps_ApsModules_ApsModule_Ports_LineSecondaryOut_State_OpticalPower* New() const PROTOBUF_FINAL { return New(NULL); }
  
    Aps_ApsModules_ApsModule_Ports_LineSecondaryOut_State_OpticalPower* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
    void CopyFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void MergeFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void CopyFrom(const Aps_ApsModules_ApsModule_Ports_LineSecondaryOut_State_OpticalPower& from);
    void MergeFrom(const Aps_ApsModules_ApsModule_Ports_LineSecondaryOut_State_OpticalPower& from);
    void Clear() PROTOBUF_FINAL;
    bool IsInitialized() const PROTOBUF_FINAL;
  
    size_t ByteSizeLong() const PROTOBUF_FINAL;
    bool MergePartialFromCodedStream(
        ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
    void SerializeWithCachedSizes(
        ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
    ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
        bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL;
    int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
    private:
    void SharedCtor();
    void SharedDtor();
    void SetCachedSize(int size) const PROTOBUF_FINAL;
    void InternalSwap(Aps_ApsModules_ApsModule_Ports_LineSecondaryOut_State_OpticalPower* other);
    private:
    inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
      return NULL;
    }
    inline void* MaybeArenaPtr() const {
      return NULL;
    }
    public:
  
    ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL;
  
    // nested types ----------------------------------------------------
  
    // accessors -------------------------------------------------------
  
    // .ywrapper.Decimal64Value instant = 54136518 [(.yext.schemapath) = "/aps/aps-modules/aps-module/ports/line-secondary-out/state/optical-power/instant"];
    bool has_instant() const;
    void clear_instant();
    static const int kInstantFieldNumber = 54136518;
    const ::ywrapper::Decimal64Value& instant() const;
    ::ywrapper::Decimal64Value* release_instant();
    ::ywrapper::Decimal64Value* mutable_instant();
    void set_allocated_instant(::ywrapper::Decimal64Value* instant);
  
    // .ywrapper.UintValue interval = 246448040 [(.yext.schemapath) = "/aps/aps-modules/aps-module/ports/line-secondary-out/state/optical-power/interval"];
    bool has_interval() const;
    void clear_interval();
    static const int kIntervalFieldNumber = 246448040;
    const ::ywrapper::UintValue& interval() const;
    ::ywrapper::UintValue* release_interval();
    ::ywrapper::UintValue* mutable_interval();
    void set_allocated_interval(::ywrapper::UintValue* interval);
  
    // .ywrapper.Decimal64Value avg = 305662153 [(.yext.schemapath) = "/aps/aps-modules/aps-module/ports/line-secondary-out/state/optical-power/avg"];
    bool has_avg() const;
    void clear_avg();
    static const int kAvgFieldNumber = 305662153;
    const ::ywrapper::Decimal64Value& avg() const;
    ::ywrapper::Decimal64Value* release_avg();
    ::ywrapper::Decimal64Value* mutable_avg();
    void set_allocated_avg(::ywrapper::Decimal64Value* avg);
  
    // .ywrapper.Decimal64Value min = 356583341 [(.yext.schemapath) = "/aps/aps-modules/aps-module/ports/line-secondary-out/state/optical-power/min"];
    bool has_min() const;
    void clear_min();
    static const int kMinFieldNumber = 356583341;
    const ::ywrapper::Decimal64Value& min() const;
    ::ywrapper::Decimal64Value* release_min();
    ::ywrapper::Decimal64Value* mutable_min();
    void set_allocated_min(::ywrapper::Decimal64Value* min);
  
    // .ywrapper.Decimal64Value max = 490804259 [(.yext.schemapath) = "/aps/aps-modules/aps-module/ports/line-secondary-out/state/optical-power/max"];
    bool has_max() const;
    void clear_max();
    static const int kMaxFieldNumber = 490804259;
    const ::ywrapper::Decimal64Value& max() const;
    ::ywrapper::Decimal64Value* release_max();
    ::ywrapper::Decimal64Value* mutable_max();
    void set_allocated_max(::ywrapper::Decimal64Value* max);
  
    // @@protoc_insertion_point(class_scope:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.LineSecondaryOut.State.OpticalPower)
   private:
  
    ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
    ::ywrapper::Decimal64Value* instant_;
    ::ywrapper::UintValue* interval_;
    ::ywrapper::Decimal64Value* avg_;
    ::ywrapper::Decimal64Value* min_;
    ::ywrapper::Decimal64Value* max_;
    mutable int _cached_size_;
    friend struct ::protobuf_openconfig_2fopenconfig_5ftransport_5fline_5fprotection_2fopenconfig_5ftransport_5fline_5fprotection_2eproto::TableStruct;
    friend void ::protobuf_openconfig_2fopenconfig_5ftransport_5fline_5fprotection_2fopenconfig_5ftransport_5fline_5fprotection_2eproto::InitDefaultsAps_ApsModules_ApsModule_Ports_LineSecondaryOut_State_OpticalPowerImpl();
  };
  // -------------------------------------------------------------------
  
  class Aps_ApsModules_ApsModule_Ports_LineSecondaryOut_State : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.LineSecondaryOut.State) */ {
   public:
    Aps_ApsModules_ApsModule_Ports_LineSecondaryOut_State();
    virtual ~Aps_ApsModules_ApsModule_Ports_LineSecondaryOut_State();
  
    Aps_ApsModules_ApsModule_Ports_LineSecondaryOut_State(const Aps_ApsModules_ApsModule_Ports_LineSecondaryOut_State& from);
  
    inline Aps_ApsModules_ApsModule_Ports_LineSecondaryOut_State& operator=(const Aps_ApsModules_ApsModule_Ports_LineSecondaryOut_State& from) {
      CopyFrom(from);
      return *this;
    }
    #if LANG_CXX11
    Aps_ApsModules_ApsModule_Ports_LineSecondaryOut_State(Aps_ApsModules_ApsModule_Ports_LineSecondaryOut_State&& from) noexcept
      : Aps_ApsModules_ApsModule_Ports_LineSecondaryOut_State() {
      *this = ::std::move(from);
    }
  
    inline Aps_ApsModules_ApsModule_Ports_LineSecondaryOut_State& operator=(Aps_ApsModules_ApsModule_Ports_LineSecondaryOut_State&& from) noexcept {
      if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
        if (this != &from) InternalSwap(&from);
      } else {
        CopyFrom(from);
      }
      return *this;
    }
    #endif
    static const ::google::protobuf::Descriptor* descriptor();
    static const Aps_ApsModules_ApsModule_Ports_LineSecondaryOut_State& default_instance();
  
    static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
    static inline const Aps_ApsModules_ApsModule_Ports_LineSecondaryOut_State* internal_default_instance() {
      return reinterpret_cast<const Aps_ApsModules_ApsModule_Ports_LineSecondaryOut_State*>(
                 &_Aps_ApsModules_ApsModule_Ports_LineSecondaryOut_State_default_instance_);
    }
    static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
      23;
  
    void Swap(Aps_ApsModules_ApsModule_Ports_LineSecondaryOut_State* other);
    friend void swap(Aps_ApsModules_ApsModule_Ports_LineSecondaryOut_State& a, Aps_ApsModules_ApsModule_Ports_LineSecondaryOut_State& b) {
      a.Swap(&b);
    }
  
    // implements Message ----------------------------------------------
  
    inline Aps_ApsModules_ApsModule_Ports_LineSecondaryOut_State* New() const PROTOBUF_FINAL { return New(NULL); }
  
    Aps_ApsModules_ApsModule_Ports_LineSecondaryOut_State* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
    void CopyFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void MergeFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void CopyFrom(const Aps_ApsModules_ApsModule_Ports_LineSecondaryOut_State& from);
    void MergeFrom(const Aps_ApsModules_ApsModule_Ports_LineSecondaryOut_State& from);
    void Clear() PROTOBUF_FINAL;
    bool IsInitialized() const PROTOBUF_FINAL;
  
    size_t ByteSizeLong() const PROTOBUF_FINAL;
    bool MergePartialFromCodedStream(
        ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
    void SerializeWithCachedSizes(
        ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
    ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
        bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL;
    int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
    private:
    void SharedCtor();
    void SharedDtor();
    void SetCachedSize(int size) const PROTOBUF_FINAL;
    void InternalSwap(Aps_ApsModules_ApsModule_Ports_LineSecondaryOut_State* other);
    private:
    inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
      return NULL;
    }
    inline void* MaybeArenaPtr() const {
      return NULL;
    }
    public:
  
    ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL;
  
    // nested types ----------------------------------------------------
  
    typedef Aps_ApsModules_ApsModule_Ports_LineSecondaryOut_State_OpticalPower OpticalPower;
  
    // accessors -------------------------------------------------------
  
    // .ywrapper.Decimal64Value target_attenuation = 171830616 [(.yext.schemapath) = "/aps/aps-modules/aps-module/ports/line-secondary-out/state/target-attenuation"];
    bool has_target_attenuation() const;
    void clear_target_attenuation();
    static const int kTargetAttenuationFieldNumber = 171830616;
    const ::ywrapper::Decimal64Value& target_attenuation() const;
    ::ywrapper::Decimal64Value* release_target_attenuation();
    ::ywrapper::Decimal64Value* mutable_target_attenuation();
    void set_allocated_target_attenuation(::ywrapper::Decimal64Value* target_attenuation);
  
    // .ywrapper.Decimal64Value attenuation = 341918460 [(.yext.schemapath) = "/aps/aps-modules/aps-module/ports/line-secondary-out/state/attenuation"];
    bool has_attenuation() const;
    void clear_attenuation();
    static const int kAttenuationFieldNumber = 341918460;
    const ::ywrapper::Decimal64Value& attenuation() const;
    ::ywrapper::Decimal64Value* release_attenuation();
    ::ywrapper::Decimal64Value* mutable_attenuation();
    void set_allocated_attenuation(::ywrapper::Decimal64Value* attenuation);
  
    // .openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.LineSecondaryOut.State.OpticalPower optical_power = 380161272 [(.yext.schemapath) = "/aps/aps-modules/aps-module/ports/line-secondary-out/state/optical-power"];
    bool has_optical_power() const;
    void clear_optical_power();
    static const int kOpticalPowerFieldNumber = 380161272;
    const ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_LineSecondaryOut_State_OpticalPower& optical_power() const;
    ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_LineSecondaryOut_State_OpticalPower* release_optical_power();
    ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_LineSecondaryOut_State_OpticalPower* mutable_optical_power();
    void set_allocated_optical_power(::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_LineSecondaryOut_State_OpticalPower* optical_power);
  
    // @@protoc_insertion_point(class_scope:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.LineSecondaryOut.State)
   private:
  
    ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
    ::ywrapper::Decimal64Value* target_attenuation_;
    ::ywrapper::Decimal64Value* attenuation_;
    ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_LineSecondaryOut_State_OpticalPower* optical_power_;
    mutable int _cached_size_;
    friend struct ::protobuf_openconfig_2fopenconfig_5ftransport_5fline_5fprotection_2fopenconfig_5ftransport_5fline_5fprotection_2eproto::TableStruct;
    friend void ::protobuf_openconfig_2fopenconfig_5ftransport_5fline_5fprotection_2fopenconfig_5ftransport_5fline_5fprotection_2eproto::InitDefaultsAps_ApsModules_ApsModule_Ports_LineSecondaryOut_StateImpl();
  };
  // -------------------------------------------------------------------
  
  class Aps_ApsModules_ApsModule_Ports_LineSecondaryOut : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.LineSecondaryOut) */ {
   public:
    Aps_ApsModules_ApsModule_Ports_LineSecondaryOut();
    virtual ~Aps_ApsModules_ApsModule_Ports_LineSecondaryOut();
  
    Aps_ApsModules_ApsModule_Ports_LineSecondaryOut(const Aps_ApsModules_ApsModule_Ports_LineSecondaryOut& from);
  
    inline Aps_ApsModules_ApsModule_Ports_LineSecondaryOut& operator=(const Aps_ApsModules_ApsModule_Ports_LineSecondaryOut& from) {
      CopyFrom(from);
      return *this;
    }
    #if LANG_CXX11
    Aps_ApsModules_ApsModule_Ports_LineSecondaryOut(Aps_ApsModules_ApsModule_Ports_LineSecondaryOut&& from) noexcept
      : Aps_ApsModules_ApsModule_Ports_LineSecondaryOut() {
      *this = ::std::move(from);
    }
  
    inline Aps_ApsModules_ApsModule_Ports_LineSecondaryOut& operator=(Aps_ApsModules_ApsModule_Ports_LineSecondaryOut&& from) noexcept {
      if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
        if (this != &from) InternalSwap(&from);
      } else {
        CopyFrom(from);
      }
      return *this;
    }
    #endif
    static const ::google::protobuf::Descriptor* descriptor();
    static const Aps_ApsModules_ApsModule_Ports_LineSecondaryOut& default_instance();
  
    static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
    static inline const Aps_ApsModules_ApsModule_Ports_LineSecondaryOut* internal_default_instance() {
      return reinterpret_cast<const Aps_ApsModules_ApsModule_Ports_LineSecondaryOut*>(
                 &_Aps_ApsModules_ApsModule_Ports_LineSecondaryOut_default_instance_);
    }
    static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
      24;
  
    void Swap(Aps_ApsModules_ApsModule_Ports_LineSecondaryOut* other);
    friend void swap(Aps_ApsModules_ApsModule_Ports_LineSecondaryOut& a, Aps_ApsModules_ApsModule_Ports_LineSecondaryOut& b) {
      a.Swap(&b);
    }
  
    // implements Message ----------------------------------------------
  
    inline Aps_ApsModules_ApsModule_Ports_LineSecondaryOut* New() const PROTOBUF_FINAL { return New(NULL); }
  
    Aps_ApsModules_ApsModule_Ports_LineSecondaryOut* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
    void CopyFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void MergeFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void CopyFrom(const Aps_ApsModules_ApsModule_Ports_LineSecondaryOut& from);
    void MergeFrom(const Aps_ApsModules_ApsModule_Ports_LineSecondaryOut& from);
    void Clear() PROTOBUF_FINAL;
    bool IsInitialized() const PROTOBUF_FINAL;
  
    size_t ByteSizeLong() const PROTOBUF_FINAL;
    bool MergePartialFromCodedStream(
        ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
    void SerializeWithCachedSizes(
        ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
    ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
        bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL;
    int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
    private:
    void SharedCtor();
    void SharedDtor();
    void SetCachedSize(int size) const PROTOBUF_FINAL;
    void InternalSwap(Aps_ApsModules_ApsModule_Ports_LineSecondaryOut* other);
    private:
    inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
      return NULL;
    }
    inline void* MaybeArenaPtr() const {
      return NULL;
    }
    public:
  
    ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL;
  
    // nested types ----------------------------------------------------
  
    typedef Aps_ApsModules_ApsModule_Ports_LineSecondaryOut_Config Config;
    typedef Aps_ApsModules_ApsModule_Ports_LineSecondaryOut_State State;
  
    // accessors -------------------------------------------------------
  
    // .openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.LineSecondaryOut.State state = 519699153 [(.yext.schemapath) = "/aps/aps-modules/aps-module/ports/line-secondary-out/state"];
    bool has_state() const;
    void clear_state();
    static const int kStateFieldNumber = 519699153;
    const ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_LineSecondaryOut_State& state() const;
    ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_LineSecondaryOut_State* release_state();
    ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_LineSecondaryOut_State* mutable_state();
    void set_allocated_state(::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_LineSecondaryOut_State* state);
  
    // .openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.LineSecondaryOut.Config config = 536483512 [(.yext.schemapath) = "/aps/aps-modules/aps-module/ports/line-secondary-out/config"];
    bool has_config() const;
    void clear_config();
    static const int kConfigFieldNumber = 536483512;
    const ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_LineSecondaryOut_Config& config() const;
    ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_LineSecondaryOut_Config* release_config();
    ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_LineSecondaryOut_Config* mutable_config();
    void set_allocated_config(::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_LineSecondaryOut_Config* config);
  
    // @@protoc_insertion_point(class_scope:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.LineSecondaryOut)
   private:
  
    ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
    ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_LineSecondaryOut_State* state_;
    ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_LineSecondaryOut_Config* config_;
    mutable int _cached_size_;
    friend struct ::protobuf_openconfig_2fopenconfig_5ftransport_5fline_5fprotection_2fopenconfig_5ftransport_5fline_5fprotection_2eproto::TableStruct;
    friend void ::protobuf_openconfig_2fopenconfig_5ftransport_5fline_5fprotection_2fopenconfig_5ftransport_5fline_5fprotection_2eproto::InitDefaultsAps_ApsModules_ApsModule_Ports_LineSecondaryOutImpl();
  };
  // -------------------------------------------------------------------
  
  class Aps_ApsModules_ApsModule_Ports : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports) */ {
   public:
    Aps_ApsModules_ApsModule_Ports();
    virtual ~Aps_ApsModules_ApsModule_Ports();
  
    Aps_ApsModules_ApsModule_Ports(const Aps_ApsModules_ApsModule_Ports& from);
  
    inline Aps_ApsModules_ApsModule_Ports& operator=(const Aps_ApsModules_ApsModule_Ports& from) {
      CopyFrom(from);
      return *this;
    }
    #if LANG_CXX11
    Aps_ApsModules_ApsModule_Ports(Aps_ApsModules_ApsModule_Ports&& from) noexcept
      : Aps_ApsModules_ApsModule_Ports() {
      *this = ::std::move(from);
    }
  
    inline Aps_ApsModules_ApsModule_Ports& operator=(Aps_ApsModules_ApsModule_Ports&& from) noexcept {
      if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
        if (this != &from) InternalSwap(&from);
      } else {
        CopyFrom(from);
      }
      return *this;
    }
    #endif
    static const ::google::protobuf::Descriptor* descriptor();
    static const Aps_ApsModules_ApsModule_Ports& default_instance();
  
    static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
    static inline const Aps_ApsModules_ApsModule_Ports* internal_default_instance() {
      return reinterpret_cast<const Aps_ApsModules_ApsModule_Ports*>(
                 &_Aps_ApsModules_ApsModule_Ports_default_instance_);
    }
    static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
      25;
  
    void Swap(Aps_ApsModules_ApsModule_Ports* other);
    friend void swap(Aps_ApsModules_ApsModule_Ports& a, Aps_ApsModules_ApsModule_Ports& b) {
      a.Swap(&b);
    }
  
    // implements Message ----------------------------------------------
  
    inline Aps_ApsModules_ApsModule_Ports* New() const PROTOBUF_FINAL { return New(NULL); }
  
    Aps_ApsModules_ApsModule_Ports* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
    void CopyFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void MergeFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void CopyFrom(const Aps_ApsModules_ApsModule_Ports& from);
    void MergeFrom(const Aps_ApsModules_ApsModule_Ports& from);
    void Clear() PROTOBUF_FINAL;
    bool IsInitialized() const PROTOBUF_FINAL;
  
    size_t ByteSizeLong() const PROTOBUF_FINAL;
    bool MergePartialFromCodedStream(
        ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
    void SerializeWithCachedSizes(
        ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
    ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
        bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL;
    int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
    private:
    void SharedCtor();
    void SharedDtor();
    void SetCachedSize(int size) const PROTOBUF_FINAL;
    void InternalSwap(Aps_ApsModules_ApsModule_Ports* other);
    private:
    inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
      return NULL;
    }
    inline void* MaybeArenaPtr() const {
      return NULL;
    }
    public:
  
    ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL;
  
    // nested types ----------------------------------------------------
  
    typedef Aps_ApsModules_ApsModule_Ports_CommonIn CommonIn;
    typedef Aps_ApsModules_ApsModule_Ports_CommonOutput CommonOutput;
    typedef Aps_ApsModules_ApsModule_Ports_LinePrimaryIn LinePrimaryIn;
    typedef Aps_ApsModules_ApsModule_Ports_LinePrimaryOut LinePrimaryOut;
    typedef Aps_ApsModules_ApsModule_Ports_LineSecondaryIn LineSecondaryIn;
    typedef Aps_ApsModules_ApsModule_Ports_LineSecondaryOut LineSecondaryOut;
  
    // accessors -------------------------------------------------------
  
    // .openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.LineSecondaryOut line_secondary_out = 9761959 [(.yext.schemapath) = "/aps/aps-modules/aps-module/ports/line-secondary-out"];
    bool has_line_secondary_out() const;
    void clear_line_secondary_out();
    static const int kLineSecondaryOutFieldNumber = 9761959;
    const ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_LineSecondaryOut& line_secondary_out() const;
    ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_LineSecondaryOut* release_line_secondary_out();
    ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_LineSecondaryOut* mutable_line_secondary_out();
    void set_allocated_line_secondary_out(::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_LineSecondaryOut* line_secondary_out);
  
    // .openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.CommonOutput common_output = 98424310 [(.yext.schemapath) = "/aps/aps-modules/aps-module/ports/common-output"];
    bool has_common_output() const;
    void clear_common_output();
    static const int kCommonOutputFieldNumber = 98424310;
    const ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_CommonOutput& common_output() const;
    ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_CommonOutput* release_common_output();
    ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_CommonOutput* mutable_common_output();
    void set_allocated_common_output(::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_CommonOutput* common_output);
  
    // .openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.LinePrimaryIn line_primary_in = 134912760 [(.yext.schemapath) = "/aps/aps-modules/aps-module/ports/line-primary-in"];
    bool has_line_primary_in() const;
    void clear_line_primary_in();
    static const int kLinePrimaryInFieldNumber = 134912760;
    const ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_LinePrimaryIn& line_primary_in() const;
    ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_LinePrimaryIn* release_line_primary_in();
    ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_LinePrimaryIn* mutable_line_primary_in();
    void set_allocated_line_primary_in(::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_LinePrimaryIn* line_primary_in);
  
    // .openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.LineSecondaryIn line_secondary_in = 147604704 [(.yext.schemapath) = "/aps/aps-modules/aps-module/ports/line-secondary-in"];
    bool has_line_secondary_in() const;
    void clear_line_secondary_in();
    static const int kLineSecondaryInFieldNumber = 147604704;
    const ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_LineSecondaryIn& line_secondary_in() const;
    ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_LineSecondaryIn* release_line_secondary_in();
    ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_LineSecondaryIn* mutable_line_secondary_in();
    void set_allocated_line_secondary_in(::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_LineSecondaryIn* line_secondary_in);
  
    // .openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.LinePrimaryOut line_primary_out = 397828895 [(.yext.schemapath) = "/aps/aps-modules/aps-module/ports/line-primary-out"];
    bool has_line_primary_out() const;
    void clear_line_primary_out();
    static const int kLinePrimaryOutFieldNumber = 397828895;
    const ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_LinePrimaryOut& line_primary_out() const;
    ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_LinePrimaryOut* release_line_primary_out();
    ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_LinePrimaryOut* mutable_line_primary_out();
    void set_allocated_line_primary_out(::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_LinePrimaryOut* line_primary_out);
  
    // .openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.CommonIn common_in = 429753852 [(.yext.schemapath) = "/aps/aps-modules/aps-module/ports/common-in"];
    bool has_common_in() const;
    void clear_common_in();
    static const int kCommonInFieldNumber = 429753852;
    const ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_CommonIn& common_in() const;
    ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_CommonIn* release_common_in();
    ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_CommonIn* mutable_common_in();
    void set_allocated_common_in(::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_CommonIn* common_in);
  
    // @@protoc_insertion_point(class_scope:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports)
   private:
  
    ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
    ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_LineSecondaryOut* line_secondary_out_;
    ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_CommonOutput* common_output_;
    ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_LinePrimaryIn* line_primary_in_;
    ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_LineSecondaryIn* line_secondary_in_;
    ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_LinePrimaryOut* line_primary_out_;
    ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_CommonIn* common_in_;
    mutable int _cached_size_;
    friend struct ::protobuf_openconfig_2fopenconfig_5ftransport_5fline_5fprotection_2fopenconfig_5ftransport_5fline_5fprotection_2eproto::TableStruct;
    friend void ::protobuf_openconfig_2fopenconfig_5ftransport_5fline_5fprotection_2fopenconfig_5ftransport_5fline_5fprotection_2eproto::InitDefaultsAps_ApsModules_ApsModule_PortsImpl();
  };
  // -------------------------------------------------------------------
  
  class Aps_ApsModules_ApsModule_State : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.State) */ {
   public:
    Aps_ApsModules_ApsModule_State();
    virtual ~Aps_ApsModules_ApsModule_State();
  
    Aps_ApsModules_ApsModule_State(const Aps_ApsModules_ApsModule_State& from);
  
    inline Aps_ApsModules_ApsModule_State& operator=(const Aps_ApsModules_ApsModule_State& from) {
      CopyFrom(from);
      return *this;
    }
    #if LANG_CXX11
    Aps_ApsModules_ApsModule_State(Aps_ApsModules_ApsModule_State&& from) noexcept
      : Aps_ApsModules_ApsModule_State() {
      *this = ::std::move(from);
    }
  
    inline Aps_ApsModules_ApsModule_State& operator=(Aps_ApsModules_ApsModule_State&& from) noexcept {
      if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
        if (this != &from) InternalSwap(&from);
      } else {
        CopyFrom(from);
      }
      return *this;
    }
    #endif
    static const ::google::protobuf::Descriptor* descriptor();
    static const Aps_ApsModules_ApsModule_State& default_instance();
  
    static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
    static inline const Aps_ApsModules_ApsModule_State* internal_default_instance() {
      return reinterpret_cast<const Aps_ApsModules_ApsModule_State*>(
                 &_Aps_ApsModules_ApsModule_State_default_instance_);
    }
    static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
      26;
  
    void Swap(Aps_ApsModules_ApsModule_State* other);
    friend void swap(Aps_ApsModules_ApsModule_State& a, Aps_ApsModules_ApsModule_State& b) {
      a.Swap(&b);
    }
  
    // implements Message ----------------------------------------------
  
    inline Aps_ApsModules_ApsModule_State* New() const PROTOBUF_FINAL { return New(NULL); }
  
    Aps_ApsModules_ApsModule_State* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
    void CopyFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void MergeFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void CopyFrom(const Aps_ApsModules_ApsModule_State& from);
    void MergeFrom(const Aps_ApsModules_ApsModule_State& from);
    void Clear() PROTOBUF_FINAL;
    bool IsInitialized() const PROTOBUF_FINAL;
  
    size_t ByteSizeLong() const PROTOBUF_FINAL;
    bool MergePartialFromCodedStream(
        ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
    void SerializeWithCachedSizes(
        ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
    ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
        bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL;
    int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
    private:
    void SharedCtor();
    void SharedDtor();
    void SetCachedSize(int size) const PROTOBUF_FINAL;
    void InternalSwap(Aps_ApsModules_ApsModule_State* other);
    private:
    inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
      return NULL;
    }
    inline void* MaybeArenaPtr() const {
      return NULL;
    }
    public:
  
    ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL;
  
    // nested types ----------------------------------------------------
  
    // accessors -------------------------------------------------------
  
    // .ywrapper.StringValue name = 38638291 [(.yext.schemapath) = "/aps/aps-modules/aps-module/state/name"];
    bool has_name() const;
    void clear_name();
    static const int kNameFieldNumber = 38638291;
    const ::ywrapper::StringValue& name() const;
    ::ywrapper::StringValue* release_name();
    ::ywrapper::StringValue* mutable_name();
    void set_allocated_name(::ywrapper::StringValue* name);
  
    // .ywrapper.Decimal64Value secondary_switch_threshold = 83618599 [(.yext.schemapath) = "/aps/aps-modules/aps-module/state/secondary-switch-threshold"];
    bool has_secondary_switch_threshold() const;
    void clear_secondary_switch_threshold();
    static const int kSecondarySwitchThresholdFieldNumber = 83618599;
    const ::ywrapper::Decimal64Value& secondary_switch_threshold() const;
    ::ywrapper::Decimal64Value* release_secondary_switch_threshold();
    ::ywrapper::Decimal64Value* mutable_secondary_switch_threshold();
    void set_allocated_secondary_switch_threshold(::ywrapper::Decimal64Value* secondary_switch_threshold);
  
    // .ywrapper.Decimal64Value primary_switch_threshold = 186132079 [(.yext.schemapath) = "/aps/aps-modules/aps-module/state/primary-switch-threshold"];
    bool has_primary_switch_threshold() const;
    void clear_primary_switch_threshold();
    static const int kPrimarySwitchThresholdFieldNumber = 186132079;
    const ::ywrapper::Decimal64Value& primary_switch_threshold() const;
    ::ywrapper::Decimal64Value* release_primary_switch_threshold();
    ::ywrapper::Decimal64Value* mutable_primary_switch_threshold();
    void set_allocated_primary_switch_threshold(::ywrapper::Decimal64Value* primary_switch_threshold);
  
    // .ywrapper.Decimal64Value primary_switch_hysteresis = 188003603 [(.yext.schemapath) = "/aps/aps-modules/aps-module/state/primary-switch-hysteresis"];
    bool has_primary_switch_hysteresis() const;
    void clear_primary_switch_hysteresis();
    static const int kPrimarySwitchHysteresisFieldNumber = 188003603;
    const ::ywrapper::Decimal64Value& primary_switch_hysteresis() const;
    ::ywrapper::Decimal64Value* release_primary_switch_hysteresis();
    ::ywrapper::Decimal64Value* mutable_primary_switch_hysteresis();
    void set_allocated_primary_switch_hysteresis(::ywrapper::Decimal64Value* primary_switch_hysteresis);
  
    // .ywrapper.BoolValue revertive = 346433622 [(.yext.schemapath) = "/aps/aps-modules/aps-module/state/revertive"];
    bool has_revertive() const;
    void clear_revertive();
    static const int kRevertiveFieldNumber = 346433622;
    const ::ywrapper::BoolValue& revertive() const;
    ::ywrapper::BoolValue* release_revertive();
    ::ywrapper::BoolValue* mutable_revertive();
    void set_allocated_revertive(::ywrapper::BoolValue* revertive);
  
    // .ywrapper.Decimal64Value secondary_switch_hysteresis = 523996555 [(.yext.schemapath) = "/aps/aps-modules/aps-module/state/secondary-switch-hysteresis"];
    bool has_secondary_switch_hysteresis() const;
    void clear_secondary_switch_hysteresis();
    static const int kSecondarySwitchHysteresisFieldNumber = 523996555;
    const ::ywrapper::Decimal64Value& secondary_switch_hysteresis() const;
    ::ywrapper::Decimal64Value* release_secondary_switch_hysteresis();
    ::ywrapper::Decimal64Value* mutable_secondary_switch_hysteresis();
    void set_allocated_secondary_switch_hysteresis(::ywrapper::Decimal64Value* secondary_switch_hysteresis);
  
    // .openconfig.enums.OpenconfigTransportLineProtectionAPSPATHS active_path = 34397044 [(.yext.schemapath) = "/aps/aps-modules/aps-module/state/active-path"];
    void clear_active_path();
    static const int kActivePathFieldNumber = 34397044;
    ::openconfig::enums::OpenconfigTransportLineProtectionAPSPATHS active_path() const;
    void set_active_path(::openconfig::enums::OpenconfigTransportLineProtectionAPSPATHS value);
  
    // @@protoc_insertion_point(class_scope:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.State)
   private:
  
    ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
    ::ywrapper::StringValue* name_;
    ::ywrapper::Decimal64Value* secondary_switch_threshold_;
    ::ywrapper::Decimal64Value* primary_switch_threshold_;
    ::ywrapper::Decimal64Value* primary_switch_hysteresis_;
    ::ywrapper::BoolValue* revertive_;
    ::ywrapper::Decimal64Value* secondary_switch_hysteresis_;
    int active_path_;
    mutable int _cached_size_;
    friend struct ::protobuf_openconfig_2fopenconfig_5ftransport_5fline_5fprotection_2fopenconfig_5ftransport_5fline_5fprotection_2eproto::TableStruct;
    friend void ::protobuf_openconfig_2fopenconfig_5ftransport_5fline_5fprotection_2fopenconfig_5ftransport_5fline_5fprotection_2eproto::InitDefaultsAps_ApsModules_ApsModule_StateImpl();
  };
  // -------------------------------------------------------------------
  
  class Aps_ApsModules_ApsModule : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule) */ {
   public:
    Aps_ApsModules_ApsModule();
    virtual ~Aps_ApsModules_ApsModule();
  
    Aps_ApsModules_ApsModule(const Aps_ApsModules_ApsModule& from);
  
    inline Aps_ApsModules_ApsModule& operator=(const Aps_ApsModules_ApsModule& from) {
      CopyFrom(from);
      return *this;
    }
    #if LANG_CXX11
    Aps_ApsModules_ApsModule(Aps_ApsModules_ApsModule&& from) noexcept
      : Aps_ApsModules_ApsModule() {
      *this = ::std::move(from);
    }
  
    inline Aps_ApsModules_ApsModule& operator=(Aps_ApsModules_ApsModule&& from) noexcept {
      if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
        if (this != &from) InternalSwap(&from);
      } else {
        CopyFrom(from);
      }
      return *this;
    }
    #endif
    static const ::google::protobuf::Descriptor* descriptor();
    static const Aps_ApsModules_ApsModule& default_instance();
  
    static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
    static inline const Aps_ApsModules_ApsModule* internal_default_instance() {
      return reinterpret_cast<const Aps_ApsModules_ApsModule*>(
                 &_Aps_ApsModules_ApsModule_default_instance_);
    }
    static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
      27;
  
    void Swap(Aps_ApsModules_ApsModule* other);
    friend void swap(Aps_ApsModules_ApsModule& a, Aps_ApsModules_ApsModule& b) {
      a.Swap(&b);
    }
  
    // implements Message ----------------------------------------------
  
    inline Aps_ApsModules_ApsModule* New() const PROTOBUF_FINAL { return New(NULL); }
  
    Aps_ApsModules_ApsModule* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
    void CopyFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void MergeFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void CopyFrom(const Aps_ApsModules_ApsModule& from);
    void MergeFrom(const Aps_ApsModules_ApsModule& from);
    void Clear() PROTOBUF_FINAL;
    bool IsInitialized() const PROTOBUF_FINAL;
  
    size_t ByteSizeLong() const PROTOBUF_FINAL;
    bool MergePartialFromCodedStream(
        ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
    void SerializeWithCachedSizes(
        ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
    ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
        bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL;
    int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
    private:
    void SharedCtor();
    void SharedDtor();
    void SetCachedSize(int size) const PROTOBUF_FINAL;
    void InternalSwap(Aps_ApsModules_ApsModule* other);
    private:
    inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
      return NULL;
    }
    inline void* MaybeArenaPtr() const {
      return NULL;
    }
    public:
  
    ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL;
  
    // nested types ----------------------------------------------------
  
    typedef Aps_ApsModules_ApsModule_Config Config;
    typedef Aps_ApsModules_ApsModule_Ports Ports;
    typedef Aps_ApsModules_ApsModule_State State;
  
    // accessors -------------------------------------------------------
  
    // .openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Config config = 32573590 [(.yext.schemapath) = "/aps/aps-modules/aps-module/config"];
    bool has_config() const;
    void clear_config();
    static const int kConfigFieldNumber = 32573590;
    const ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Config& config() const;
    ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Config* release_config();
    ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Config* mutable_config();
    void set_allocated_config(::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Config* config);
  
    // .openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.State state = 64729923 [(.yext.schemapath) = "/aps/aps-modules/aps-module/state"];
    bool has_state() const;
    void clear_state();
    static const int kStateFieldNumber = 64729923;
    const ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_State& state() const;
    ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_State* release_state();
    ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_State* mutable_state();
    void set_allocated_state(::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_State* state);
  
    // .openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports ports = 338390684 [(.yext.schemapath) = "/aps/aps-modules/aps-module/ports"];
    bool has_ports() const;
    void clear_ports();
    static const int kPortsFieldNumber = 338390684;
    const ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports& ports() const;
    ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports* release_ports();
    ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports* mutable_ports();
    void set_allocated_ports(::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports* ports);
  
    // @@protoc_insertion_point(class_scope:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule)
   private:
  
    ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
    ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Config* config_;
    ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_State* state_;
    ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports* ports_;
    mutable int _cached_size_;
    friend struct ::protobuf_openconfig_2fopenconfig_5ftransport_5fline_5fprotection_2fopenconfig_5ftransport_5fline_5fprotection_2eproto::TableStruct;
    friend void ::protobuf_openconfig_2fopenconfig_5ftransport_5fline_5fprotection_2fopenconfig_5ftransport_5fline_5fprotection_2eproto::InitDefaultsAps_ApsModules_ApsModuleImpl();
  };
  // -------------------------------------------------------------------
  
  class Aps_ApsModules_ApsModuleKey : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModuleKey) */ {
   public:
    Aps_ApsModules_ApsModuleKey();
    virtual ~Aps_ApsModules_ApsModuleKey();
  
    Aps_ApsModules_ApsModuleKey(const Aps_ApsModules_ApsModuleKey& from);
  
    inline Aps_ApsModules_ApsModuleKey& operator=(const Aps_ApsModules_ApsModuleKey& from) {
      CopyFrom(from);
      return *this;
    }
    #if LANG_CXX11
    Aps_ApsModules_ApsModuleKey(Aps_ApsModules_ApsModuleKey&& from) noexcept
      : Aps_ApsModules_ApsModuleKey() {
      *this = ::std::move(from);
    }
  
    inline Aps_ApsModules_ApsModuleKey& operator=(Aps_ApsModules_ApsModuleKey&& from) noexcept {
      if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
        if (this != &from) InternalSwap(&from);
      } else {
        CopyFrom(from);
      }
      return *this;
    }
    #endif
    static const ::google::protobuf::Descriptor* descriptor();
    static const Aps_ApsModules_ApsModuleKey& default_instance();
  
    static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
    static inline const Aps_ApsModules_ApsModuleKey* internal_default_instance() {
      return reinterpret_cast<const Aps_ApsModules_ApsModuleKey*>(
                 &_Aps_ApsModules_ApsModuleKey_default_instance_);
    }
    static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
      28;
  
    void Swap(Aps_ApsModules_ApsModuleKey* other);
    friend void swap(Aps_ApsModules_ApsModuleKey& a, Aps_ApsModules_ApsModuleKey& b) {
      a.Swap(&b);
    }
  
    // implements Message ----------------------------------------------
  
    inline Aps_ApsModules_ApsModuleKey* New() const PROTOBUF_FINAL { return New(NULL); }
  
    Aps_ApsModules_ApsModuleKey* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
    void CopyFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void MergeFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void CopyFrom(const Aps_ApsModules_ApsModuleKey& from);
    void MergeFrom(const Aps_ApsModules_ApsModuleKey& from);
    void Clear() PROTOBUF_FINAL;
    bool IsInitialized() const PROTOBUF_FINAL;
  
    size_t ByteSizeLong() const PROTOBUF_FINAL;
    bool MergePartialFromCodedStream(
        ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
    void SerializeWithCachedSizes(
        ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
    ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
        bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL;
    int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
    private:
    void SharedCtor();
    void SharedDtor();
    void SetCachedSize(int size) const PROTOBUF_FINAL;
    void InternalSwap(Aps_ApsModules_ApsModuleKey* other);
    private:
    inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
      return NULL;
    }
    inline void* MaybeArenaPtr() const {
      return NULL;
    }
    public:
  
    ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL;
  
    // nested types ----------------------------------------------------
  
    // accessors -------------------------------------------------------
  
    // string name = 1 [(.yext.schemapath) = "/aps/aps-modules/aps-module/name"];
    void clear_name();
    static const int kNameFieldNumber = 1;
    const ::std::string& name() const;
    void set_name(const ::std::string& value);
    #if LANG_CXX11
    void set_name(::std::string&& value);
    #endif
    void set_name(const char* value);
    void set_name(const char* value, size_t size);
    ::std::string* mutable_name();
    ::std::string* release_name();
    void set_allocated_name(::std::string* name);
  
    // .openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule aps_module = 2;
    bool has_aps_module() const;
    void clear_aps_module();
    static const int kApsModuleFieldNumber = 2;
    const ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule& aps_module() const;
    ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule* release_aps_module();
    ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule* mutable_aps_module();
    void set_allocated_aps_module(::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule* aps_module);
  
    // @@protoc_insertion_point(class_scope:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModuleKey)
   private:
  
    ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
    ::google::protobuf::internal::ArenaStringPtr name_;
    ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule* aps_module_;
    mutable int _cached_size_;
    friend struct ::protobuf_openconfig_2fopenconfig_5ftransport_5fline_5fprotection_2fopenconfig_5ftransport_5fline_5fprotection_2eproto::TableStruct;
    friend void ::protobuf_openconfig_2fopenconfig_5ftransport_5fline_5fprotection_2fopenconfig_5ftransport_5fline_5fprotection_2eproto::InitDefaultsAps_ApsModules_ApsModuleKeyImpl();
  };
  // -------------------------------------------------------------------
  
  class Aps_ApsModules : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:openconfig.openconfig_transport_line_protection.Aps.ApsModules) */ {
   public:
    Aps_ApsModules();
    virtual ~Aps_ApsModules();
  
    Aps_ApsModules(const Aps_ApsModules& from);
  
    inline Aps_ApsModules& operator=(const Aps_ApsModules& from) {
      CopyFrom(from);
      return *this;
    }
    #if LANG_CXX11
    Aps_ApsModules(Aps_ApsModules&& from) noexcept
      : Aps_ApsModules() {
      *this = ::std::move(from);
    }
  
    inline Aps_ApsModules& operator=(Aps_ApsModules&& from) noexcept {
      if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
        if (this != &from) InternalSwap(&from);
      } else {
        CopyFrom(from);
      }
      return *this;
    }
    #endif
    static const ::google::protobuf::Descriptor* descriptor();
    static const Aps_ApsModules& default_instance();
  
    static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
    static inline const Aps_ApsModules* internal_default_instance() {
      return reinterpret_cast<const Aps_ApsModules*>(
                 &_Aps_ApsModules_default_instance_);
    }
    static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
      29;
  
    void Swap(Aps_ApsModules* other);
    friend void swap(Aps_ApsModules& a, Aps_ApsModules& b) {
      a.Swap(&b);
    }
  
    // implements Message ----------------------------------------------
  
    inline Aps_ApsModules* New() const PROTOBUF_FINAL { return New(NULL); }
  
    Aps_ApsModules* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
    void CopyFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void MergeFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void CopyFrom(const Aps_ApsModules& from);
    void MergeFrom(const Aps_ApsModules& from);
    void Clear() PROTOBUF_FINAL;
    bool IsInitialized() const PROTOBUF_FINAL;
  
    size_t ByteSizeLong() const PROTOBUF_FINAL;
    bool MergePartialFromCodedStream(
        ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
    void SerializeWithCachedSizes(
        ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
    ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
        bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL;
    int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
    private:
    void SharedCtor();
    void SharedDtor();
    void SetCachedSize(int size) const PROTOBUF_FINAL;
    void InternalSwap(Aps_ApsModules* other);
    private:
    inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
      return NULL;
    }
    inline void* MaybeArenaPtr() const {
      return NULL;
    }
    public:
  
    ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL;
  
    // nested types ----------------------------------------------------
  
    typedef Aps_ApsModules_ApsModule ApsModule;
    typedef Aps_ApsModules_ApsModuleKey ApsModuleKey;
  
    // accessors -------------------------------------------------------
  
    // repeated .openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModuleKey aps_module = 242083953 [(.yext.schemapath) = "/aps/aps-modules/aps-module"];
    int aps_module_size() const;
    void clear_aps_module();
    static const int kApsModuleFieldNumber = 242083953;
    const ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModuleKey& aps_module(int index) const;
    ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModuleKey* mutable_aps_module(int index);
    ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModuleKey* add_aps_module();
    ::google::protobuf::RepeatedPtrField< ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModuleKey >*
        mutable_aps_module();
    const ::google::protobuf::RepeatedPtrField< ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModuleKey >&
        aps_module() const;
  
    // @@protoc_insertion_point(class_scope:openconfig.openconfig_transport_line_protection.Aps.ApsModules)
   private:
  
    ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
    ::google::protobuf::RepeatedPtrField< ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModuleKey > aps_module_;
    mutable int _cached_size_;
    friend struct ::protobuf_openconfig_2fopenconfig_5ftransport_5fline_5fprotection_2fopenconfig_5ftransport_5fline_5fprotection_2eproto::TableStruct;
    friend void ::protobuf_openconfig_2fopenconfig_5ftransport_5fline_5fprotection_2fopenconfig_5ftransport_5fline_5fprotection_2eproto::InitDefaultsAps_ApsModulesImpl();
  };
  // -------------------------------------------------------------------
  
  class Aps : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:openconfig.openconfig_transport_line_protection.Aps) */ {
   public:
    Aps();
    virtual ~Aps();
  
    Aps(const Aps& from);
  
    inline Aps& operator=(const Aps& from) {
      CopyFrom(from);
      return *this;
    }
    #if LANG_CXX11
    Aps(Aps&& from) noexcept
      : Aps() {
      *this = ::std::move(from);
    }
  
    inline Aps& operator=(Aps&& from) noexcept {
      if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
        if (this != &from) InternalSwap(&from);
      } else {
        CopyFrom(from);
      }
      return *this;
    }
    #endif
    static const ::google::protobuf::Descriptor* descriptor();
    static const Aps& default_instance();
  
    static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
    static inline const Aps* internal_default_instance() {
      return reinterpret_cast<const Aps*>(
                 &_Aps_default_instance_);
    }
    static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
      30;
  
    void Swap(Aps* other);
    friend void swap(Aps& a, Aps& b) {
      a.Swap(&b);
    }
  
    // implements Message ----------------------------------------------
  
    inline Aps* New() const PROTOBUF_FINAL { return New(NULL); }
  
    Aps* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
    void CopyFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void MergeFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void CopyFrom(const Aps& from);
    void MergeFrom(const Aps& from);
    void Clear() PROTOBUF_FINAL;
    bool IsInitialized() const PROTOBUF_FINAL;
  
    size_t ByteSizeLong() const PROTOBUF_FINAL;
    bool MergePartialFromCodedStream(
        ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
    void SerializeWithCachedSizes(
        ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
    ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
        bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL;
    int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
    private:
    void SharedCtor();
    void SharedDtor();
    void SetCachedSize(int size) const PROTOBUF_FINAL;
    void InternalSwap(Aps* other);
    private:
    inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
      return NULL;
    }
    inline void* MaybeArenaPtr() const {
      return NULL;
    }
    public:
  
    ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL;
  
    // nested types ----------------------------------------------------
  
    typedef Aps_ApsModules ApsModules;
  
    // accessors -------------------------------------------------------
  
    // .openconfig.openconfig_transport_line_protection.Aps.ApsModules aps_modules = 404435115 [(.yext.schemapath) = "/aps/aps-modules"];
    bool has_aps_modules() const;
    void clear_aps_modules();
    static const int kApsModulesFieldNumber = 404435115;
    const ::openconfig::openconfig_transport_line_protection::Aps_ApsModules& aps_modules() const;
    ::openconfig::openconfig_transport_line_protection::Aps_ApsModules* release_aps_modules();
    ::openconfig::openconfig_transport_line_protection::Aps_ApsModules* mutable_aps_modules();
    void set_allocated_aps_modules(::openconfig::openconfig_transport_line_protection::Aps_ApsModules* aps_modules);
  
    // @@protoc_insertion_point(class_scope:openconfig.openconfig_transport_line_protection.Aps)
   private:
  
    ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
    ::openconfig::openconfig_transport_line_protection::Aps_ApsModules* aps_modules_;
    mutable int _cached_size_;
    friend struct ::protobuf_openconfig_2fopenconfig_5ftransport_5fline_5fprotection_2fopenconfig_5ftransport_5fline_5fprotection_2eproto::TableStruct;
    friend void ::protobuf_openconfig_2fopenconfig_5ftransport_5fline_5fprotection_2fopenconfig_5ftransport_5fline_5fprotection_2eproto::InitDefaultsApsImpl();
  };
  // ===================================================================
  
  
  // ===================================================================
  
  #ifdef __GNUC__
    #pragma GCC diagnostic push
    #pragma GCC diagnostic ignored "-Wstrict-aliasing"
  #endif  // __GNUC__
  // Aps_ApsModules_ApsModule_Config
  
  // .ywrapper.StringValue name = 338433916 [(.yext.schemapath) = "/aps/aps-modules/aps-module/config/name"];
  inline bool Aps_ApsModules_ApsModule_Config::has_name() const {
    return this != internal_default_instance() && name_ != NULL;
  }
  inline const ::ywrapper::StringValue& Aps_ApsModules_ApsModule_Config::name() const {
    const ::ywrapper::StringValue* p = name_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Config.name)
    return p != NULL ? *p : *reinterpret_cast<const ::ywrapper::StringValue*>(
        &::ywrapper::_StringValue_default_instance_);
  }
  inline ::ywrapper::StringValue* Aps_ApsModules_ApsModule_Config::release_name() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Config.name)
    
    ::ywrapper::StringValue* temp = name_;
    name_ = NULL;
    return temp;
  }
  inline ::ywrapper::StringValue* Aps_ApsModules_ApsModule_Config::mutable_name() {
    
    if (name_ == NULL) {
      name_ = new ::ywrapper::StringValue;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Config.name)
    return name_;
  }
  inline void Aps_ApsModules_ApsModule_Config::set_allocated_name(::ywrapper::StringValue* name) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete reinterpret_cast< ::google::protobuf::MessageLite*>(name_);
    }
    if (name) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        name = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, name, submessage_arena);
      }
      
    } else {
      
    }
    name_ = name;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Config.name)
  }
  
  // .ywrapper.Decimal64Value primary_switch_hysteresis = 108820170 [(.yext.schemapath) = "/aps/aps-modules/aps-module/config/primary-switch-hysteresis"];
  inline bool Aps_ApsModules_ApsModule_Config::has_primary_switch_hysteresis() const {
    return this != internal_default_instance() && primary_switch_hysteresis_ != NULL;
  }
  inline const ::ywrapper::Decimal64Value& Aps_ApsModules_ApsModule_Config::primary_switch_hysteresis() const {
    const ::ywrapper::Decimal64Value* p = primary_switch_hysteresis_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Config.primary_switch_hysteresis)
    return p != NULL ? *p : *reinterpret_cast<const ::ywrapper::Decimal64Value*>(
        &::ywrapper::_Decimal64Value_default_instance_);
  }
  inline ::ywrapper::Decimal64Value* Aps_ApsModules_ApsModule_Config::release_primary_switch_hysteresis() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Config.primary_switch_hysteresis)
    
    ::ywrapper::Decimal64Value* temp = primary_switch_hysteresis_;
    primary_switch_hysteresis_ = NULL;
    return temp;
  }
  inline ::ywrapper::Decimal64Value* Aps_ApsModules_ApsModule_Config::mutable_primary_switch_hysteresis() {
    
    if (primary_switch_hysteresis_ == NULL) {
      primary_switch_hysteresis_ = new ::ywrapper::Decimal64Value;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Config.primary_switch_hysteresis)
    return primary_switch_hysteresis_;
  }
  inline void Aps_ApsModules_ApsModule_Config::set_allocated_primary_switch_hysteresis(::ywrapper::Decimal64Value* primary_switch_hysteresis) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete reinterpret_cast< ::google::protobuf::MessageLite*>(primary_switch_hysteresis_);
    }
    if (primary_switch_hysteresis) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        primary_switch_hysteresis = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, primary_switch_hysteresis, submessage_arena);
      }
      
    } else {
      
    }
    primary_switch_hysteresis_ = primary_switch_hysteresis;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Config.primary_switch_hysteresis)
  }
  
  // .ywrapper.Decimal64Value primary_switch_threshold = 487191516 [(.yext.schemapath) = "/aps/aps-modules/aps-module/config/primary-switch-threshold"];
  inline bool Aps_ApsModules_ApsModule_Config::has_primary_switch_threshold() const {
    return this != internal_default_instance() && primary_switch_threshold_ != NULL;
  }
  inline const ::ywrapper::Decimal64Value& Aps_ApsModules_ApsModule_Config::primary_switch_threshold() const {
    const ::ywrapper::Decimal64Value* p = primary_switch_threshold_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Config.primary_switch_threshold)
    return p != NULL ? *p : *reinterpret_cast<const ::ywrapper::Decimal64Value*>(
        &::ywrapper::_Decimal64Value_default_instance_);
  }
  inline ::ywrapper::Decimal64Value* Aps_ApsModules_ApsModule_Config::release_primary_switch_threshold() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Config.primary_switch_threshold)
    
    ::ywrapper::Decimal64Value* temp = primary_switch_threshold_;
    primary_switch_threshold_ = NULL;
    return temp;
  }
  inline ::ywrapper::Decimal64Value* Aps_ApsModules_ApsModule_Config::mutable_primary_switch_threshold() {
    
    if (primary_switch_threshold_ == NULL) {
      primary_switch_threshold_ = new ::ywrapper::Decimal64Value;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Config.primary_switch_threshold)
    return primary_switch_threshold_;
  }
  inline void Aps_ApsModules_ApsModule_Config::set_allocated_primary_switch_threshold(::ywrapper::Decimal64Value* primary_switch_threshold) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete reinterpret_cast< ::google::protobuf::MessageLite*>(primary_switch_threshold_);
    }
    if (primary_switch_threshold) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        primary_switch_threshold = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, primary_switch_threshold, submessage_arena);
      }
      
    } else {
      
    }
    primary_switch_threshold_ = primary_switch_threshold;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Config.primary_switch_threshold)
  }
  
  // .ywrapper.BoolValue revertive = 430074495 [(.yext.schemapath) = "/aps/aps-modules/aps-module/config/revertive"];
  inline bool Aps_ApsModules_ApsModule_Config::has_revertive() const {
    return this != internal_default_instance() && revertive_ != NULL;
  }
  inline const ::ywrapper::BoolValue& Aps_ApsModules_ApsModule_Config::revertive() const {
    const ::ywrapper::BoolValue* p = revertive_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Config.revertive)
    return p != NULL ? *p : *reinterpret_cast<const ::ywrapper::BoolValue*>(
        &::ywrapper::_BoolValue_default_instance_);
  }
  inline ::ywrapper::BoolValue* Aps_ApsModules_ApsModule_Config::release_revertive() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Config.revertive)
    
    ::ywrapper::BoolValue* temp = revertive_;
    revertive_ = NULL;
    return temp;
  }
  inline ::ywrapper::BoolValue* Aps_ApsModules_ApsModule_Config::mutable_revertive() {
    
    if (revertive_ == NULL) {
      revertive_ = new ::ywrapper::BoolValue;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Config.revertive)
    return revertive_;
  }
  inline void Aps_ApsModules_ApsModule_Config::set_allocated_revertive(::ywrapper::BoolValue* revertive) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete reinterpret_cast< ::google::protobuf::MessageLite*>(revertive_);
    }
    if (revertive) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        revertive = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, revertive, submessage_arena);
      }
      
    } else {
      
    }
    revertive_ = revertive;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Config.revertive)
  }
  
  // .ywrapper.Decimal64Value secondary_switch_hysteresis = 302966854 [(.yext.schemapath) = "/aps/aps-modules/aps-module/config/secondary-switch-hysteresis"];
  inline bool Aps_ApsModules_ApsModule_Config::has_secondary_switch_hysteresis() const {
    return this != internal_default_instance() && secondary_switch_hysteresis_ != NULL;
  }
  inline const ::ywrapper::Decimal64Value& Aps_ApsModules_ApsModule_Config::secondary_switch_hysteresis() const {
    const ::ywrapper::Decimal64Value* p = secondary_switch_hysteresis_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Config.secondary_switch_hysteresis)
    return p != NULL ? *p : *reinterpret_cast<const ::ywrapper::Decimal64Value*>(
        &::ywrapper::_Decimal64Value_default_instance_);
  }
  inline ::ywrapper::Decimal64Value* Aps_ApsModules_ApsModule_Config::release_secondary_switch_hysteresis() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Config.secondary_switch_hysteresis)
    
    ::ywrapper::Decimal64Value* temp = secondary_switch_hysteresis_;
    secondary_switch_hysteresis_ = NULL;
    return temp;
  }
  inline ::ywrapper::Decimal64Value* Aps_ApsModules_ApsModule_Config::mutable_secondary_switch_hysteresis() {
    
    if (secondary_switch_hysteresis_ == NULL) {
      secondary_switch_hysteresis_ = new ::ywrapper::Decimal64Value;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Config.secondary_switch_hysteresis)
    return secondary_switch_hysteresis_;
  }
  inline void Aps_ApsModules_ApsModule_Config::set_allocated_secondary_switch_hysteresis(::ywrapper::Decimal64Value* secondary_switch_hysteresis) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete reinterpret_cast< ::google::protobuf::MessageLite*>(secondary_switch_hysteresis_);
    }
    if (secondary_switch_hysteresis) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        secondary_switch_hysteresis = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, secondary_switch_hysteresis, submessage_arena);
      }
      
    } else {
      
    }
    secondary_switch_hysteresis_ = secondary_switch_hysteresis;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Config.secondary_switch_hysteresis)
  }
  
  // .ywrapper.Decimal64Value secondary_switch_threshold = 359289280 [(.yext.schemapath) = "/aps/aps-modules/aps-module/config/secondary-switch-threshold"];
  inline bool Aps_ApsModules_ApsModule_Config::has_secondary_switch_threshold() const {
    return this != internal_default_instance() && secondary_switch_threshold_ != NULL;
  }
  inline const ::ywrapper::Decimal64Value& Aps_ApsModules_ApsModule_Config::secondary_switch_threshold() const {
    const ::ywrapper::Decimal64Value* p = secondary_switch_threshold_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Config.secondary_switch_threshold)
    return p != NULL ? *p : *reinterpret_cast<const ::ywrapper::Decimal64Value*>(
        &::ywrapper::_Decimal64Value_default_instance_);
  }
  inline ::ywrapper::Decimal64Value* Aps_ApsModules_ApsModule_Config::release_secondary_switch_threshold() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Config.secondary_switch_threshold)
    
    ::ywrapper::Decimal64Value* temp = secondary_switch_threshold_;
    secondary_switch_threshold_ = NULL;
    return temp;
  }
  inline ::ywrapper::Decimal64Value* Aps_ApsModules_ApsModule_Config::mutable_secondary_switch_threshold() {
    
    if (secondary_switch_threshold_ == NULL) {
      secondary_switch_threshold_ = new ::ywrapper::Decimal64Value;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Config.secondary_switch_threshold)
    return secondary_switch_threshold_;
  }
  inline void Aps_ApsModules_ApsModule_Config::set_allocated_secondary_switch_threshold(::ywrapper::Decimal64Value* secondary_switch_threshold) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete reinterpret_cast< ::google::protobuf::MessageLite*>(secondary_switch_threshold_);
    }
    if (secondary_switch_threshold) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        secondary_switch_threshold = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, secondary_switch_threshold, submessage_arena);
      }
      
    } else {
      
    }
    secondary_switch_threshold_ = secondary_switch_threshold;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Config.secondary_switch_threshold)
  }
  
  // -------------------------------------------------------------------
  
  // Aps_ApsModules_ApsModule_Ports_CommonIn_Config
  
  // .ywrapper.BoolValue enabled = 410901767 [(.yext.schemapath) = "/aps/aps-modules/aps-module/ports/common-in/config/enabled"];
  inline bool Aps_ApsModules_ApsModule_Ports_CommonIn_Config::has_enabled() const {
    return this != internal_default_instance() && enabled_ != NULL;
  }
  inline const ::ywrapper::BoolValue& Aps_ApsModules_ApsModule_Ports_CommonIn_Config::enabled() const {
    const ::ywrapper::BoolValue* p = enabled_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.CommonIn.Config.enabled)
    return p != NULL ? *p : *reinterpret_cast<const ::ywrapper::BoolValue*>(
        &::ywrapper::_BoolValue_default_instance_);
  }
  inline ::ywrapper::BoolValue* Aps_ApsModules_ApsModule_Ports_CommonIn_Config::release_enabled() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.CommonIn.Config.enabled)
    
    ::ywrapper::BoolValue* temp = enabled_;
    enabled_ = NULL;
    return temp;
  }
  inline ::ywrapper::BoolValue* Aps_ApsModules_ApsModule_Ports_CommonIn_Config::mutable_enabled() {
    
    if (enabled_ == NULL) {
      enabled_ = new ::ywrapper::BoolValue;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.CommonIn.Config.enabled)
    return enabled_;
  }
  inline void Aps_ApsModules_ApsModule_Ports_CommonIn_Config::set_allocated_enabled(::ywrapper::BoolValue* enabled) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete reinterpret_cast< ::google::protobuf::MessageLite*>(enabled_);
    }
    if (enabled) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        enabled = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, enabled, submessage_arena);
      }
      
    } else {
      
    }
    enabled_ = enabled;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.CommonIn.Config.enabled)
  }
  
  // .ywrapper.Decimal64Value target_attenuation = 127179608 [(.yext.schemapath) = "/aps/aps-modules/aps-module/ports/common-in/config/target-attenuation"];
  inline bool Aps_ApsModules_ApsModule_Ports_CommonIn_Config::has_target_attenuation() const {
    return this != internal_default_instance() && target_attenuation_ != NULL;
  }
  inline const ::ywrapper::Decimal64Value& Aps_ApsModules_ApsModule_Ports_CommonIn_Config::target_attenuation() const {
    const ::ywrapper::Decimal64Value* p = target_attenuation_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.CommonIn.Config.target_attenuation)
    return p != NULL ? *p : *reinterpret_cast<const ::ywrapper::Decimal64Value*>(
        &::ywrapper::_Decimal64Value_default_instance_);
  }
  inline ::ywrapper::Decimal64Value* Aps_ApsModules_ApsModule_Ports_CommonIn_Config::release_target_attenuation() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.CommonIn.Config.target_attenuation)
    
    ::ywrapper::Decimal64Value* temp = target_attenuation_;
    target_attenuation_ = NULL;
    return temp;
  }
  inline ::ywrapper::Decimal64Value* Aps_ApsModules_ApsModule_Ports_CommonIn_Config::mutable_target_attenuation() {
    
    if (target_attenuation_ == NULL) {
      target_attenuation_ = new ::ywrapper::Decimal64Value;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.CommonIn.Config.target_attenuation)
    return target_attenuation_;
  }
  inline void Aps_ApsModules_ApsModule_Ports_CommonIn_Config::set_allocated_target_attenuation(::ywrapper::Decimal64Value* target_attenuation) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete reinterpret_cast< ::google::protobuf::MessageLite*>(target_attenuation_);
    }
    if (target_attenuation) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        target_attenuation = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, target_attenuation, submessage_arena);
      }
      
    } else {
      
    }
    target_attenuation_ = target_attenuation;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.CommonIn.Config.target_attenuation)
  }
  
  // -------------------------------------------------------------------
  
  // Aps_ApsModules_ApsModule_Ports_CommonIn_State_OpticalPower
  
  // .ywrapper.Decimal64Value avg = 59678078 [(.yext.schemapath) = "/aps/aps-modules/aps-module/ports/common-in/state/optical-power/avg"];
  inline bool Aps_ApsModules_ApsModule_Ports_CommonIn_State_OpticalPower::has_avg() const {
    return this != internal_default_instance() && avg_ != NULL;
  }
  inline const ::ywrapper::Decimal64Value& Aps_ApsModules_ApsModule_Ports_CommonIn_State_OpticalPower::avg() const {
    const ::ywrapper::Decimal64Value* p = avg_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.CommonIn.State.OpticalPower.avg)
    return p != NULL ? *p : *reinterpret_cast<const ::ywrapper::Decimal64Value*>(
        &::ywrapper::_Decimal64Value_default_instance_);
  }
  inline ::ywrapper::Decimal64Value* Aps_ApsModules_ApsModule_Ports_CommonIn_State_OpticalPower::release_avg() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.CommonIn.State.OpticalPower.avg)
    
    ::ywrapper::Decimal64Value* temp = avg_;
    avg_ = NULL;
    return temp;
  }
  inline ::ywrapper::Decimal64Value* Aps_ApsModules_ApsModule_Ports_CommonIn_State_OpticalPower::mutable_avg() {
    
    if (avg_ == NULL) {
      avg_ = new ::ywrapper::Decimal64Value;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.CommonIn.State.OpticalPower.avg)
    return avg_;
  }
  inline void Aps_ApsModules_ApsModule_Ports_CommonIn_State_OpticalPower::set_allocated_avg(::ywrapper::Decimal64Value* avg) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete reinterpret_cast< ::google::protobuf::MessageLite*>(avg_);
    }
    if (avg) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        avg = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, avg, submessage_arena);
      }
      
    } else {
      
    }
    avg_ = avg;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.CommonIn.State.OpticalPower.avg)
  }
  
  // .ywrapper.Decimal64Value instant = 37675949 [(.yext.schemapath) = "/aps/aps-modules/aps-module/ports/common-in/state/optical-power/instant"];
  inline bool Aps_ApsModules_ApsModule_Ports_CommonIn_State_OpticalPower::has_instant() const {
    return this != internal_default_instance() && instant_ != NULL;
  }
  inline const ::ywrapper::Decimal64Value& Aps_ApsModules_ApsModule_Ports_CommonIn_State_OpticalPower::instant() const {
    const ::ywrapper::Decimal64Value* p = instant_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.CommonIn.State.OpticalPower.instant)
    return p != NULL ? *p : *reinterpret_cast<const ::ywrapper::Decimal64Value*>(
        &::ywrapper::_Decimal64Value_default_instance_);
  }
  inline ::ywrapper::Decimal64Value* Aps_ApsModules_ApsModule_Ports_CommonIn_State_OpticalPower::release_instant() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.CommonIn.State.OpticalPower.instant)
    
    ::ywrapper::Decimal64Value* temp = instant_;
    instant_ = NULL;
    return temp;
  }
  inline ::ywrapper::Decimal64Value* Aps_ApsModules_ApsModule_Ports_CommonIn_State_OpticalPower::mutable_instant() {
    
    if (instant_ == NULL) {
      instant_ = new ::ywrapper::Decimal64Value;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.CommonIn.State.OpticalPower.instant)
    return instant_;
  }
  inline void Aps_ApsModules_ApsModule_Ports_CommonIn_State_OpticalPower::set_allocated_instant(::ywrapper::Decimal64Value* instant) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete reinterpret_cast< ::google::protobuf::MessageLite*>(instant_);
    }
    if (instant) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        instant = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, instant, submessage_arena);
      }
      
    } else {
      
    }
    instant_ = instant;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.CommonIn.State.OpticalPower.instant)
  }
  
  // .ywrapper.UintValue interval = 479877745 [(.yext.schemapath) = "/aps/aps-modules/aps-module/ports/common-in/state/optical-power/interval"];
  inline bool Aps_ApsModules_ApsModule_Ports_CommonIn_State_OpticalPower::has_interval() const {
    return this != internal_default_instance() && interval_ != NULL;
  }
  inline const ::ywrapper::UintValue& Aps_ApsModules_ApsModule_Ports_CommonIn_State_OpticalPower::interval() const {
    const ::ywrapper::UintValue* p = interval_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.CommonIn.State.OpticalPower.interval)
    return p != NULL ? *p : *reinterpret_cast<const ::ywrapper::UintValue*>(
        &::ywrapper::_UintValue_default_instance_);
  }
  inline ::ywrapper::UintValue* Aps_ApsModules_ApsModule_Ports_CommonIn_State_OpticalPower::release_interval() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.CommonIn.State.OpticalPower.interval)
    
    ::ywrapper::UintValue* temp = interval_;
    interval_ = NULL;
    return temp;
  }
  inline ::ywrapper::UintValue* Aps_ApsModules_ApsModule_Ports_CommonIn_State_OpticalPower::mutable_interval() {
    
    if (interval_ == NULL) {
      interval_ = new ::ywrapper::UintValue;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.CommonIn.State.OpticalPower.interval)
    return interval_;
  }
  inline void Aps_ApsModules_ApsModule_Ports_CommonIn_State_OpticalPower::set_allocated_interval(::ywrapper::UintValue* interval) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete reinterpret_cast< ::google::protobuf::MessageLite*>(interval_);
    }
    if (interval) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        interval = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, interval, submessage_arena);
      }
      
    } else {
      
    }
    interval_ = interval;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.CommonIn.State.OpticalPower.interval)
  }
  
  // .ywrapper.Decimal64Value max = 211355192 [(.yext.schemapath) = "/aps/aps-modules/aps-module/ports/common-in/state/optical-power/max"];
  inline bool Aps_ApsModules_ApsModule_Ports_CommonIn_State_OpticalPower::has_max() const {
    return this != internal_default_instance() && max_ != NULL;
  }
  inline const ::ywrapper::Decimal64Value& Aps_ApsModules_ApsModule_Ports_CommonIn_State_OpticalPower::max() const {
    const ::ywrapper::Decimal64Value* p = max_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.CommonIn.State.OpticalPower.max)
    return p != NULL ? *p : *reinterpret_cast<const ::ywrapper::Decimal64Value*>(
        &::ywrapper::_Decimal64Value_default_instance_);
  }
  inline ::ywrapper::Decimal64Value* Aps_ApsModules_ApsModule_Ports_CommonIn_State_OpticalPower::release_max() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.CommonIn.State.OpticalPower.max)
    
    ::ywrapper::Decimal64Value* temp = max_;
    max_ = NULL;
    return temp;
  }
  inline ::ywrapper::Decimal64Value* Aps_ApsModules_ApsModule_Ports_CommonIn_State_OpticalPower::mutable_max() {
    
    if (max_ == NULL) {
      max_ = new ::ywrapper::Decimal64Value;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.CommonIn.State.OpticalPower.max)
    return max_;
  }
  inline void Aps_ApsModules_ApsModule_Ports_CommonIn_State_OpticalPower::set_allocated_max(::ywrapper::Decimal64Value* max) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete reinterpret_cast< ::google::protobuf::MessageLite*>(max_);
    }
    if (max) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        max = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, max, submessage_arena);
      }
      
    } else {
      
    }
    max_ = max;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.CommonIn.State.OpticalPower.max)
  }
  
  // .ywrapper.Decimal64Value min = 345576118 [(.yext.schemapath) = "/aps/aps-modules/aps-module/ports/common-in/state/optical-power/min"];
  inline bool Aps_ApsModules_ApsModule_Ports_CommonIn_State_OpticalPower::has_min() const {
    return this != internal_default_instance() && min_ != NULL;
  }
  inline const ::ywrapper::Decimal64Value& Aps_ApsModules_ApsModule_Ports_CommonIn_State_OpticalPower::min() const {
    const ::ywrapper::Decimal64Value* p = min_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.CommonIn.State.OpticalPower.min)
    return p != NULL ? *p : *reinterpret_cast<const ::ywrapper::Decimal64Value*>(
        &::ywrapper::_Decimal64Value_default_instance_);
  }
  inline ::ywrapper::Decimal64Value* Aps_ApsModules_ApsModule_Ports_CommonIn_State_OpticalPower::release_min() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.CommonIn.State.OpticalPower.min)
    
    ::ywrapper::Decimal64Value* temp = min_;
    min_ = NULL;
    return temp;
  }
  inline ::ywrapper::Decimal64Value* Aps_ApsModules_ApsModule_Ports_CommonIn_State_OpticalPower::mutable_min() {
    
    if (min_ == NULL) {
      min_ = new ::ywrapper::Decimal64Value;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.CommonIn.State.OpticalPower.min)
    return min_;
  }
  inline void Aps_ApsModules_ApsModule_Ports_CommonIn_State_OpticalPower::set_allocated_min(::ywrapper::Decimal64Value* min) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete reinterpret_cast< ::google::protobuf::MessageLite*>(min_);
    }
    if (min) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        min = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, min, submessage_arena);
      }
      
    } else {
      
    }
    min_ = min;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.CommonIn.State.OpticalPower.min)
  }
  
  // -------------------------------------------------------------------
  
  // Aps_ApsModules_ApsModule_Ports_CommonIn_State
  
  // .ywrapper.Decimal64Value attenuation = 235226099 [(.yext.schemapath) = "/aps/aps-modules/aps-module/ports/common-in/state/attenuation"];
  inline bool Aps_ApsModules_ApsModule_Ports_CommonIn_State::has_attenuation() const {
    return this != internal_default_instance() && attenuation_ != NULL;
  }
  inline const ::ywrapper::Decimal64Value& Aps_ApsModules_ApsModule_Ports_CommonIn_State::attenuation() const {
    const ::ywrapper::Decimal64Value* p = attenuation_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.CommonIn.State.attenuation)
    return p != NULL ? *p : *reinterpret_cast<const ::ywrapper::Decimal64Value*>(
        &::ywrapper::_Decimal64Value_default_instance_);
  }
  inline ::ywrapper::Decimal64Value* Aps_ApsModules_ApsModule_Ports_CommonIn_State::release_attenuation() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.CommonIn.State.attenuation)
    
    ::ywrapper::Decimal64Value* temp = attenuation_;
    attenuation_ = NULL;
    return temp;
  }
  inline ::ywrapper::Decimal64Value* Aps_ApsModules_ApsModule_Ports_CommonIn_State::mutable_attenuation() {
    
    if (attenuation_ == NULL) {
      attenuation_ = new ::ywrapper::Decimal64Value;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.CommonIn.State.attenuation)
    return attenuation_;
  }
  inline void Aps_ApsModules_ApsModule_Ports_CommonIn_State::set_allocated_attenuation(::ywrapper::Decimal64Value* attenuation) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete reinterpret_cast< ::google::protobuf::MessageLite*>(attenuation_);
    }
    if (attenuation) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        attenuation = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, attenuation, submessage_arena);
      }
      
    } else {
      
    }
    attenuation_ = attenuation;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.CommonIn.State.attenuation)
  }
  
  // .ywrapper.BoolValue enabled = 57970612 [(.yext.schemapath) = "/aps/aps-modules/aps-module/ports/common-in/state/enabled"];
  inline bool Aps_ApsModules_ApsModule_Ports_CommonIn_State::has_enabled() const {
    return this != internal_default_instance() && enabled_ != NULL;
  }
  inline const ::ywrapper::BoolValue& Aps_ApsModules_ApsModule_Ports_CommonIn_State::enabled() const {
    const ::ywrapper::BoolValue* p = enabled_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.CommonIn.State.enabled)
    return p != NULL ? *p : *reinterpret_cast<const ::ywrapper::BoolValue*>(
        &::ywrapper::_BoolValue_default_instance_);
  }
  inline ::ywrapper::BoolValue* Aps_ApsModules_ApsModule_Ports_CommonIn_State::release_enabled() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.CommonIn.State.enabled)
    
    ::ywrapper::BoolValue* temp = enabled_;
    enabled_ = NULL;
    return temp;
  }
  inline ::ywrapper::BoolValue* Aps_ApsModules_ApsModule_Ports_CommonIn_State::mutable_enabled() {
    
    if (enabled_ == NULL) {
      enabled_ = new ::ywrapper::BoolValue;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.CommonIn.State.enabled)
    return enabled_;
  }
  inline void Aps_ApsModules_ApsModule_Ports_CommonIn_State::set_allocated_enabled(::ywrapper::BoolValue* enabled) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete reinterpret_cast< ::google::protobuf::MessageLite*>(enabled_);
    }
    if (enabled) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        enabled = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, enabled, submessage_arena);
      }
      
    } else {
      
    }
    enabled_ = enabled;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.CommonIn.State.enabled)
  }
  
  // .openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.CommonIn.State.OpticalPower optical_power = 476896175 [(.yext.schemapath) = "/aps/aps-modules/aps-module/ports/common-in/state/optical-power"];
  inline bool Aps_ApsModules_ApsModule_Ports_CommonIn_State::has_optical_power() const {
    return this != internal_default_instance() && optical_power_ != NULL;
  }
  inline void Aps_ApsModules_ApsModule_Ports_CommonIn_State::clear_optical_power() {
    if (GetArenaNoVirtual() == NULL && optical_power_ != NULL) {
      delete optical_power_;
    }
    optical_power_ = NULL;
  }
  inline const ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_CommonIn_State_OpticalPower& Aps_ApsModules_ApsModule_Ports_CommonIn_State::optical_power() const {
    const ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_CommonIn_State_OpticalPower* p = optical_power_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.CommonIn.State.optical_power)
    return p != NULL ? *p : *reinterpret_cast<const ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_CommonIn_State_OpticalPower*>(
        &::openconfig::openconfig_transport_line_protection::_Aps_ApsModules_ApsModule_Ports_CommonIn_State_OpticalPower_default_instance_);
  }
  inline ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_CommonIn_State_OpticalPower* Aps_ApsModules_ApsModule_Ports_CommonIn_State::release_optical_power() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.CommonIn.State.optical_power)
    
    ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_CommonIn_State_OpticalPower* temp = optical_power_;
    optical_power_ = NULL;
    return temp;
  }
  inline ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_CommonIn_State_OpticalPower* Aps_ApsModules_ApsModule_Ports_CommonIn_State::mutable_optical_power() {
    
    if (optical_power_ == NULL) {
      optical_power_ = new ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_CommonIn_State_OpticalPower;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.CommonIn.State.optical_power)
    return optical_power_;
  }
  inline void Aps_ApsModules_ApsModule_Ports_CommonIn_State::set_allocated_optical_power(::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_CommonIn_State_OpticalPower* optical_power) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete optical_power_;
    }
    if (optical_power) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        optical_power = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, optical_power, submessage_arena);
      }
      
    } else {
      
    }
    optical_power_ = optical_power;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.CommonIn.State.optical_power)
  }
  
  // .ywrapper.Decimal64Value target_attenuation = 481913389 [(.yext.schemapath) = "/aps/aps-modules/aps-module/ports/common-in/state/target-attenuation"];
  inline bool Aps_ApsModules_ApsModule_Ports_CommonIn_State::has_target_attenuation() const {
    return this != internal_default_instance() && target_attenuation_ != NULL;
  }
  inline const ::ywrapper::Decimal64Value& Aps_ApsModules_ApsModule_Ports_CommonIn_State::target_attenuation() const {
    const ::ywrapper::Decimal64Value* p = target_attenuation_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.CommonIn.State.target_attenuation)
    return p != NULL ? *p : *reinterpret_cast<const ::ywrapper::Decimal64Value*>(
        &::ywrapper::_Decimal64Value_default_instance_);
  }
  inline ::ywrapper::Decimal64Value* Aps_ApsModules_ApsModule_Ports_CommonIn_State::release_target_attenuation() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.CommonIn.State.target_attenuation)
    
    ::ywrapper::Decimal64Value* temp = target_attenuation_;
    target_attenuation_ = NULL;
    return temp;
  }
  inline ::ywrapper::Decimal64Value* Aps_ApsModules_ApsModule_Ports_CommonIn_State::mutable_target_attenuation() {
    
    if (target_attenuation_ == NULL) {
      target_attenuation_ = new ::ywrapper::Decimal64Value;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.CommonIn.State.target_attenuation)
    return target_attenuation_;
  }
  inline void Aps_ApsModules_ApsModule_Ports_CommonIn_State::set_allocated_target_attenuation(::ywrapper::Decimal64Value* target_attenuation) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete reinterpret_cast< ::google::protobuf::MessageLite*>(target_attenuation_);
    }
    if (target_attenuation) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        target_attenuation = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, target_attenuation, submessage_arena);
      }
      
    } else {
      
    }
    target_attenuation_ = target_attenuation;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.CommonIn.State.target_attenuation)
  }
  
  // -------------------------------------------------------------------
  
  // Aps_ApsModules_ApsModule_Ports_CommonIn
  
  // .openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.CommonIn.Config config = 22856913 [(.yext.schemapath) = "/aps/aps-modules/aps-module/ports/common-in/config"];
  inline bool Aps_ApsModules_ApsModule_Ports_CommonIn::has_config() const {
    return this != internal_default_instance() && config_ != NULL;
  }
  inline void Aps_ApsModules_ApsModule_Ports_CommonIn::clear_config() {
    if (GetArenaNoVirtual() == NULL && config_ != NULL) {
      delete config_;
    }
    config_ = NULL;
  }
  inline const ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_CommonIn_Config& Aps_ApsModules_ApsModule_Ports_CommonIn::config() const {
    const ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_CommonIn_Config* p = config_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.CommonIn.config)
    return p != NULL ? *p : *reinterpret_cast<const ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_CommonIn_Config*>(
        &::openconfig::openconfig_transport_line_protection::_Aps_ApsModules_ApsModule_Ports_CommonIn_Config_default_instance_);
  }
  inline ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_CommonIn_Config* Aps_ApsModules_ApsModule_Ports_CommonIn::release_config() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.CommonIn.config)
    
    ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_CommonIn_Config* temp = config_;
    config_ = NULL;
    return temp;
  }
  inline ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_CommonIn_Config* Aps_ApsModules_ApsModule_Ports_CommonIn::mutable_config() {
    
    if (config_ == NULL) {
      config_ = new ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_CommonIn_Config;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.CommonIn.config)
    return config_;
  }
  inline void Aps_ApsModules_ApsModule_Ports_CommonIn::set_allocated_config(::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_CommonIn_Config* config) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete config_;
    }
    if (config) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        config = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, config, submessage_arena);
      }
      
    } else {
      
    }
    config_ = config;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.CommonIn.config)
  }
  
  // .openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.CommonIn.State state = 35894470 [(.yext.schemapath) = "/aps/aps-modules/aps-module/ports/common-in/state"];
  inline bool Aps_ApsModules_ApsModule_Ports_CommonIn::has_state() const {
    return this != internal_default_instance() && state_ != NULL;
  }
  inline void Aps_ApsModules_ApsModule_Ports_CommonIn::clear_state() {
    if (GetArenaNoVirtual() == NULL && state_ != NULL) {
      delete state_;
    }
    state_ = NULL;
  }
  inline const ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_CommonIn_State& Aps_ApsModules_ApsModule_Ports_CommonIn::state() const {
    const ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_CommonIn_State* p = state_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.CommonIn.state)
    return p != NULL ? *p : *reinterpret_cast<const ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_CommonIn_State*>(
        &::openconfig::openconfig_transport_line_protection::_Aps_ApsModules_ApsModule_Ports_CommonIn_State_default_instance_);
  }
  inline ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_CommonIn_State* Aps_ApsModules_ApsModule_Ports_CommonIn::release_state() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.CommonIn.state)
    
    ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_CommonIn_State* temp = state_;
    state_ = NULL;
    return temp;
  }
  inline ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_CommonIn_State* Aps_ApsModules_ApsModule_Ports_CommonIn::mutable_state() {
    
    if (state_ == NULL) {
      state_ = new ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_CommonIn_State;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.CommonIn.state)
    return state_;
  }
  inline void Aps_ApsModules_ApsModule_Ports_CommonIn::set_allocated_state(::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_CommonIn_State* state) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete state_;
    }
    if (state) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        state = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, state, submessage_arena);
      }
      
    } else {
      
    }
    state_ = state;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.CommonIn.state)
  }
  
  // -------------------------------------------------------------------
  
  // Aps_ApsModules_ApsModule_Ports_CommonOutput_Config
  
  // .ywrapper.Decimal64Value target_attenuation = 470143474 [(.yext.schemapath) = "/aps/aps-modules/aps-module/ports/common-output/config/target-attenuation"];
  inline bool Aps_ApsModules_ApsModule_Ports_CommonOutput_Config::has_target_attenuation() const {
    return this != internal_default_instance() && target_attenuation_ != NULL;
  }
  inline const ::ywrapper::Decimal64Value& Aps_ApsModules_ApsModule_Ports_CommonOutput_Config::target_attenuation() const {
    const ::ywrapper::Decimal64Value* p = target_attenuation_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.CommonOutput.Config.target_attenuation)
    return p != NULL ? *p : *reinterpret_cast<const ::ywrapper::Decimal64Value*>(
        &::ywrapper::_Decimal64Value_default_instance_);
  }
  inline ::ywrapper::Decimal64Value* Aps_ApsModules_ApsModule_Ports_CommonOutput_Config::release_target_attenuation() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.CommonOutput.Config.target_attenuation)
    
    ::ywrapper::Decimal64Value* temp = target_attenuation_;
    target_attenuation_ = NULL;
    return temp;
  }
  inline ::ywrapper::Decimal64Value* Aps_ApsModules_ApsModule_Ports_CommonOutput_Config::mutable_target_attenuation() {
    
    if (target_attenuation_ == NULL) {
      target_attenuation_ = new ::ywrapper::Decimal64Value;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.CommonOutput.Config.target_attenuation)
    return target_attenuation_;
  }
  inline void Aps_ApsModules_ApsModule_Ports_CommonOutput_Config::set_allocated_target_attenuation(::ywrapper::Decimal64Value* target_attenuation) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete reinterpret_cast< ::google::protobuf::MessageLite*>(target_attenuation_);
    }
    if (target_attenuation) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        target_attenuation = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, target_attenuation, submessage_arena);
      }
      
    } else {
      
    }
    target_attenuation_ = target_attenuation;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.CommonOutput.Config.target_attenuation)
  }
  
  // -------------------------------------------------------------------
  
  // Aps_ApsModules_ApsModule_Ports_CommonOutput_State_OpticalPower
  
  // .ywrapper.Decimal64Value avg = 225671524 [(.yext.schemapath) = "/aps/aps-modules/aps-module/ports/common-output/state/optical-power/avg"];
  inline bool Aps_ApsModules_ApsModule_Ports_CommonOutput_State_OpticalPower::has_avg() const {
    return this != internal_default_instance() && avg_ != NULL;
  }
  inline const ::ywrapper::Decimal64Value& Aps_ApsModules_ApsModule_Ports_CommonOutput_State_OpticalPower::avg() const {
    const ::ywrapper::Decimal64Value* p = avg_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.CommonOutput.State.OpticalPower.avg)
    return p != NULL ? *p : *reinterpret_cast<const ::ywrapper::Decimal64Value*>(
        &::ywrapper::_Decimal64Value_default_instance_);
  }
  inline ::ywrapper::Decimal64Value* Aps_ApsModules_ApsModule_Ports_CommonOutput_State_OpticalPower::release_avg() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.CommonOutput.State.OpticalPower.avg)
    
    ::ywrapper::Decimal64Value* temp = avg_;
    avg_ = NULL;
    return temp;
  }
  inline ::ywrapper::Decimal64Value* Aps_ApsModules_ApsModule_Ports_CommonOutput_State_OpticalPower::mutable_avg() {
    
    if (avg_ == NULL) {
      avg_ = new ::ywrapper::Decimal64Value;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.CommonOutput.State.OpticalPower.avg)
    return avg_;
  }
  inline void Aps_ApsModules_ApsModule_Ports_CommonOutput_State_OpticalPower::set_allocated_avg(::ywrapper::Decimal64Value* avg) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete reinterpret_cast< ::google::protobuf::MessageLite*>(avg_);
    }
    if (avg) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        avg = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, avg, submessage_arena);
      }
      
    } else {
      
    }
    avg_ = avg;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.CommonOutput.State.OpticalPower.avg)
  }
  
  // .ywrapper.Decimal64Value instant = 445436095 [(.yext.schemapath) = "/aps/aps-modules/aps-module/ports/common-output/state/optical-power/instant"];
  inline bool Aps_ApsModules_ApsModule_Ports_CommonOutput_State_OpticalPower::has_instant() const {
    return this != internal_default_instance() && instant_ != NULL;
  }
  inline const ::ywrapper::Decimal64Value& Aps_ApsModules_ApsModule_Ports_CommonOutput_State_OpticalPower::instant() const {
    const ::ywrapper::Decimal64Value* p = instant_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.CommonOutput.State.OpticalPower.instant)
    return p != NULL ? *p : *reinterpret_cast<const ::ywrapper::Decimal64Value*>(
        &::ywrapper::_Decimal64Value_default_instance_);
  }
  inline ::ywrapper::Decimal64Value* Aps_ApsModules_ApsModule_Ports_CommonOutput_State_OpticalPower::release_instant() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.CommonOutput.State.OpticalPower.instant)
    
    ::ywrapper::Decimal64Value* temp = instant_;
    instant_ = NULL;
    return temp;
  }
  inline ::ywrapper::Decimal64Value* Aps_ApsModules_ApsModule_Ports_CommonOutput_State_OpticalPower::mutable_instant() {
    
    if (instant_ == NULL) {
      instant_ = new ::ywrapper::Decimal64Value;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.CommonOutput.State.OpticalPower.instant)
    return instant_;
  }
  inline void Aps_ApsModules_ApsModule_Ports_CommonOutput_State_OpticalPower::set_allocated_instant(::ywrapper::Decimal64Value* instant) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete reinterpret_cast< ::google::protobuf::MessageLite*>(instant_);
    }
    if (instant) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        instant = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, instant, submessage_arena);
      }
      
    } else {
      
    }
    instant_ = instant;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.CommonOutput.State.OpticalPower.instant)
  }
  
  // .ywrapper.UintValue interval = 337202943 [(.yext.schemapath) = "/aps/aps-modules/aps-module/ports/common-output/state/optical-power/interval"];
  inline bool Aps_ApsModules_ApsModule_Ports_CommonOutput_State_OpticalPower::has_interval() const {
    return this != internal_default_instance() && interval_ != NULL;
  }
  inline const ::ywrapper::UintValue& Aps_ApsModules_ApsModule_Ports_CommonOutput_State_OpticalPower::interval() const {
    const ::ywrapper::UintValue* p = interval_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.CommonOutput.State.OpticalPower.interval)
    return p != NULL ? *p : *reinterpret_cast<const ::ywrapper::UintValue*>(
        &::ywrapper::_UintValue_default_instance_);
  }
  inline ::ywrapper::UintValue* Aps_ApsModules_ApsModule_Ports_CommonOutput_State_OpticalPower::release_interval() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.CommonOutput.State.OpticalPower.interval)
    
    ::ywrapper::UintValue* temp = interval_;
    interval_ = NULL;
    return temp;
  }
  inline ::ywrapper::UintValue* Aps_ApsModules_ApsModule_Ports_CommonOutput_State_OpticalPower::mutable_interval() {
    
    if (interval_ == NULL) {
      interval_ = new ::ywrapper::UintValue;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.CommonOutput.State.OpticalPower.interval)
    return interval_;
  }
  inline void Aps_ApsModules_ApsModule_Ports_CommonOutput_State_OpticalPower::set_allocated_interval(::ywrapper::UintValue* interval) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete reinterpret_cast< ::google::protobuf::MessageLite*>(interval_);
    }
    if (interval) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        interval = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, interval, submessage_arena);
      }
      
    } else {
      
    }
    interval_ = interval;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.CommonOutput.State.OpticalPower.interval)
  }
  
  // .ywrapper.Decimal64Value max = 441796222 [(.yext.schemapath) = "/aps/aps-modules/aps-module/ports/common-output/state/optical-power/max"];
  inline bool Aps_ApsModules_ApsModule_Ports_CommonOutput_State_OpticalPower::has_max() const {
    return this != internal_default_instance() && max_ != NULL;
  }
  inline const ::ywrapper::Decimal64Value& Aps_ApsModules_ApsModule_Ports_CommonOutput_State_OpticalPower::max() const {
    const ::ywrapper::Decimal64Value* p = max_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.CommonOutput.State.OpticalPower.max)
    return p != NULL ? *p : *reinterpret_cast<const ::ywrapper::Decimal64Value*>(
        &::ywrapper::_Decimal64Value_default_instance_);
  }
  inline ::ywrapper::Decimal64Value* Aps_ApsModules_ApsModule_Ports_CommonOutput_State_OpticalPower::release_max() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.CommonOutput.State.OpticalPower.max)
    
    ::ywrapper::Decimal64Value* temp = max_;
    max_ = NULL;
    return temp;
  }
  inline ::ywrapper::Decimal64Value* Aps_ApsModules_ApsModule_Ports_CommonOutput_State_OpticalPower::mutable_max() {
    
    if (max_ == NULL) {
      max_ = new ::ywrapper::Decimal64Value;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.CommonOutput.State.OpticalPower.max)
    return max_;
  }
  inline void Aps_ApsModules_ApsModule_Ports_CommonOutput_State_OpticalPower::set_allocated_max(::ywrapper::Decimal64Value* max) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete reinterpret_cast< ::google::protobuf::MessageLite*>(max_);
    }
    if (max) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        max = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, max, submessage_arena);
      }
      
    } else {
      
    }
    max_ = max;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.CommonOutput.State.OpticalPower.max)
  }
  
  // .ywrapper.Decimal64Value min = 39146224 [(.yext.schemapath) = "/aps/aps-modules/aps-module/ports/common-output/state/optical-power/min"];
  inline bool Aps_ApsModules_ApsModule_Ports_CommonOutput_State_OpticalPower::has_min() const {
    return this != internal_default_instance() && min_ != NULL;
  }
  inline const ::ywrapper::Decimal64Value& Aps_ApsModules_ApsModule_Ports_CommonOutput_State_OpticalPower::min() const {
    const ::ywrapper::Decimal64Value* p = min_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.CommonOutput.State.OpticalPower.min)
    return p != NULL ? *p : *reinterpret_cast<const ::ywrapper::Decimal64Value*>(
        &::ywrapper::_Decimal64Value_default_instance_);
  }
  inline ::ywrapper::Decimal64Value* Aps_ApsModules_ApsModule_Ports_CommonOutput_State_OpticalPower::release_min() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.CommonOutput.State.OpticalPower.min)
    
    ::ywrapper::Decimal64Value* temp = min_;
    min_ = NULL;
    return temp;
  }
  inline ::ywrapper::Decimal64Value* Aps_ApsModules_ApsModule_Ports_CommonOutput_State_OpticalPower::mutable_min() {
    
    if (min_ == NULL) {
      min_ = new ::ywrapper::Decimal64Value;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.CommonOutput.State.OpticalPower.min)
    return min_;
  }
  inline void Aps_ApsModules_ApsModule_Ports_CommonOutput_State_OpticalPower::set_allocated_min(::ywrapper::Decimal64Value* min) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete reinterpret_cast< ::google::protobuf::MessageLite*>(min_);
    }
    if (min) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        min = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, min, submessage_arena);
      }
      
    } else {
      
    }
    min_ = min;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.CommonOutput.State.OpticalPower.min)
  }
  
  // -------------------------------------------------------------------
  
  // Aps_ApsModules_ApsModule_Ports_CommonOutput_State
  
  // .ywrapper.Decimal64Value attenuation = 439732253 [(.yext.schemapath) = "/aps/aps-modules/aps-module/ports/common-output/state/attenuation"];
  inline bool Aps_ApsModules_ApsModule_Ports_CommonOutput_State::has_attenuation() const {
    return this != internal_default_instance() && attenuation_ != NULL;
  }
  inline const ::ywrapper::Decimal64Value& Aps_ApsModules_ApsModule_Ports_CommonOutput_State::attenuation() const {
    const ::ywrapper::Decimal64Value* p = attenuation_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.CommonOutput.State.attenuation)
    return p != NULL ? *p : *reinterpret_cast<const ::ywrapper::Decimal64Value*>(
        &::ywrapper::_Decimal64Value_default_instance_);
  }
  inline ::ywrapper::Decimal64Value* Aps_ApsModules_ApsModule_Ports_CommonOutput_State::release_attenuation() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.CommonOutput.State.attenuation)
    
    ::ywrapper::Decimal64Value* temp = attenuation_;
    attenuation_ = NULL;
    return temp;
  }
  inline ::ywrapper::Decimal64Value* Aps_ApsModules_ApsModule_Ports_CommonOutput_State::mutable_attenuation() {
    
    if (attenuation_ == NULL) {
      attenuation_ = new ::ywrapper::Decimal64Value;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.CommonOutput.State.attenuation)
    return attenuation_;
  }
  inline void Aps_ApsModules_ApsModule_Ports_CommonOutput_State::set_allocated_attenuation(::ywrapper::Decimal64Value* attenuation) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete reinterpret_cast< ::google::protobuf::MessageLite*>(attenuation_);
    }
    if (attenuation) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        attenuation = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, attenuation, submessage_arena);
      }
      
    } else {
      
    }
    attenuation_ = attenuation;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.CommonOutput.State.attenuation)
  }
  
  // .openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.CommonOutput.State.OpticalPower optical_power = 372658617 [(.yext.schemapath) = "/aps/aps-modules/aps-module/ports/common-output/state/optical-power"];
  inline bool Aps_ApsModules_ApsModule_Ports_CommonOutput_State::has_optical_power() const {
    return this != internal_default_instance() && optical_power_ != NULL;
  }
  inline void Aps_ApsModules_ApsModule_Ports_CommonOutput_State::clear_optical_power() {
    if (GetArenaNoVirtual() == NULL && optical_power_ != NULL) {
      delete optical_power_;
    }
    optical_power_ = NULL;
  }
  inline const ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_CommonOutput_State_OpticalPower& Aps_ApsModules_ApsModule_Ports_CommonOutput_State::optical_power() const {
    const ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_CommonOutput_State_OpticalPower* p = optical_power_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.CommonOutput.State.optical_power)
    return p != NULL ? *p : *reinterpret_cast<const ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_CommonOutput_State_OpticalPower*>(
        &::openconfig::openconfig_transport_line_protection::_Aps_ApsModules_ApsModule_Ports_CommonOutput_State_OpticalPower_default_instance_);
  }
  inline ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_CommonOutput_State_OpticalPower* Aps_ApsModules_ApsModule_Ports_CommonOutput_State::release_optical_power() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.CommonOutput.State.optical_power)
    
    ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_CommonOutput_State_OpticalPower* temp = optical_power_;
    optical_power_ = NULL;
    return temp;
  }
  inline ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_CommonOutput_State_OpticalPower* Aps_ApsModules_ApsModule_Ports_CommonOutput_State::mutable_optical_power() {
    
    if (optical_power_ == NULL) {
      optical_power_ = new ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_CommonOutput_State_OpticalPower;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.CommonOutput.State.optical_power)
    return optical_power_;
  }
  inline void Aps_ApsModules_ApsModule_Ports_CommonOutput_State::set_allocated_optical_power(::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_CommonOutput_State_OpticalPower* optical_power) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete optical_power_;
    }
    if (optical_power) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        optical_power = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, optical_power, submessage_arena);
      }
      
    } else {
      
    }
    optical_power_ = optical_power;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.CommonOutput.State.optical_power)
  }
  
  // .ywrapper.Decimal64Value target_attenuation = 66274907 [(.yext.schemapath) = "/aps/aps-modules/aps-module/ports/common-output/state/target-attenuation"];
  inline bool Aps_ApsModules_ApsModule_Ports_CommonOutput_State::has_target_attenuation() const {
    return this != internal_default_instance() && target_attenuation_ != NULL;
  }
  inline const ::ywrapper::Decimal64Value& Aps_ApsModules_ApsModule_Ports_CommonOutput_State::target_attenuation() const {
    const ::ywrapper::Decimal64Value* p = target_attenuation_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.CommonOutput.State.target_attenuation)
    return p != NULL ? *p : *reinterpret_cast<const ::ywrapper::Decimal64Value*>(
        &::ywrapper::_Decimal64Value_default_instance_);
  }
  inline ::ywrapper::Decimal64Value* Aps_ApsModules_ApsModule_Ports_CommonOutput_State::release_target_attenuation() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.CommonOutput.State.target_attenuation)
    
    ::ywrapper::Decimal64Value* temp = target_attenuation_;
    target_attenuation_ = NULL;
    return temp;
  }
  inline ::ywrapper::Decimal64Value* Aps_ApsModules_ApsModule_Ports_CommonOutput_State::mutable_target_attenuation() {
    
    if (target_attenuation_ == NULL) {
      target_attenuation_ = new ::ywrapper::Decimal64Value;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.CommonOutput.State.target_attenuation)
    return target_attenuation_;
  }
  inline void Aps_ApsModules_ApsModule_Ports_CommonOutput_State::set_allocated_target_attenuation(::ywrapper::Decimal64Value* target_attenuation) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete reinterpret_cast< ::google::protobuf::MessageLite*>(target_attenuation_);
    }
    if (target_attenuation) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        target_attenuation = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, target_attenuation, submessage_arena);
      }
      
    } else {
      
    }
    target_attenuation_ = target_attenuation;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.CommonOutput.State.target_attenuation)
  }
  
  // -------------------------------------------------------------------
  
  // Aps_ApsModules_ApsModule_Ports_CommonOutput
  
  // .openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.CommonOutput.Config config = 206692439 [(.yext.schemapath) = "/aps/aps-modules/aps-module/ports/common-output/config"];
  inline bool Aps_ApsModules_ApsModule_Ports_CommonOutput::has_config() const {
    return this != internal_default_instance() && config_ != NULL;
  }
  inline void Aps_ApsModules_ApsModule_Ports_CommonOutput::clear_config() {
    if (GetArenaNoVirtual() == NULL && config_ != NULL) {
      delete config_;
    }
    config_ = NULL;
  }
  inline const ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_CommonOutput_Config& Aps_ApsModules_ApsModule_Ports_CommonOutput::config() const {
    const ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_CommonOutput_Config* p = config_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.CommonOutput.config)
    return p != NULL ? *p : *reinterpret_cast<const ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_CommonOutput_Config*>(
        &::openconfig::openconfig_transport_line_protection::_Aps_ApsModules_ApsModule_Ports_CommonOutput_Config_default_instance_);
  }
  inline ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_CommonOutput_Config* Aps_ApsModules_ApsModule_Ports_CommonOutput::release_config() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.CommonOutput.config)
    
    ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_CommonOutput_Config* temp = config_;
    config_ = NULL;
    return temp;
  }
  inline ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_CommonOutput_Config* Aps_ApsModules_ApsModule_Ports_CommonOutput::mutable_config() {
    
    if (config_ == NULL) {
      config_ = new ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_CommonOutput_Config;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.CommonOutput.config)
    return config_;
  }
  inline void Aps_ApsModules_ApsModule_Ports_CommonOutput::set_allocated_config(::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_CommonOutput_Config* config) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete config_;
    }
    if (config) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        config = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, config, submessage_arena);
      }
      
    } else {
      
    }
    config_ = config;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.CommonOutput.config)
  }
  
  // .openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.CommonOutput.State state = 38570760 [(.yext.schemapath) = "/aps/aps-modules/aps-module/ports/common-output/state"];
  inline bool Aps_ApsModules_ApsModule_Ports_CommonOutput::has_state() const {
    return this != internal_default_instance() && state_ != NULL;
  }
  inline void Aps_ApsModules_ApsModule_Ports_CommonOutput::clear_state() {
    if (GetArenaNoVirtual() == NULL && state_ != NULL) {
      delete state_;
    }
    state_ = NULL;
  }
  inline const ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_CommonOutput_State& Aps_ApsModules_ApsModule_Ports_CommonOutput::state() const {
    const ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_CommonOutput_State* p = state_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.CommonOutput.state)
    return p != NULL ? *p : *reinterpret_cast<const ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_CommonOutput_State*>(
        &::openconfig::openconfig_transport_line_protection::_Aps_ApsModules_ApsModule_Ports_CommonOutput_State_default_instance_);
  }
  inline ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_CommonOutput_State* Aps_ApsModules_ApsModule_Ports_CommonOutput::release_state() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.CommonOutput.state)
    
    ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_CommonOutput_State* temp = state_;
    state_ = NULL;
    return temp;
  }
  inline ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_CommonOutput_State* Aps_ApsModules_ApsModule_Ports_CommonOutput::mutable_state() {
    
    if (state_ == NULL) {
      state_ = new ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_CommonOutput_State;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.CommonOutput.state)
    return state_;
  }
  inline void Aps_ApsModules_ApsModule_Ports_CommonOutput::set_allocated_state(::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_CommonOutput_State* state) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete state_;
    }
    if (state) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        state = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, state, submessage_arena);
      }
      
    } else {
      
    }
    state_ = state;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.CommonOutput.state)
  }
  
  // -------------------------------------------------------------------
  
  // Aps_ApsModules_ApsModule_Ports_LinePrimaryIn_Config
  
  // .ywrapper.BoolValue enabled = 408456851 [(.yext.schemapath) = "/aps/aps-modules/aps-module/ports/line-primary-in/config/enabled"];
  inline bool Aps_ApsModules_ApsModule_Ports_LinePrimaryIn_Config::has_enabled() const {
    return this != internal_default_instance() && enabled_ != NULL;
  }
  inline const ::ywrapper::BoolValue& Aps_ApsModules_ApsModule_Ports_LinePrimaryIn_Config::enabled() const {
    const ::ywrapper::BoolValue* p = enabled_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.LinePrimaryIn.Config.enabled)
    return p != NULL ? *p : *reinterpret_cast<const ::ywrapper::BoolValue*>(
        &::ywrapper::_BoolValue_default_instance_);
  }
  inline ::ywrapper::BoolValue* Aps_ApsModules_ApsModule_Ports_LinePrimaryIn_Config::release_enabled() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.LinePrimaryIn.Config.enabled)
    
    ::ywrapper::BoolValue* temp = enabled_;
    enabled_ = NULL;
    return temp;
  }
  inline ::ywrapper::BoolValue* Aps_ApsModules_ApsModule_Ports_LinePrimaryIn_Config::mutable_enabled() {
    
    if (enabled_ == NULL) {
      enabled_ = new ::ywrapper::BoolValue;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.LinePrimaryIn.Config.enabled)
    return enabled_;
  }
  inline void Aps_ApsModules_ApsModule_Ports_LinePrimaryIn_Config::set_allocated_enabled(::ywrapper::BoolValue* enabled) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete reinterpret_cast< ::google::protobuf::MessageLite*>(enabled_);
    }
    if (enabled) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        enabled = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, enabled, submessage_arena);
      }
      
    } else {
      
    }
    enabled_ = enabled;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.LinePrimaryIn.Config.enabled)
  }
  
  // .ywrapper.Decimal64Value target_attenuation = 312705020 [(.yext.schemapath) = "/aps/aps-modules/aps-module/ports/line-primary-in/config/target-attenuation"];
  inline bool Aps_ApsModules_ApsModule_Ports_LinePrimaryIn_Config::has_target_attenuation() const {
    return this != internal_default_instance() && target_attenuation_ != NULL;
  }
  inline const ::ywrapper::Decimal64Value& Aps_ApsModules_ApsModule_Ports_LinePrimaryIn_Config::target_attenuation() const {
    const ::ywrapper::Decimal64Value* p = target_attenuation_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.LinePrimaryIn.Config.target_attenuation)
    return p != NULL ? *p : *reinterpret_cast<const ::ywrapper::Decimal64Value*>(
        &::ywrapper::_Decimal64Value_default_instance_);
  }
  inline ::ywrapper::Decimal64Value* Aps_ApsModules_ApsModule_Ports_LinePrimaryIn_Config::release_target_attenuation() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.LinePrimaryIn.Config.target_attenuation)
    
    ::ywrapper::Decimal64Value* temp = target_attenuation_;
    target_attenuation_ = NULL;
    return temp;
  }
  inline ::ywrapper::Decimal64Value* Aps_ApsModules_ApsModule_Ports_LinePrimaryIn_Config::mutable_target_attenuation() {
    
    if (target_attenuation_ == NULL) {
      target_attenuation_ = new ::ywrapper::Decimal64Value;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.LinePrimaryIn.Config.target_attenuation)
    return target_attenuation_;
  }
  inline void Aps_ApsModules_ApsModule_Ports_LinePrimaryIn_Config::set_allocated_target_attenuation(::ywrapper::Decimal64Value* target_attenuation) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete reinterpret_cast< ::google::protobuf::MessageLite*>(target_attenuation_);
    }
    if (target_attenuation) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        target_attenuation = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, target_attenuation, submessage_arena);
      }
      
    } else {
      
    }
    target_attenuation_ = target_attenuation;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.LinePrimaryIn.Config.target_attenuation)
  }
  
  // -------------------------------------------------------------------
  
  // Aps_ApsModules_ApsModule_Ports_LinePrimaryIn_State_OpticalPower
  
  // .ywrapper.Decimal64Value avg = 494403602 [(.yext.schemapath) = "/aps/aps-modules/aps-module/ports/line-primary-in/state/optical-power/avg"];
  inline bool Aps_ApsModules_ApsModule_Ports_LinePrimaryIn_State_OpticalPower::has_avg() const {
    return this != internal_default_instance() && avg_ != NULL;
  }
  inline const ::ywrapper::Decimal64Value& Aps_ApsModules_ApsModule_Ports_LinePrimaryIn_State_OpticalPower::avg() const {
    const ::ywrapper::Decimal64Value* p = avg_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.LinePrimaryIn.State.OpticalPower.avg)
    return p != NULL ? *p : *reinterpret_cast<const ::ywrapper::Decimal64Value*>(
        &::ywrapper::_Decimal64Value_default_instance_);
  }
  inline ::ywrapper::Decimal64Value* Aps_ApsModules_ApsModule_Ports_LinePrimaryIn_State_OpticalPower::release_avg() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.LinePrimaryIn.State.OpticalPower.avg)
    
    ::ywrapper::Decimal64Value* temp = avg_;
    avg_ = NULL;
    return temp;
  }
  inline ::ywrapper::Decimal64Value* Aps_ApsModules_ApsModule_Ports_LinePrimaryIn_State_OpticalPower::mutable_avg() {
    
    if (avg_ == NULL) {
      avg_ = new ::ywrapper::Decimal64Value;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.LinePrimaryIn.State.OpticalPower.avg)
    return avg_;
  }
  inline void Aps_ApsModules_ApsModule_Ports_LinePrimaryIn_State_OpticalPower::set_allocated_avg(::ywrapper::Decimal64Value* avg) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete reinterpret_cast< ::google::protobuf::MessageLite*>(avg_);
    }
    if (avg) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        avg = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, avg, submessage_arena);
      }
      
    } else {
      
    }
    avg_ = avg;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.LinePrimaryIn.State.OpticalPower.avg)
  }
  
  // .ywrapper.Decimal64Value instant = 418401985 [(.yext.schemapath) = "/aps/aps-modules/aps-module/ports/line-primary-in/state/optical-power/instant"];
  inline bool Aps_ApsModules_ApsModule_Ports_LinePrimaryIn_State_OpticalPower::has_instant() const {
    return this != internal_default_instance() && instant_ != NULL;
  }
  inline const ::ywrapper::Decimal64Value& Aps_ApsModules_ApsModule_Ports_LinePrimaryIn_State_OpticalPower::instant() const {
    const ::ywrapper::Decimal64Value* p = instant_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.LinePrimaryIn.State.OpticalPower.instant)
    return p != NULL ? *p : *reinterpret_cast<const ::ywrapper::Decimal64Value*>(
        &::ywrapper::_Decimal64Value_default_instance_);
  }
  inline ::ywrapper::Decimal64Value* Aps_ApsModules_ApsModule_Ports_LinePrimaryIn_State_OpticalPower::release_instant() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.LinePrimaryIn.State.OpticalPower.instant)
    
    ::ywrapper::Decimal64Value* temp = instant_;
    instant_ = NULL;
    return temp;
  }
  inline ::ywrapper::Decimal64Value* Aps_ApsModules_ApsModule_Ports_LinePrimaryIn_State_OpticalPower::mutable_instant() {
    
    if (instant_ == NULL) {
      instant_ = new ::ywrapper::Decimal64Value;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.LinePrimaryIn.State.OpticalPower.instant)
    return instant_;
  }
  inline void Aps_ApsModules_ApsModule_Ports_LinePrimaryIn_State_OpticalPower::set_allocated_instant(::ywrapper::Decimal64Value* instant) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete reinterpret_cast< ::google::protobuf::MessageLite*>(instant_);
    }
    if (instant) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        instant = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, instant, submessage_arena);
      }
      
    } else {
      
    }
    instant_ = instant;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.LinePrimaryIn.State.OpticalPower.instant)
  }
  
  // .ywrapper.UintValue interval = 88881621 [(.yext.schemapath) = "/aps/aps-modules/aps-module/ports/line-primary-in/state/optical-power/interval"];
  inline bool Aps_ApsModules_ApsModule_Ports_LinePrimaryIn_State_OpticalPower::has_interval() const {
    return this != internal_default_instance() && interval_ != NULL;
  }
  inline const ::ywrapper::UintValue& Aps_ApsModules_ApsModule_Ports_LinePrimaryIn_State_OpticalPower::interval() const {
    const ::ywrapper::UintValue* p = interval_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.LinePrimaryIn.State.OpticalPower.interval)
    return p != NULL ? *p : *reinterpret_cast<const ::ywrapper::UintValue*>(
        &::ywrapper::_UintValue_default_instance_);
  }
  inline ::ywrapper::UintValue* Aps_ApsModules_ApsModule_Ports_LinePrimaryIn_State_OpticalPower::release_interval() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.LinePrimaryIn.State.OpticalPower.interval)
    
    ::ywrapper::UintValue* temp = interval_;
    interval_ = NULL;
    return temp;
  }
  inline ::ywrapper::UintValue* Aps_ApsModules_ApsModule_Ports_LinePrimaryIn_State_OpticalPower::mutable_interval() {
    
    if (interval_ == NULL) {
      interval_ = new ::ywrapper::UintValue;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.LinePrimaryIn.State.OpticalPower.interval)
    return interval_;
  }
  inline void Aps_ApsModules_ApsModule_Ports_LinePrimaryIn_State_OpticalPower::set_allocated_interval(::ywrapper::UintValue* interval) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete reinterpret_cast< ::google::protobuf::MessageLite*>(interval_);
    }
    if (interval) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        interval = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, interval, submessage_arena);
      }
      
    } else {
      
    }
    interval_ = interval;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.LinePrimaryIn.State.OpticalPower.interval)
  }
  
  // .ywrapper.Decimal64Value max = 242060708 [(.yext.schemapath) = "/aps/aps-modules/aps-module/ports/line-primary-in/state/optical-power/max"];
  inline bool Aps_ApsModules_ApsModule_Ports_LinePrimaryIn_State_OpticalPower::has_max() const {
    return this != internal_default_instance() && max_ != NULL;
  }
  inline const ::ywrapper::Decimal64Value& Aps_ApsModules_ApsModule_Ports_LinePrimaryIn_State_OpticalPower::max() const {
    const ::ywrapper::Decimal64Value* p = max_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.LinePrimaryIn.State.OpticalPower.max)
    return p != NULL ? *p : *reinterpret_cast<const ::ywrapper::Decimal64Value*>(
        &::ywrapper::_Decimal64Value_default_instance_);
  }
  inline ::ywrapper::Decimal64Value* Aps_ApsModules_ApsModule_Ports_LinePrimaryIn_State_OpticalPower::release_max() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.LinePrimaryIn.State.OpticalPower.max)
    
    ::ywrapper::Decimal64Value* temp = max_;
    max_ = NULL;
    return temp;
  }
  inline ::ywrapper::Decimal64Value* Aps_ApsModules_ApsModule_Ports_LinePrimaryIn_State_OpticalPower::mutable_max() {
    
    if (max_ == NULL) {
      max_ = new ::ywrapper::Decimal64Value;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.LinePrimaryIn.State.OpticalPower.max)
    return max_;
  }
  inline void Aps_ApsModules_ApsModule_Ports_LinePrimaryIn_State_OpticalPower::set_allocated_max(::ywrapper::Decimal64Value* max) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete reinterpret_cast< ::google::protobuf::MessageLite*>(max_);
    }
    if (max) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        max = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, max, submessage_arena);
      }
      
    } else {
      
    }
    max_ = max;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.LinePrimaryIn.State.OpticalPower.max)
  }
  
  // .ywrapper.Decimal64Value min = 376281626 [(.yext.schemapath) = "/aps/aps-modules/aps-module/ports/line-primary-in/state/optical-power/min"];
  inline bool Aps_ApsModules_ApsModule_Ports_LinePrimaryIn_State_OpticalPower::has_min() const {
    return this != internal_default_instance() && min_ != NULL;
  }
  inline const ::ywrapper::Decimal64Value& Aps_ApsModules_ApsModule_Ports_LinePrimaryIn_State_OpticalPower::min() const {
    const ::ywrapper::Decimal64Value* p = min_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.LinePrimaryIn.State.OpticalPower.min)
    return p != NULL ? *p : *reinterpret_cast<const ::ywrapper::Decimal64Value*>(
        &::ywrapper::_Decimal64Value_default_instance_);
  }
  inline ::ywrapper::Decimal64Value* Aps_ApsModules_ApsModule_Ports_LinePrimaryIn_State_OpticalPower::release_min() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.LinePrimaryIn.State.OpticalPower.min)
    
    ::ywrapper::Decimal64Value* temp = min_;
    min_ = NULL;
    return temp;
  }
  inline ::ywrapper::Decimal64Value* Aps_ApsModules_ApsModule_Ports_LinePrimaryIn_State_OpticalPower::mutable_min() {
    
    if (min_ == NULL) {
      min_ = new ::ywrapper::Decimal64Value;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.LinePrimaryIn.State.OpticalPower.min)
    return min_;
  }
  inline void Aps_ApsModules_ApsModule_Ports_LinePrimaryIn_State_OpticalPower::set_allocated_min(::ywrapper::Decimal64Value* min) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete reinterpret_cast< ::google::protobuf::MessageLite*>(min_);
    }
    if (min) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        min = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, min, submessage_arena);
      }
      
    } else {
      
    }
    min_ = min;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.LinePrimaryIn.State.OpticalPower.min)
  }
  
  // -------------------------------------------------------------------
  
  // Aps_ApsModules_ApsModule_Ports_LinePrimaryIn_State
  
  // .ywrapper.Decimal64Value attenuation = 457232791 [(.yext.schemapath) = "/aps/aps-modules/aps-module/ports/line-primary-in/state/attenuation"];
  inline bool Aps_ApsModules_ApsModule_Ports_LinePrimaryIn_State::has_attenuation() const {
    return this != internal_default_instance() && attenuation_ != NULL;
  }
  inline const ::ywrapper::Decimal64Value& Aps_ApsModules_ApsModule_Ports_LinePrimaryIn_State::attenuation() const {
    const ::ywrapper::Decimal64Value* p = attenuation_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.LinePrimaryIn.State.attenuation)
    return p != NULL ? *p : *reinterpret_cast<const ::ywrapper::Decimal64Value*>(
        &::ywrapper::_Decimal64Value_default_instance_);
  }
  inline ::ywrapper::Decimal64Value* Aps_ApsModules_ApsModule_Ports_LinePrimaryIn_State::release_attenuation() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.LinePrimaryIn.State.attenuation)
    
    ::ywrapper::Decimal64Value* temp = attenuation_;
    attenuation_ = NULL;
    return temp;
  }
  inline ::ywrapper::Decimal64Value* Aps_ApsModules_ApsModule_Ports_LinePrimaryIn_State::mutable_attenuation() {
    
    if (attenuation_ == NULL) {
      attenuation_ = new ::ywrapper::Decimal64Value;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.LinePrimaryIn.State.attenuation)
    return attenuation_;
  }
  inline void Aps_ApsModules_ApsModule_Ports_LinePrimaryIn_State::set_allocated_attenuation(::ywrapper::Decimal64Value* attenuation) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete reinterpret_cast< ::google::protobuf::MessageLite*>(attenuation_);
    }
    if (attenuation) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        attenuation = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, attenuation, submessage_arena);
      }
      
    } else {
      
    }
    attenuation_ = attenuation;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.LinePrimaryIn.State.attenuation)
  }
  
  // .ywrapper.BoolValue enabled = 29073024 [(.yext.schemapath) = "/aps/aps-modules/aps-module/ports/line-primary-in/state/enabled"];
  inline bool Aps_ApsModules_ApsModule_Ports_LinePrimaryIn_State::has_enabled() const {
    return this != internal_default_instance() && enabled_ != NULL;
  }
  inline const ::ywrapper::BoolValue& Aps_ApsModules_ApsModule_Ports_LinePrimaryIn_State::enabled() const {
    const ::ywrapper::BoolValue* p = enabled_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.LinePrimaryIn.State.enabled)
    return p != NULL ? *p : *reinterpret_cast<const ::ywrapper::BoolValue*>(
        &::ywrapper::_BoolValue_default_instance_);
  }
  inline ::ywrapper::BoolValue* Aps_ApsModules_ApsModule_Ports_LinePrimaryIn_State::release_enabled() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.LinePrimaryIn.State.enabled)
    
    ::ywrapper::BoolValue* temp = enabled_;
    enabled_ = NULL;
    return temp;
  }
  inline ::ywrapper::BoolValue* Aps_ApsModules_ApsModule_Ports_LinePrimaryIn_State::mutable_enabled() {
    
    if (enabled_ == NULL) {
      enabled_ = new ::ywrapper::BoolValue;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.LinePrimaryIn.State.enabled)
    return enabled_;
  }
  inline void Aps_ApsModules_ApsModule_Ports_LinePrimaryIn_State::set_allocated_enabled(::ywrapper::BoolValue* enabled) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete reinterpret_cast< ::google::protobuf::MessageLite*>(enabled_);
    }
    if (enabled) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        enabled = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, enabled, submessage_arena);
      }
      
    } else {
      
    }
    enabled_ = enabled;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.LinePrimaryIn.State.enabled)
  }
  
  // .openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.LinePrimaryIn.State.OpticalPower optical_power = 366842827 [(.yext.schemapath) = "/aps/aps-modules/aps-module/ports/line-primary-in/state/optical-power"];
  inline bool Aps_ApsModules_ApsModule_Ports_LinePrimaryIn_State::has_optical_power() const {
    return this != internal_default_instance() && optical_power_ != NULL;
  }
  inline void Aps_ApsModules_ApsModule_Ports_LinePrimaryIn_State::clear_optical_power() {
    if (GetArenaNoVirtual() == NULL && optical_power_ != NULL) {
      delete optical_power_;
    }
    optical_power_ = NULL;
  }
  inline const ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_LinePrimaryIn_State_OpticalPower& Aps_ApsModules_ApsModule_Ports_LinePrimaryIn_State::optical_power() const {
    const ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_LinePrimaryIn_State_OpticalPower* p = optical_power_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.LinePrimaryIn.State.optical_power)
    return p != NULL ? *p : *reinterpret_cast<const ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_LinePrimaryIn_State_OpticalPower*>(
        &::openconfig::openconfig_transport_line_protection::_Aps_ApsModules_ApsModule_Ports_LinePrimaryIn_State_OpticalPower_default_instance_);
  }
  inline ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_LinePrimaryIn_State_OpticalPower* Aps_ApsModules_ApsModule_Ports_LinePrimaryIn_State::release_optical_power() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.LinePrimaryIn.State.optical_power)
    
    ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_LinePrimaryIn_State_OpticalPower* temp = optical_power_;
    optical_power_ = NULL;
    return temp;
  }
  inline ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_LinePrimaryIn_State_OpticalPower* Aps_ApsModules_ApsModule_Ports_LinePrimaryIn_State::mutable_optical_power() {
    
    if (optical_power_ == NULL) {
      optical_power_ = new ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_LinePrimaryIn_State_OpticalPower;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.LinePrimaryIn.State.optical_power)
    return optical_power_;
  }
  inline void Aps_ApsModules_ApsModule_Ports_LinePrimaryIn_State::set_allocated_optical_power(::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_LinePrimaryIn_State_OpticalPower* optical_power) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete optical_power_;
    }
    if (optical_power) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        optical_power = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, optical_power, submessage_arena);
      }
      
    } else {
      
    }
    optical_power_ = optical_power;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.LinePrimaryIn.State.optical_power)
  }
  
  // .ywrapper.Decimal64Value target_attenuation = 348525297 [(.yext.schemapath) = "/aps/aps-modules/aps-module/ports/line-primary-in/state/target-attenuation"];
  inline bool Aps_ApsModules_ApsModule_Ports_LinePrimaryIn_State::has_target_attenuation() const {
    return this != internal_default_instance() && target_attenuation_ != NULL;
  }
  inline const ::ywrapper::Decimal64Value& Aps_ApsModules_ApsModule_Ports_LinePrimaryIn_State::target_attenuation() const {
    const ::ywrapper::Decimal64Value* p = target_attenuation_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.LinePrimaryIn.State.target_attenuation)
    return p != NULL ? *p : *reinterpret_cast<const ::ywrapper::Decimal64Value*>(
        &::ywrapper::_Decimal64Value_default_instance_);
  }
  inline ::ywrapper::Decimal64Value* Aps_ApsModules_ApsModule_Ports_LinePrimaryIn_State::release_target_attenuation() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.LinePrimaryIn.State.target_attenuation)
    
    ::ywrapper::Decimal64Value* temp = target_attenuation_;
    target_attenuation_ = NULL;
    return temp;
  }
  inline ::ywrapper::Decimal64Value* Aps_ApsModules_ApsModule_Ports_LinePrimaryIn_State::mutable_target_attenuation() {
    
    if (target_attenuation_ == NULL) {
      target_attenuation_ = new ::ywrapper::Decimal64Value;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.LinePrimaryIn.State.target_attenuation)
    return target_attenuation_;
  }
  inline void Aps_ApsModules_ApsModule_Ports_LinePrimaryIn_State::set_allocated_target_attenuation(::ywrapper::Decimal64Value* target_attenuation) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete reinterpret_cast< ::google::protobuf::MessageLite*>(target_attenuation_);
    }
    if (target_attenuation) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        target_attenuation = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, target_attenuation, submessage_arena);
      }
      
    } else {
      
    }
    target_attenuation_ = target_attenuation;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.LinePrimaryIn.State.target_attenuation)
  }
  
  // -------------------------------------------------------------------
  
  // Aps_ApsModules_ApsModule_Ports_LinePrimaryIn
  
  // .openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.LinePrimaryIn.Config config = 75325565 [(.yext.schemapath) = "/aps/aps-modules/aps-module/ports/line-primary-in/config"];
  inline bool Aps_ApsModules_ApsModule_Ports_LinePrimaryIn::has_config() const {
    return this != internal_default_instance() && config_ != NULL;
  }
  inline void Aps_ApsModules_ApsModule_Ports_LinePrimaryIn::clear_config() {
    if (GetArenaNoVirtual() == NULL && config_ != NULL) {
      delete config_;
    }
    config_ = NULL;
  }
  inline const ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_LinePrimaryIn_Config& Aps_ApsModules_ApsModule_Ports_LinePrimaryIn::config() const {
    const ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_LinePrimaryIn_Config* p = config_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.LinePrimaryIn.config)
    return p != NULL ? *p : *reinterpret_cast<const ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_LinePrimaryIn_Config*>(
        &::openconfig::openconfig_transport_line_protection::_Aps_ApsModules_ApsModule_Ports_LinePrimaryIn_Config_default_instance_);
  }
  inline ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_LinePrimaryIn_Config* Aps_ApsModules_ApsModule_Ports_LinePrimaryIn::release_config() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.LinePrimaryIn.config)
    
    ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_LinePrimaryIn_Config* temp = config_;
    config_ = NULL;
    return temp;
  }
  inline ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_LinePrimaryIn_Config* Aps_ApsModules_ApsModule_Ports_LinePrimaryIn::mutable_config() {
    
    if (config_ == NULL) {
      config_ = new ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_LinePrimaryIn_Config;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.LinePrimaryIn.config)
    return config_;
  }
  inline void Aps_ApsModules_ApsModule_Ports_LinePrimaryIn::set_allocated_config(::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_LinePrimaryIn_Config* config) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete config_;
    }
    if (config) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        config = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, config, submessage_arena);
      }
      
    } else {
      
    }
    config_ = config;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.LinePrimaryIn.config)
  }
  
  // .openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.LinePrimaryIn.State state = 239272178 [(.yext.schemapath) = "/aps/aps-modules/aps-module/ports/line-primary-in/state"];
  inline bool Aps_ApsModules_ApsModule_Ports_LinePrimaryIn::has_state() const {
    return this != internal_default_instance() && state_ != NULL;
  }
  inline void Aps_ApsModules_ApsModule_Ports_LinePrimaryIn::clear_state() {
    if (GetArenaNoVirtual() == NULL && state_ != NULL) {
      delete state_;
    }
    state_ = NULL;
  }
  inline const ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_LinePrimaryIn_State& Aps_ApsModules_ApsModule_Ports_LinePrimaryIn::state() const {
    const ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_LinePrimaryIn_State* p = state_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.LinePrimaryIn.state)
    return p != NULL ? *p : *reinterpret_cast<const ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_LinePrimaryIn_State*>(
        &::openconfig::openconfig_transport_line_protection::_Aps_ApsModules_ApsModule_Ports_LinePrimaryIn_State_default_instance_);
  }
  inline ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_LinePrimaryIn_State* Aps_ApsModules_ApsModule_Ports_LinePrimaryIn::release_state() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.LinePrimaryIn.state)
    
    ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_LinePrimaryIn_State* temp = state_;
    state_ = NULL;
    return temp;
  }
  inline ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_LinePrimaryIn_State* Aps_ApsModules_ApsModule_Ports_LinePrimaryIn::mutable_state() {
    
    if (state_ == NULL) {
      state_ = new ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_LinePrimaryIn_State;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.LinePrimaryIn.state)
    return state_;
  }
  inline void Aps_ApsModules_ApsModule_Ports_LinePrimaryIn::set_allocated_state(::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_LinePrimaryIn_State* state) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete state_;
    }
    if (state) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        state = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, state, submessage_arena);
      }
      
    } else {
      
    }
    state_ = state;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.LinePrimaryIn.state)
  }
  
  // -------------------------------------------------------------------
  
  // Aps_ApsModules_ApsModule_Ports_LinePrimaryOut_Config
  
  // .ywrapper.Decimal64Value target_attenuation = 206354211 [(.yext.schemapath) = "/aps/aps-modules/aps-module/ports/line-primary-out/config/target-attenuation"];
  inline bool Aps_ApsModules_ApsModule_Ports_LinePrimaryOut_Config::has_target_attenuation() const {
    return this != internal_default_instance() && target_attenuation_ != NULL;
  }
  inline const ::ywrapper::Decimal64Value& Aps_ApsModules_ApsModule_Ports_LinePrimaryOut_Config::target_attenuation() const {
    const ::ywrapper::Decimal64Value* p = target_attenuation_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.LinePrimaryOut.Config.target_attenuation)
    return p != NULL ? *p : *reinterpret_cast<const ::ywrapper::Decimal64Value*>(
        &::ywrapper::_Decimal64Value_default_instance_);
  }
  inline ::ywrapper::Decimal64Value* Aps_ApsModules_ApsModule_Ports_LinePrimaryOut_Config::release_target_attenuation() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.LinePrimaryOut.Config.target_attenuation)
    
    ::ywrapper::Decimal64Value* temp = target_attenuation_;
    target_attenuation_ = NULL;
    return temp;
  }
  inline ::ywrapper::Decimal64Value* Aps_ApsModules_ApsModule_Ports_LinePrimaryOut_Config::mutable_target_attenuation() {
    
    if (target_attenuation_ == NULL) {
      target_attenuation_ = new ::ywrapper::Decimal64Value;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.LinePrimaryOut.Config.target_attenuation)
    return target_attenuation_;
  }
  inline void Aps_ApsModules_ApsModule_Ports_LinePrimaryOut_Config::set_allocated_target_attenuation(::ywrapper::Decimal64Value* target_attenuation) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete reinterpret_cast< ::google::protobuf::MessageLite*>(target_attenuation_);
    }
    if (target_attenuation) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        target_attenuation = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, target_attenuation, submessage_arena);
      }
      
    } else {
      
    }
    target_attenuation_ = target_attenuation;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.LinePrimaryOut.Config.target_attenuation)
  }
  
  // -------------------------------------------------------------------
  
  // Aps_ApsModules_ApsModule_Ports_LinePrimaryOut_State_OpticalPower
  
  // .ywrapper.Decimal64Value avg = 387984865 [(.yext.schemapath) = "/aps/aps-modules/aps-module/ports/line-primary-out/state/optical-power/avg"];
  inline bool Aps_ApsModules_ApsModule_Ports_LinePrimaryOut_State_OpticalPower::has_avg() const {
    return this != internal_default_instance() && avg_ != NULL;
  }
  inline const ::ywrapper::Decimal64Value& Aps_ApsModules_ApsModule_Ports_LinePrimaryOut_State_OpticalPower::avg() const {
    const ::ywrapper::Decimal64Value* p = avg_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.LinePrimaryOut.State.OpticalPower.avg)
    return p != NULL ? *p : *reinterpret_cast<const ::ywrapper::Decimal64Value*>(
        &::ywrapper::_Decimal64Value_default_instance_);
  }
  inline ::ywrapper::Decimal64Value* Aps_ApsModules_ApsModule_Ports_LinePrimaryOut_State_OpticalPower::release_avg() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.LinePrimaryOut.State.OpticalPower.avg)
    
    ::ywrapper::Decimal64Value* temp = avg_;
    avg_ = NULL;
    return temp;
  }
  inline ::ywrapper::Decimal64Value* Aps_ApsModules_ApsModule_Ports_LinePrimaryOut_State_OpticalPower::mutable_avg() {
    
    if (avg_ == NULL) {
      avg_ = new ::ywrapper::Decimal64Value;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.LinePrimaryOut.State.OpticalPower.avg)
    return avg_;
  }
  inline void Aps_ApsModules_ApsModule_Ports_LinePrimaryOut_State_OpticalPower::set_allocated_avg(::ywrapper::Decimal64Value* avg) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete reinterpret_cast< ::google::protobuf::MessageLite*>(avg_);
    }
    if (avg) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        avg = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, avg, submessage_arena);
      }
      
    } else {
      
    }
    avg_ = avg;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.LinePrimaryOut.State.OpticalPower.avg)
  }
  
  // .ywrapper.Decimal64Value instant = 143166638 [(.yext.schemapath) = "/aps/aps-modules/aps-module/ports/line-primary-out/state/optical-power/instant"];
  inline bool Aps_ApsModules_ApsModule_Ports_LinePrimaryOut_State_OpticalPower::has_instant() const {
    return this != internal_default_instance() && instant_ != NULL;
  }
  inline const ::ywrapper::Decimal64Value& Aps_ApsModules_ApsModule_Ports_LinePrimaryOut_State_OpticalPower::instant() const {
    const ::ywrapper::Decimal64Value* p = instant_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.LinePrimaryOut.State.OpticalPower.instant)
    return p != NULL ? *p : *reinterpret_cast<const ::ywrapper::Decimal64Value*>(
        &::ywrapper::_Decimal64Value_default_instance_);
  }
  inline ::ywrapper::Decimal64Value* Aps_ApsModules_ApsModule_Ports_LinePrimaryOut_State_OpticalPower::release_instant() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.LinePrimaryOut.State.OpticalPower.instant)
    
    ::ywrapper::Decimal64Value* temp = instant_;
    instant_ = NULL;
    return temp;
  }
  inline ::ywrapper::Decimal64Value* Aps_ApsModules_ApsModule_Ports_LinePrimaryOut_State_OpticalPower::mutable_instant() {
    
    if (instant_ == NULL) {
      instant_ = new ::ywrapper::Decimal64Value;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.LinePrimaryOut.State.OpticalPower.instant)
    return instant_;
  }
  inline void Aps_ApsModules_ApsModule_Ports_LinePrimaryOut_State_OpticalPower::set_allocated_instant(::ywrapper::Decimal64Value* instant) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete reinterpret_cast< ::google::protobuf::MessageLite*>(instant_);
    }
    if (instant) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        instant = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, instant, submessage_arena);
      }
      
    } else {
      
    }
    instant_ = instant;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.LinePrimaryOut.State.OpticalPower.instant)
  }
  
  // .ywrapper.UintValue interval = 25931648 [(.yext.schemapath) = "/aps/aps-modules/aps-module/ports/line-primary-out/state/optical-power/interval"];
  inline bool Aps_ApsModules_ApsModule_Ports_LinePrimaryOut_State_OpticalPower::has_interval() const {
    return this != internal_default_instance() && interval_ != NULL;
  }
  inline const ::ywrapper::UintValue& Aps_ApsModules_ApsModule_Ports_LinePrimaryOut_State_OpticalPower::interval() const {
    const ::ywrapper::UintValue* p = interval_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.LinePrimaryOut.State.OpticalPower.interval)
    return p != NULL ? *p : *reinterpret_cast<const ::ywrapper::UintValue*>(
        &::ywrapper::_UintValue_default_instance_);
  }
  inline ::ywrapper::UintValue* Aps_ApsModules_ApsModule_Ports_LinePrimaryOut_State_OpticalPower::release_interval() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.LinePrimaryOut.State.OpticalPower.interval)
    
    ::ywrapper::UintValue* temp = interval_;
    interval_ = NULL;
    return temp;
  }
  inline ::ywrapper::UintValue* Aps_ApsModules_ApsModule_Ports_LinePrimaryOut_State_OpticalPower::mutable_interval() {
    
    if (interval_ == NULL) {
      interval_ = new ::ywrapper::UintValue;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.LinePrimaryOut.State.OpticalPower.interval)
    return interval_;
  }
  inline void Aps_ApsModules_ApsModule_Ports_LinePrimaryOut_State_OpticalPower::set_allocated_interval(::ywrapper::UintValue* interval) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete reinterpret_cast< ::google::protobuf::MessageLite*>(interval_);
    }
    if (interval) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        interval = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, interval, submessage_arena);
      }
      
    } else {
      
    }
    interval_ = interval;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.LinePrimaryOut.State.OpticalPower.interval)
  }
  
  // .ywrapper.Decimal64Value max = 33696187 [(.yext.schemapath) = "/aps/aps-modules/aps-module/ports/line-primary-out/state/optical-power/max"];
  inline bool Aps_ApsModules_ApsModule_Ports_LinePrimaryOut_State_OpticalPower::has_max() const {
    return this != internal_default_instance() && max_ != NULL;
  }
  inline const ::ywrapper::Decimal64Value& Aps_ApsModules_ApsModule_Ports_LinePrimaryOut_State_OpticalPower::max() const {
    const ::ywrapper::Decimal64Value* p = max_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.LinePrimaryOut.State.OpticalPower.max)
    return p != NULL ? *p : *reinterpret_cast<const ::ywrapper::Decimal64Value*>(
        &::ywrapper::_Decimal64Value_default_instance_);
  }
  inline ::ywrapper::Decimal64Value* Aps_ApsModules_ApsModule_Ports_LinePrimaryOut_State_OpticalPower::release_max() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.LinePrimaryOut.State.OpticalPower.max)
    
    ::ywrapper::Decimal64Value* temp = max_;
    max_ = NULL;
    return temp;
  }
  inline ::ywrapper::Decimal64Value* Aps_ApsModules_ApsModule_Ports_LinePrimaryOut_State_OpticalPower::mutable_max() {
    
    if (max_ == NULL) {
      max_ = new ::ywrapper::Decimal64Value;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.LinePrimaryOut.State.OpticalPower.max)
    return max_;
  }
  inline void Aps_ApsModules_ApsModule_Ports_LinePrimaryOut_State_OpticalPower::set_allocated_max(::ywrapper::Decimal64Value* max) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete reinterpret_cast< ::google::protobuf::MessageLite*>(max_);
    }
    if (max) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        max = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, max, submessage_arena);
      }
      
    } else {
      
    }
    max_ = max;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.LinePrimaryOut.State.OpticalPower.max)
  }
  
  // .ywrapper.Decimal64Value min = 167917109 [(.yext.schemapath) = "/aps/aps-modules/aps-module/ports/line-primary-out/state/optical-power/min"];
  inline bool Aps_ApsModules_ApsModule_Ports_LinePrimaryOut_State_OpticalPower::has_min() const {
    return this != internal_default_instance() && min_ != NULL;
  }
  inline const ::ywrapper::Decimal64Value& Aps_ApsModules_ApsModule_Ports_LinePrimaryOut_State_OpticalPower::min() const {
    const ::ywrapper::Decimal64Value* p = min_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.LinePrimaryOut.State.OpticalPower.min)
    return p != NULL ? *p : *reinterpret_cast<const ::ywrapper::Decimal64Value*>(
        &::ywrapper::_Decimal64Value_default_instance_);
  }
  inline ::ywrapper::Decimal64Value* Aps_ApsModules_ApsModule_Ports_LinePrimaryOut_State_OpticalPower::release_min() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.LinePrimaryOut.State.OpticalPower.min)
    
    ::ywrapper::Decimal64Value* temp = min_;
    min_ = NULL;
    return temp;
  }
  inline ::ywrapper::Decimal64Value* Aps_ApsModules_ApsModule_Ports_LinePrimaryOut_State_OpticalPower::mutable_min() {
    
    if (min_ == NULL) {
      min_ = new ::ywrapper::Decimal64Value;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.LinePrimaryOut.State.OpticalPower.min)
    return min_;
  }
  inline void Aps_ApsModules_ApsModule_Ports_LinePrimaryOut_State_OpticalPower::set_allocated_min(::ywrapper::Decimal64Value* min) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete reinterpret_cast< ::google::protobuf::MessageLite*>(min_);
    }
    if (min) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        min = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, min, submessage_arena);
      }
      
    } else {
      
    }
    min_ = min;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.LinePrimaryOut.State.OpticalPower.min)
  }
  
  // -------------------------------------------------------------------
  
  // Aps_ApsModules_ApsModule_Ports_LinePrimaryOut_State
  
  // .ywrapper.Decimal64Value attenuation = 504223668 [(.yext.schemapath) = "/aps/aps-modules/aps-module/ports/line-primary-out/state/attenuation"];
  inline bool Aps_ApsModules_ApsModule_Ports_LinePrimaryOut_State::has_attenuation() const {
    return this != internal_default_instance() && attenuation_ != NULL;
  }
  inline const ::ywrapper::Decimal64Value& Aps_ApsModules_ApsModule_Ports_LinePrimaryOut_State::attenuation() const {
    const ::ywrapper::Decimal64Value* p = attenuation_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.LinePrimaryOut.State.attenuation)
    return p != NULL ? *p : *reinterpret_cast<const ::ywrapper::Decimal64Value*>(
        &::ywrapper::_Decimal64Value_default_instance_);
  }
  inline ::ywrapper::Decimal64Value* Aps_ApsModules_ApsModule_Ports_LinePrimaryOut_State::release_attenuation() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.LinePrimaryOut.State.attenuation)
    
    ::ywrapper::Decimal64Value* temp = attenuation_;
    attenuation_ = NULL;
    return temp;
  }
  inline ::ywrapper::Decimal64Value* Aps_ApsModules_ApsModule_Ports_LinePrimaryOut_State::mutable_attenuation() {
    
    if (attenuation_ == NULL) {
      attenuation_ = new ::ywrapper::Decimal64Value;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.LinePrimaryOut.State.attenuation)
    return attenuation_;
  }
  inline void Aps_ApsModules_ApsModule_Ports_LinePrimaryOut_State::set_allocated_attenuation(::ywrapper::Decimal64Value* attenuation) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete reinterpret_cast< ::google::protobuf::MessageLite*>(attenuation_);
    }
    if (attenuation) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        attenuation = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, attenuation, submessage_arena);
      }
      
    } else {
      
    }
    attenuation_ = attenuation;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.LinePrimaryOut.State.attenuation)
  }
  
  // .openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.LinePrimaryOut.State.OpticalPower optical_power = 263606976 [(.yext.schemapath) = "/aps/aps-modules/aps-module/ports/line-primary-out/state/optical-power"];
  inline bool Aps_ApsModules_ApsModule_Ports_LinePrimaryOut_State::has_optical_power() const {
    return this != internal_default_instance() && optical_power_ != NULL;
  }
  inline void Aps_ApsModules_ApsModule_Ports_LinePrimaryOut_State::clear_optical_power() {
    if (GetArenaNoVirtual() == NULL && optical_power_ != NULL) {
      delete optical_power_;
    }
    optical_power_ = NULL;
  }
  inline const ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_LinePrimaryOut_State_OpticalPower& Aps_ApsModules_ApsModule_Ports_LinePrimaryOut_State::optical_power() const {
    const ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_LinePrimaryOut_State_OpticalPower* p = optical_power_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.LinePrimaryOut.State.optical_power)
    return p != NULL ? *p : *reinterpret_cast<const ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_LinePrimaryOut_State_OpticalPower*>(
        &::openconfig::openconfig_transport_line_protection::_Aps_ApsModules_ApsModule_Ports_LinePrimaryOut_State_OpticalPower_default_instance_);
  }
  inline ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_LinePrimaryOut_State_OpticalPower* Aps_ApsModules_ApsModule_Ports_LinePrimaryOut_State::release_optical_power() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.LinePrimaryOut.State.optical_power)
    
    ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_LinePrimaryOut_State_OpticalPower* temp = optical_power_;
    optical_power_ = NULL;
    return temp;
  }
  inline ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_LinePrimaryOut_State_OpticalPower* Aps_ApsModules_ApsModule_Ports_LinePrimaryOut_State::mutable_optical_power() {
    
    if (optical_power_ == NULL) {
      optical_power_ = new ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_LinePrimaryOut_State_OpticalPower;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.LinePrimaryOut.State.optical_power)
    return optical_power_;
  }
  inline void Aps_ApsModules_ApsModule_Ports_LinePrimaryOut_State::set_allocated_optical_power(::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_LinePrimaryOut_State_OpticalPower* optical_power) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete optical_power_;
    }
    if (optical_power) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        optical_power = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, optical_power, submessage_arena);
      }
      
    } else {
      
    }
    optical_power_ = optical_power;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.LinePrimaryOut.State.optical_power)
  }
  
  // .ywrapper.Decimal64Value target_attenuation = 287169232 [(.yext.schemapath) = "/aps/aps-modules/aps-module/ports/line-primary-out/state/target-attenuation"];
  inline bool Aps_ApsModules_ApsModule_Ports_LinePrimaryOut_State::has_target_attenuation() const {
    return this != internal_default_instance() && target_attenuation_ != NULL;
  }
  inline const ::ywrapper::Decimal64Value& Aps_ApsModules_ApsModule_Ports_LinePrimaryOut_State::target_attenuation() const {
    const ::ywrapper::Decimal64Value* p = target_attenuation_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.LinePrimaryOut.State.target_attenuation)
    return p != NULL ? *p : *reinterpret_cast<const ::ywrapper::Decimal64Value*>(
        &::ywrapper::_Decimal64Value_default_instance_);
  }
  inline ::ywrapper::Decimal64Value* Aps_ApsModules_ApsModule_Ports_LinePrimaryOut_State::release_target_attenuation() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.LinePrimaryOut.State.target_attenuation)
    
    ::ywrapper::Decimal64Value* temp = target_attenuation_;
    target_attenuation_ = NULL;
    return temp;
  }
  inline ::ywrapper::Decimal64Value* Aps_ApsModules_ApsModule_Ports_LinePrimaryOut_State::mutable_target_attenuation() {
    
    if (target_attenuation_ == NULL) {
      target_attenuation_ = new ::ywrapper::Decimal64Value;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.LinePrimaryOut.State.target_attenuation)
    return target_attenuation_;
  }
  inline void Aps_ApsModules_ApsModule_Ports_LinePrimaryOut_State::set_allocated_target_attenuation(::ywrapper::Decimal64Value* target_attenuation) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete reinterpret_cast< ::google::protobuf::MessageLite*>(target_attenuation_);
    }
    if (target_attenuation) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        target_attenuation = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, target_attenuation, submessage_arena);
      }
      
    } else {
      
    }
    target_attenuation_ = target_attenuation;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.LinePrimaryOut.State.target_attenuation)
  }
  
  // -------------------------------------------------------------------
  
  // Aps_ApsModules_ApsModule_Ports_LinePrimaryOut
  
  // .openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.LinePrimaryOut.Config config = 446253792 [(.yext.schemapath) = "/aps/aps-modules/aps-module/ports/line-primary-out/config"];
  inline bool Aps_ApsModules_ApsModule_Ports_LinePrimaryOut::has_config() const {
    return this != internal_default_instance() && config_ != NULL;
  }
  inline void Aps_ApsModules_ApsModule_Ports_LinePrimaryOut::clear_config() {
    if (GetArenaNoVirtual() == NULL && config_ != NULL) {
      delete config_;
    }
    config_ = NULL;
  }
  inline const ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_LinePrimaryOut_Config& Aps_ApsModules_ApsModule_Ports_LinePrimaryOut::config() const {
    const ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_LinePrimaryOut_Config* p = config_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.LinePrimaryOut.config)
    return p != NULL ? *p : *reinterpret_cast<const ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_LinePrimaryOut_Config*>(
        &::openconfig::openconfig_transport_line_protection::_Aps_ApsModules_ApsModule_Ports_LinePrimaryOut_Config_default_instance_);
  }
  inline ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_LinePrimaryOut_Config* Aps_ApsModules_ApsModule_Ports_LinePrimaryOut::release_config() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.LinePrimaryOut.config)
    
    ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_LinePrimaryOut_Config* temp = config_;
    config_ = NULL;
    return temp;
  }
  inline ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_LinePrimaryOut_Config* Aps_ApsModules_ApsModule_Ports_LinePrimaryOut::mutable_config() {
    
    if (config_ == NULL) {
      config_ = new ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_LinePrimaryOut_Config;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.LinePrimaryOut.config)
    return config_;
  }
  inline void Aps_ApsModules_ApsModule_Ports_LinePrimaryOut::set_allocated_config(::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_LinePrimaryOut_Config* config) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete config_;
    }
    if (config) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        config = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, config, submessage_arena);
      }
      
    } else {
      
    }
    config_ = config;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.LinePrimaryOut.config)
  }
  
  // .openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.LinePrimaryOut.State state = 458616665 [(.yext.schemapath) = "/aps/aps-modules/aps-module/ports/line-primary-out/state"];
  inline bool Aps_ApsModules_ApsModule_Ports_LinePrimaryOut::has_state() const {
    return this != internal_default_instance() && state_ != NULL;
  }
  inline void Aps_ApsModules_ApsModule_Ports_LinePrimaryOut::clear_state() {
    if (GetArenaNoVirtual() == NULL && state_ != NULL) {
      delete state_;
    }
    state_ = NULL;
  }
  inline const ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_LinePrimaryOut_State& Aps_ApsModules_ApsModule_Ports_LinePrimaryOut::state() const {
    const ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_LinePrimaryOut_State* p = state_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.LinePrimaryOut.state)
    return p != NULL ? *p : *reinterpret_cast<const ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_LinePrimaryOut_State*>(
        &::openconfig::openconfig_transport_line_protection::_Aps_ApsModules_ApsModule_Ports_LinePrimaryOut_State_default_instance_);
  }
  inline ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_LinePrimaryOut_State* Aps_ApsModules_ApsModule_Ports_LinePrimaryOut::release_state() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.LinePrimaryOut.state)
    
    ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_LinePrimaryOut_State* temp = state_;
    state_ = NULL;
    return temp;
  }
  inline ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_LinePrimaryOut_State* Aps_ApsModules_ApsModule_Ports_LinePrimaryOut::mutable_state() {
    
    if (state_ == NULL) {
      state_ = new ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_LinePrimaryOut_State;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.LinePrimaryOut.state)
    return state_;
  }
  inline void Aps_ApsModules_ApsModule_Ports_LinePrimaryOut::set_allocated_state(::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_LinePrimaryOut_State* state) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete state_;
    }
    if (state) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        state = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, state, submessage_arena);
      }
      
    } else {
      
    }
    state_ = state;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.LinePrimaryOut.state)
  }
  
  // -------------------------------------------------------------------
  
  // Aps_ApsModules_ApsModule_Ports_LineSecondaryIn_Config
  
  // .ywrapper.BoolValue enabled = 339894779 [(.yext.schemapath) = "/aps/aps-modules/aps-module/ports/line-secondary-in/config/enabled"];
  inline bool Aps_ApsModules_ApsModule_Ports_LineSecondaryIn_Config::has_enabled() const {
    return this != internal_default_instance() && enabled_ != NULL;
  }
  inline const ::ywrapper::BoolValue& Aps_ApsModules_ApsModule_Ports_LineSecondaryIn_Config::enabled() const {
    const ::ywrapper::BoolValue* p = enabled_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.LineSecondaryIn.Config.enabled)
    return p != NULL ? *p : *reinterpret_cast<const ::ywrapper::BoolValue*>(
        &::ywrapper::_BoolValue_default_instance_);
  }
  inline ::ywrapper::BoolValue* Aps_ApsModules_ApsModule_Ports_LineSecondaryIn_Config::release_enabled() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.LineSecondaryIn.Config.enabled)
    
    ::ywrapper::BoolValue* temp = enabled_;
    enabled_ = NULL;
    return temp;
  }
  inline ::ywrapper::BoolValue* Aps_ApsModules_ApsModule_Ports_LineSecondaryIn_Config::mutable_enabled() {
    
    if (enabled_ == NULL) {
      enabled_ = new ::ywrapper::BoolValue;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.LineSecondaryIn.Config.enabled)
    return enabled_;
  }
  inline void Aps_ApsModules_ApsModule_Ports_LineSecondaryIn_Config::set_allocated_enabled(::ywrapper::BoolValue* enabled) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete reinterpret_cast< ::google::protobuf::MessageLite*>(enabled_);
    }
    if (enabled) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        enabled = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, enabled, submessage_arena);
      }
      
    } else {
      
    }
    enabled_ = enabled;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.LineSecondaryIn.Config.enabled)
  }
  
  // .ywrapper.Decimal64Value target_attenuation = 455834596 [(.yext.schemapath) = "/aps/aps-modules/aps-module/ports/line-secondary-in/config/target-attenuation"];
  inline bool Aps_ApsModules_ApsModule_Ports_LineSecondaryIn_Config::has_target_attenuation() const {
    return this != internal_default_instance() && target_attenuation_ != NULL;
  }
  inline const ::ywrapper::Decimal64Value& Aps_ApsModules_ApsModule_Ports_LineSecondaryIn_Config::target_attenuation() const {
    const ::ywrapper::Decimal64Value* p = target_attenuation_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.LineSecondaryIn.Config.target_attenuation)
    return p != NULL ? *p : *reinterpret_cast<const ::ywrapper::Decimal64Value*>(
        &::ywrapper::_Decimal64Value_default_instance_);
  }
  inline ::ywrapper::Decimal64Value* Aps_ApsModules_ApsModule_Ports_LineSecondaryIn_Config::release_target_attenuation() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.LineSecondaryIn.Config.target_attenuation)
    
    ::ywrapper::Decimal64Value* temp = target_attenuation_;
    target_attenuation_ = NULL;
    return temp;
  }
  inline ::ywrapper::Decimal64Value* Aps_ApsModules_ApsModule_Ports_LineSecondaryIn_Config::mutable_target_attenuation() {
    
    if (target_attenuation_ == NULL) {
      target_attenuation_ = new ::ywrapper::Decimal64Value;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.LineSecondaryIn.Config.target_attenuation)
    return target_attenuation_;
  }
  inline void Aps_ApsModules_ApsModule_Ports_LineSecondaryIn_Config::set_allocated_target_attenuation(::ywrapper::Decimal64Value* target_attenuation) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete reinterpret_cast< ::google::protobuf::MessageLite*>(target_attenuation_);
    }
    if (target_attenuation) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        target_attenuation = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, target_attenuation, submessage_arena);
      }
      
    } else {
      
    }
    target_attenuation_ = target_attenuation;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.LineSecondaryIn.Config.target_attenuation)
  }
  
  // -------------------------------------------------------------------
  
  // Aps_ApsModules_ApsModule_Ports_LineSecondaryIn_State_OpticalPower
  
  // .ywrapper.Decimal64Value avg = 284575322 [(.yext.schemapath) = "/aps/aps-modules/aps-module/ports/line-secondary-in/state/optical-power/avg"];
  inline bool Aps_ApsModules_ApsModule_Ports_LineSecondaryIn_State_OpticalPower::has_avg() const {
    return this != internal_default_instance() && avg_ != NULL;
  }
  inline const ::ywrapper::Decimal64Value& Aps_ApsModules_ApsModule_Ports_LineSecondaryIn_State_OpticalPower::avg() const {
    const ::ywrapper::Decimal64Value* p = avg_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.LineSecondaryIn.State.OpticalPower.avg)
    return p != NULL ? *p : *reinterpret_cast<const ::ywrapper::Decimal64Value*>(
        &::ywrapper::_Decimal64Value_default_instance_);
  }
  inline ::ywrapper::Decimal64Value* Aps_ApsModules_ApsModule_Ports_LineSecondaryIn_State_OpticalPower::release_avg() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.LineSecondaryIn.State.OpticalPower.avg)
    
    ::ywrapper::Decimal64Value* temp = avg_;
    avg_ = NULL;
    return temp;
  }
  inline ::ywrapper::Decimal64Value* Aps_ApsModules_ApsModule_Ports_LineSecondaryIn_State_OpticalPower::mutable_avg() {
    
    if (avg_ == NULL) {
      avg_ = new ::ywrapper::Decimal64Value;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.LineSecondaryIn.State.OpticalPower.avg)
    return avg_;
  }
  inline void Aps_ApsModules_ApsModule_Ports_LineSecondaryIn_State_OpticalPower::set_allocated_avg(::ywrapper::Decimal64Value* avg) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete reinterpret_cast< ::google::protobuf::MessageLite*>(avg_);
    }
    if (avg) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        avg = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, avg, submessage_arena);
      }
      
    } else {
      
    }
    avg_ = avg;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.LineSecondaryIn.State.OpticalPower.avg)
  }
  
  // .ywrapper.Decimal64Value instant = 497136345 [(.yext.schemapath) = "/aps/aps-modules/aps-module/ports/line-secondary-in/state/optical-power/instant"];
  inline bool Aps_ApsModules_ApsModule_Ports_LineSecondaryIn_State_OpticalPower::has_instant() const {
    return this != internal_default_instance() && instant_ != NULL;
  }
  inline const ::ywrapper::Decimal64Value& Aps_ApsModules_ApsModule_Ports_LineSecondaryIn_State_OpticalPower::instant() const {
    const ::ywrapper::Decimal64Value* p = instant_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.LineSecondaryIn.State.OpticalPower.instant)
    return p != NULL ? *p : *reinterpret_cast<const ::ywrapper::Decimal64Value*>(
        &::ywrapper::_Decimal64Value_default_instance_);
  }
  inline ::ywrapper::Decimal64Value* Aps_ApsModules_ApsModule_Ports_LineSecondaryIn_State_OpticalPower::release_instant() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.LineSecondaryIn.State.OpticalPower.instant)
    
    ::ywrapper::Decimal64Value* temp = instant_;
    instant_ = NULL;
    return temp;
  }
  inline ::ywrapper::Decimal64Value* Aps_ApsModules_ApsModule_Ports_LineSecondaryIn_State_OpticalPower::mutable_instant() {
    
    if (instant_ == NULL) {
      instant_ = new ::ywrapper::Decimal64Value;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.LineSecondaryIn.State.OpticalPower.instant)
    return instant_;
  }
  inline void Aps_ApsModules_ApsModule_Ports_LineSecondaryIn_State_OpticalPower::set_allocated_instant(::ywrapper::Decimal64Value* instant) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete reinterpret_cast< ::google::protobuf::MessageLite*>(instant_);
    }
    if (instant) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        instant = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, instant, submessage_arena);
      }
      
    } else {
      
    }
    instant_ = instant;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.LineSecondaryIn.State.OpticalPower.instant)
  }
  
  // .ywrapper.UintValue interval = 298718397 [(.yext.schemapath) = "/aps/aps-modules/aps-module/ports/line-secondary-in/state/optical-power/interval"];
  inline bool Aps_ApsModules_ApsModule_Ports_LineSecondaryIn_State_OpticalPower::has_interval() const {
    return this != internal_default_instance() && interval_ != NULL;
  }
  inline const ::ywrapper::UintValue& Aps_ApsModules_ApsModule_Ports_LineSecondaryIn_State_OpticalPower::interval() const {
    const ::ywrapper::UintValue* p = interval_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.LineSecondaryIn.State.OpticalPower.interval)
    return p != NULL ? *p : *reinterpret_cast<const ::ywrapper::UintValue*>(
        &::ywrapper::_UintValue_default_instance_);
  }
  inline ::ywrapper::UintValue* Aps_ApsModules_ApsModule_Ports_LineSecondaryIn_State_OpticalPower::release_interval() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.LineSecondaryIn.State.OpticalPower.interval)
    
    ::ywrapper::UintValue* temp = interval_;
    interval_ = NULL;
    return temp;
  }
  inline ::ywrapper::UintValue* Aps_ApsModules_ApsModule_Ports_LineSecondaryIn_State_OpticalPower::mutable_interval() {
    
    if (interval_ == NULL) {
      interval_ = new ::ywrapper::UintValue;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.LineSecondaryIn.State.OpticalPower.interval)
    return interval_;
  }
  inline void Aps_ApsModules_ApsModule_Ports_LineSecondaryIn_State_OpticalPower::set_allocated_interval(::ywrapper::UintValue* interval) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete reinterpret_cast< ::google::protobuf::MessageLite*>(interval_);
    }
    if (interval) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        interval = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, interval, submessage_arena);
      }
      
    } else {
      
    }
    interval_ = interval;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.LineSecondaryIn.State.OpticalPower.interval)
  }
  
  // .ywrapper.Decimal64Value max = 34792300 [(.yext.schemapath) = "/aps/aps-modules/aps-module/ports/line-secondary-in/state/optical-power/max"];
  inline bool Aps_ApsModules_ApsModule_Ports_LineSecondaryIn_State_OpticalPower::has_max() const {
    return this != internal_default_instance() && max_ != NULL;
  }
  inline const ::ywrapper::Decimal64Value& Aps_ApsModules_ApsModule_Ports_LineSecondaryIn_State_OpticalPower::max() const {
    const ::ywrapper::Decimal64Value* p = max_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.LineSecondaryIn.State.OpticalPower.max)
    return p != NULL ? *p : *reinterpret_cast<const ::ywrapper::Decimal64Value*>(
        &::ywrapper::_Decimal64Value_default_instance_);
  }
  inline ::ywrapper::Decimal64Value* Aps_ApsModules_ApsModule_Ports_LineSecondaryIn_State_OpticalPower::release_max() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.LineSecondaryIn.State.OpticalPower.max)
    
    ::ywrapper::Decimal64Value* temp = max_;
    max_ = NULL;
    return temp;
  }
  inline ::ywrapper::Decimal64Value* Aps_ApsModules_ApsModule_Ports_LineSecondaryIn_State_OpticalPower::mutable_max() {
    
    if (max_ == NULL) {
      max_ = new ::ywrapper::Decimal64Value;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.LineSecondaryIn.State.OpticalPower.max)
    return max_;
  }
  inline void Aps_ApsModules_ApsModule_Ports_LineSecondaryIn_State_OpticalPower::set_allocated_max(::ywrapper::Decimal64Value* max) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete reinterpret_cast< ::google::protobuf::MessageLite*>(max_);
    }
    if (max) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        max = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, max, submessage_arena);
      }
      
    } else {
      
    }
    max_ = max;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.LineSecondaryIn.State.OpticalPower.max)
  }
  
  // .ywrapper.Decimal64Value min = 437442066 [(.yext.schemapath) = "/aps/aps-modules/aps-module/ports/line-secondary-in/state/optical-power/min"];
  inline bool Aps_ApsModules_ApsModule_Ports_LineSecondaryIn_State_OpticalPower::has_min() const {
    return this != internal_default_instance() && min_ != NULL;
  }
  inline const ::ywrapper::Decimal64Value& Aps_ApsModules_ApsModule_Ports_LineSecondaryIn_State_OpticalPower::min() const {
    const ::ywrapper::Decimal64Value* p = min_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.LineSecondaryIn.State.OpticalPower.min)
    return p != NULL ? *p : *reinterpret_cast<const ::ywrapper::Decimal64Value*>(
        &::ywrapper::_Decimal64Value_default_instance_);
  }
  inline ::ywrapper::Decimal64Value* Aps_ApsModules_ApsModule_Ports_LineSecondaryIn_State_OpticalPower::release_min() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.LineSecondaryIn.State.OpticalPower.min)
    
    ::ywrapper::Decimal64Value* temp = min_;
    min_ = NULL;
    return temp;
  }
  inline ::ywrapper::Decimal64Value* Aps_ApsModules_ApsModule_Ports_LineSecondaryIn_State_OpticalPower::mutable_min() {
    
    if (min_ == NULL) {
      min_ = new ::ywrapper::Decimal64Value;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.LineSecondaryIn.State.OpticalPower.min)
    return min_;
  }
  inline void Aps_ApsModules_ApsModule_Ports_LineSecondaryIn_State_OpticalPower::set_allocated_min(::ywrapper::Decimal64Value* min) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete reinterpret_cast< ::google::protobuf::MessageLite*>(min_);
    }
    if (min) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        min = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, min, submessage_arena);
      }
      
    } else {
      
    }
    min_ = min;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.LineSecondaryIn.State.OpticalPower.min)
  }
  
  // -------------------------------------------------------------------
  
  // Aps_ApsModules_ApsModule_Ports_LineSecondaryIn_State
  
  // .ywrapper.Decimal64Value attenuation = 390117215 [(.yext.schemapath) = "/aps/aps-modules/aps-module/ports/line-secondary-in/state/attenuation"];
  inline bool Aps_ApsModules_ApsModule_Ports_LineSecondaryIn_State::has_attenuation() const {
    return this != internal_default_instance() && attenuation_ != NULL;
  }
  inline const ::ywrapper::Decimal64Value& Aps_ApsModules_ApsModule_Ports_LineSecondaryIn_State::attenuation() const {
    const ::ywrapper::Decimal64Value* p = attenuation_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.LineSecondaryIn.State.attenuation)
    return p != NULL ? *p : *reinterpret_cast<const ::ywrapper::Decimal64Value*>(
        &::ywrapper::_Decimal64Value_default_instance_);
  }
  inline ::ywrapper::Decimal64Value* Aps_ApsModules_ApsModule_Ports_LineSecondaryIn_State::release_attenuation() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.LineSecondaryIn.State.attenuation)
    
    ::ywrapper::Decimal64Value* temp = attenuation_;
    attenuation_ = NULL;
    return temp;
  }
  inline ::ywrapper::Decimal64Value* Aps_ApsModules_ApsModule_Ports_LineSecondaryIn_State::mutable_attenuation() {
    
    if (attenuation_ == NULL) {
      attenuation_ = new ::ywrapper::Decimal64Value;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.LineSecondaryIn.State.attenuation)
    return attenuation_;
  }
  inline void Aps_ApsModules_ApsModule_Ports_LineSecondaryIn_State::set_allocated_attenuation(::ywrapper::Decimal64Value* attenuation) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete reinterpret_cast< ::google::protobuf::MessageLite*>(attenuation_);
    }
    if (attenuation) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        attenuation = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, attenuation, submessage_arena);
      }
      
    } else {
      
    }
    attenuation_ = attenuation;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.LineSecondaryIn.State.attenuation)
  }
  
  // .ywrapper.BoolValue enabled = 503808424 [(.yext.schemapath) = "/aps/aps-modules/aps-module/ports/line-secondary-in/state/enabled"];
  inline bool Aps_ApsModules_ApsModule_Ports_LineSecondaryIn_State::has_enabled() const {
    return this != internal_default_instance() && enabled_ != NULL;
  }
  inline const ::ywrapper::BoolValue& Aps_ApsModules_ApsModule_Ports_LineSecondaryIn_State::enabled() const {
    const ::ywrapper::BoolValue* p = enabled_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.LineSecondaryIn.State.enabled)
    return p != NULL ? *p : *reinterpret_cast<const ::ywrapper::BoolValue*>(
        &::ywrapper::_BoolValue_default_instance_);
  }
  inline ::ywrapper::BoolValue* Aps_ApsModules_ApsModule_Ports_LineSecondaryIn_State::release_enabled() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.LineSecondaryIn.State.enabled)
    
    ::ywrapper::BoolValue* temp = enabled_;
    enabled_ = NULL;
    return temp;
  }
  inline ::ywrapper::BoolValue* Aps_ApsModules_ApsModule_Ports_LineSecondaryIn_State::mutable_enabled() {
    
    if (enabled_ == NULL) {
      enabled_ = new ::ywrapper::BoolValue;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.LineSecondaryIn.State.enabled)
    return enabled_;
  }
  inline void Aps_ApsModules_ApsModule_Ports_LineSecondaryIn_State::set_allocated_enabled(::ywrapper::BoolValue* enabled) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete reinterpret_cast< ::google::protobuf::MessageLite*>(enabled_);
    }
    if (enabled) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        enabled = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, enabled, submessage_arena);
      }
      
    } else {
      
    }
    enabled_ = enabled;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.LineSecondaryIn.State.enabled)
  }
  
  // .openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.LineSecondaryIn.State.OpticalPower optical_power = 413857507 [(.yext.schemapath) = "/aps/aps-modules/aps-module/ports/line-secondary-in/state/optical-power"];
  inline bool Aps_ApsModules_ApsModule_Ports_LineSecondaryIn_State::has_optical_power() const {
    return this != internal_default_instance() && optical_power_ != NULL;
  }
  inline void Aps_ApsModules_ApsModule_Ports_LineSecondaryIn_State::clear_optical_power() {
    if (GetArenaNoVirtual() == NULL && optical_power_ != NULL) {
      delete optical_power_;
    }
    optical_power_ = NULL;
  }
  inline const ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_LineSecondaryIn_State_OpticalPower& Aps_ApsModules_ApsModule_Ports_LineSecondaryIn_State::optical_power() const {
    const ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_LineSecondaryIn_State_OpticalPower* p = optical_power_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.LineSecondaryIn.State.optical_power)
    return p != NULL ? *p : *reinterpret_cast<const ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_LineSecondaryIn_State_OpticalPower*>(
        &::openconfig::openconfig_transport_line_protection::_Aps_ApsModules_ApsModule_Ports_LineSecondaryIn_State_OpticalPower_default_instance_);
  }
  inline ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_LineSecondaryIn_State_OpticalPower* Aps_ApsModules_ApsModule_Ports_LineSecondaryIn_State::release_optical_power() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.LineSecondaryIn.State.optical_power)
    
    ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_LineSecondaryIn_State_OpticalPower* temp = optical_power_;
    optical_power_ = NULL;
    return temp;
  }
  inline ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_LineSecondaryIn_State_OpticalPower* Aps_ApsModules_ApsModule_Ports_LineSecondaryIn_State::mutable_optical_power() {
    
    if (optical_power_ == NULL) {
      optical_power_ = new ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_LineSecondaryIn_State_OpticalPower;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.LineSecondaryIn.State.optical_power)
    return optical_power_;
  }
  inline void Aps_ApsModules_ApsModule_Ports_LineSecondaryIn_State::set_allocated_optical_power(::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_LineSecondaryIn_State_OpticalPower* optical_power) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete optical_power_;
    }
    if (optical_power) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        optical_power = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, optical_power, submessage_arena);
      }
      
    } else {
      
    }
    optical_power_ = optical_power;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.LineSecondaryIn.State.optical_power)
  }
  
  // .ywrapper.Decimal64Value target_attenuation = 122935513 [(.yext.schemapath) = "/aps/aps-modules/aps-module/ports/line-secondary-in/state/target-attenuation"];
  inline bool Aps_ApsModules_ApsModule_Ports_LineSecondaryIn_State::has_target_attenuation() const {
    return this != internal_default_instance() && target_attenuation_ != NULL;
  }
  inline const ::ywrapper::Decimal64Value& Aps_ApsModules_ApsModule_Ports_LineSecondaryIn_State::target_attenuation() const {
    const ::ywrapper::Decimal64Value* p = target_attenuation_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.LineSecondaryIn.State.target_attenuation)
    return p != NULL ? *p : *reinterpret_cast<const ::ywrapper::Decimal64Value*>(
        &::ywrapper::_Decimal64Value_default_instance_);
  }
  inline ::ywrapper::Decimal64Value* Aps_ApsModules_ApsModule_Ports_LineSecondaryIn_State::release_target_attenuation() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.LineSecondaryIn.State.target_attenuation)
    
    ::ywrapper::Decimal64Value* temp = target_attenuation_;
    target_attenuation_ = NULL;
    return temp;
  }
  inline ::ywrapper::Decimal64Value* Aps_ApsModules_ApsModule_Ports_LineSecondaryIn_State::mutable_target_attenuation() {
    
    if (target_attenuation_ == NULL) {
      target_attenuation_ = new ::ywrapper::Decimal64Value;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.LineSecondaryIn.State.target_attenuation)
    return target_attenuation_;
  }
  inline void Aps_ApsModules_ApsModule_Ports_LineSecondaryIn_State::set_allocated_target_attenuation(::ywrapper::Decimal64Value* target_attenuation) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete reinterpret_cast< ::google::protobuf::MessageLite*>(target_attenuation_);
    }
    if (target_attenuation) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        target_attenuation = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, target_attenuation, submessage_arena);
      }
      
    } else {
      
    }
    target_attenuation_ = target_attenuation;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.LineSecondaryIn.State.target_attenuation)
  }
  
  // -------------------------------------------------------------------
  
  // Aps_ApsModules_ApsModule_Ports_LineSecondaryIn
  
  // .openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.LineSecondaryIn.Config config = 293706197 [(.yext.schemapath) = "/aps/aps-modules/aps-module/ports/line-secondary-in/config"];
  inline bool Aps_ApsModules_ApsModule_Ports_LineSecondaryIn::has_config() const {
    return this != internal_default_instance() && config_ != NULL;
  }
  inline void Aps_ApsModules_ApsModule_Ports_LineSecondaryIn::clear_config() {
    if (GetArenaNoVirtual() == NULL && config_ != NULL) {
      delete config_;
    }
    config_ = NULL;
  }
  inline const ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_LineSecondaryIn_Config& Aps_ApsModules_ApsModule_Ports_LineSecondaryIn::config() const {
    const ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_LineSecondaryIn_Config* p = config_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.LineSecondaryIn.config)
    return p != NULL ? *p : *reinterpret_cast<const ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_LineSecondaryIn_Config*>(
        &::openconfig::openconfig_transport_line_protection::_Aps_ApsModules_ApsModule_Ports_LineSecondaryIn_Config_default_instance_);
  }
  inline ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_LineSecondaryIn_Config* Aps_ApsModules_ApsModule_Ports_LineSecondaryIn::release_config() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.LineSecondaryIn.config)
    
    ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_LineSecondaryIn_Config* temp = config_;
    config_ = NULL;
    return temp;
  }
  inline ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_LineSecondaryIn_Config* Aps_ApsModules_ApsModule_Ports_LineSecondaryIn::mutable_config() {
    
    if (config_ == NULL) {
      config_ = new ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_LineSecondaryIn_Config;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.LineSecondaryIn.config)
    return config_;
  }
  inline void Aps_ApsModules_ApsModule_Ports_LineSecondaryIn::set_allocated_config(::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_LineSecondaryIn_Config* config) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete config_;
    }
    if (config) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        config = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, config, submessage_arena);
      }
      
    } else {
      
    }
    config_ = config;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.LineSecondaryIn.config)
  }
  
  // .openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.LineSecondaryIn.State state = 274269002 [(.yext.schemapath) = "/aps/aps-modules/aps-module/ports/line-secondary-in/state"];
  inline bool Aps_ApsModules_ApsModule_Ports_LineSecondaryIn::has_state() const {
    return this != internal_default_instance() && state_ != NULL;
  }
  inline void Aps_ApsModules_ApsModule_Ports_LineSecondaryIn::clear_state() {
    if (GetArenaNoVirtual() == NULL && state_ != NULL) {
      delete state_;
    }
    state_ = NULL;
  }
  inline const ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_LineSecondaryIn_State& Aps_ApsModules_ApsModule_Ports_LineSecondaryIn::state() const {
    const ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_LineSecondaryIn_State* p = state_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.LineSecondaryIn.state)
    return p != NULL ? *p : *reinterpret_cast<const ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_LineSecondaryIn_State*>(
        &::openconfig::openconfig_transport_line_protection::_Aps_ApsModules_ApsModule_Ports_LineSecondaryIn_State_default_instance_);
  }
  inline ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_LineSecondaryIn_State* Aps_ApsModules_ApsModule_Ports_LineSecondaryIn::release_state() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.LineSecondaryIn.state)
    
    ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_LineSecondaryIn_State* temp = state_;
    state_ = NULL;
    return temp;
  }
  inline ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_LineSecondaryIn_State* Aps_ApsModules_ApsModule_Ports_LineSecondaryIn::mutable_state() {
    
    if (state_ == NULL) {
      state_ = new ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_LineSecondaryIn_State;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.LineSecondaryIn.state)
    return state_;
  }
  inline void Aps_ApsModules_ApsModule_Ports_LineSecondaryIn::set_allocated_state(::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_LineSecondaryIn_State* state) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete state_;
    }
    if (state) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        state = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, state, submessage_arena);
      }
      
    } else {
      
    }
    state_ = state;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.LineSecondaryIn.state)
  }
  
  // -------------------------------------------------------------------
  
  // Aps_ApsModules_ApsModule_Ports_LineSecondaryOut_Config
  
  // .ywrapper.Decimal64Value target_attenuation = 352000203 [(.yext.schemapath) = "/aps/aps-modules/aps-module/ports/line-secondary-out/config/target-attenuation"];
  inline bool Aps_ApsModules_ApsModule_Ports_LineSecondaryOut_Config::has_target_attenuation() const {
    return this != internal_default_instance() && target_attenuation_ != NULL;
  }
  inline const ::ywrapper::Decimal64Value& Aps_ApsModules_ApsModule_Ports_LineSecondaryOut_Config::target_attenuation() const {
    const ::ywrapper::Decimal64Value* p = target_attenuation_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.LineSecondaryOut.Config.target_attenuation)
    return p != NULL ? *p : *reinterpret_cast<const ::ywrapper::Decimal64Value*>(
        &::ywrapper::_Decimal64Value_default_instance_);
  }
  inline ::ywrapper::Decimal64Value* Aps_ApsModules_ApsModule_Ports_LineSecondaryOut_Config::release_target_attenuation() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.LineSecondaryOut.Config.target_attenuation)
    
    ::ywrapper::Decimal64Value* temp = target_attenuation_;
    target_attenuation_ = NULL;
    return temp;
  }
  inline ::ywrapper::Decimal64Value* Aps_ApsModules_ApsModule_Ports_LineSecondaryOut_Config::mutable_target_attenuation() {
    
    if (target_attenuation_ == NULL) {
      target_attenuation_ = new ::ywrapper::Decimal64Value;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.LineSecondaryOut.Config.target_attenuation)
    return target_attenuation_;
  }
  inline void Aps_ApsModules_ApsModule_Ports_LineSecondaryOut_Config::set_allocated_target_attenuation(::ywrapper::Decimal64Value* target_attenuation) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete reinterpret_cast< ::google::protobuf::MessageLite*>(target_attenuation_);
    }
    if (target_attenuation) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        target_attenuation = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, target_attenuation, submessage_arena);
      }
      
    } else {
      
    }
    target_attenuation_ = target_attenuation;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.LineSecondaryOut.Config.target_attenuation)
  }
  
  // -------------------------------------------------------------------
  
  // Aps_ApsModules_ApsModule_Ports_LineSecondaryOut_State_OpticalPower
  
  // .ywrapper.Decimal64Value avg = 305662153 [(.yext.schemapath) = "/aps/aps-modules/aps-module/ports/line-secondary-out/state/optical-power/avg"];
  inline bool Aps_ApsModules_ApsModule_Ports_LineSecondaryOut_State_OpticalPower::has_avg() const {
    return this != internal_default_instance() && avg_ != NULL;
  }
  inline const ::ywrapper::Decimal64Value& Aps_ApsModules_ApsModule_Ports_LineSecondaryOut_State_OpticalPower::avg() const {
    const ::ywrapper::Decimal64Value* p = avg_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.LineSecondaryOut.State.OpticalPower.avg)
    return p != NULL ? *p : *reinterpret_cast<const ::ywrapper::Decimal64Value*>(
        &::ywrapper::_Decimal64Value_default_instance_);
  }
  inline ::ywrapper::Decimal64Value* Aps_ApsModules_ApsModule_Ports_LineSecondaryOut_State_OpticalPower::release_avg() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.LineSecondaryOut.State.OpticalPower.avg)
    
    ::ywrapper::Decimal64Value* temp = avg_;
    avg_ = NULL;
    return temp;
  }
  inline ::ywrapper::Decimal64Value* Aps_ApsModules_ApsModule_Ports_LineSecondaryOut_State_OpticalPower::mutable_avg() {
    
    if (avg_ == NULL) {
      avg_ = new ::ywrapper::Decimal64Value;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.LineSecondaryOut.State.OpticalPower.avg)
    return avg_;
  }
  inline void Aps_ApsModules_ApsModule_Ports_LineSecondaryOut_State_OpticalPower::set_allocated_avg(::ywrapper::Decimal64Value* avg) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete reinterpret_cast< ::google::protobuf::MessageLite*>(avg_);
    }
    if (avg) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        avg = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, avg, submessage_arena);
      }
      
    } else {
      
    }
    avg_ = avg;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.LineSecondaryOut.State.OpticalPower.avg)
  }
  
  // .ywrapper.Decimal64Value instant = 54136518 [(.yext.schemapath) = "/aps/aps-modules/aps-module/ports/line-secondary-out/state/optical-power/instant"];
  inline bool Aps_ApsModules_ApsModule_Ports_LineSecondaryOut_State_OpticalPower::has_instant() const {
    return this != internal_default_instance() && instant_ != NULL;
  }
  inline const ::ywrapper::Decimal64Value& Aps_ApsModules_ApsModule_Ports_LineSecondaryOut_State_OpticalPower::instant() const {
    const ::ywrapper::Decimal64Value* p = instant_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.LineSecondaryOut.State.OpticalPower.instant)
    return p != NULL ? *p : *reinterpret_cast<const ::ywrapper::Decimal64Value*>(
        &::ywrapper::_Decimal64Value_default_instance_);
  }
  inline ::ywrapper::Decimal64Value* Aps_ApsModules_ApsModule_Ports_LineSecondaryOut_State_OpticalPower::release_instant() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.LineSecondaryOut.State.OpticalPower.instant)
    
    ::ywrapper::Decimal64Value* temp = instant_;
    instant_ = NULL;
    return temp;
  }
  inline ::ywrapper::Decimal64Value* Aps_ApsModules_ApsModule_Ports_LineSecondaryOut_State_OpticalPower::mutable_instant() {
    
    if (instant_ == NULL) {
      instant_ = new ::ywrapper::Decimal64Value;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.LineSecondaryOut.State.OpticalPower.instant)
    return instant_;
  }
  inline void Aps_ApsModules_ApsModule_Ports_LineSecondaryOut_State_OpticalPower::set_allocated_instant(::ywrapper::Decimal64Value* instant) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete reinterpret_cast< ::google::protobuf::MessageLite*>(instant_);
    }
    if (instant) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        instant = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, instant, submessage_arena);
      }
      
    } else {
      
    }
    instant_ = instant;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.LineSecondaryOut.State.OpticalPower.instant)
  }
  
  // .ywrapper.UintValue interval = 246448040 [(.yext.schemapath) = "/aps/aps-modules/aps-module/ports/line-secondary-out/state/optical-power/interval"];
  inline bool Aps_ApsModules_ApsModule_Ports_LineSecondaryOut_State_OpticalPower::has_interval() const {
    return this != internal_default_instance() && interval_ != NULL;
  }
  inline const ::ywrapper::UintValue& Aps_ApsModules_ApsModule_Ports_LineSecondaryOut_State_OpticalPower::interval() const {
    const ::ywrapper::UintValue* p = interval_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.LineSecondaryOut.State.OpticalPower.interval)
    return p != NULL ? *p : *reinterpret_cast<const ::ywrapper::UintValue*>(
        &::ywrapper::_UintValue_default_instance_);
  }
  inline ::ywrapper::UintValue* Aps_ApsModules_ApsModule_Ports_LineSecondaryOut_State_OpticalPower::release_interval() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.LineSecondaryOut.State.OpticalPower.interval)
    
    ::ywrapper::UintValue* temp = interval_;
    interval_ = NULL;
    return temp;
  }
  inline ::ywrapper::UintValue* Aps_ApsModules_ApsModule_Ports_LineSecondaryOut_State_OpticalPower::mutable_interval() {
    
    if (interval_ == NULL) {
      interval_ = new ::ywrapper::UintValue;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.LineSecondaryOut.State.OpticalPower.interval)
    return interval_;
  }
  inline void Aps_ApsModules_ApsModule_Ports_LineSecondaryOut_State_OpticalPower::set_allocated_interval(::ywrapper::UintValue* interval) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete reinterpret_cast< ::google::protobuf::MessageLite*>(interval_);
    }
    if (interval) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        interval = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, interval, submessage_arena);
      }
      
    } else {
      
    }
    interval_ = interval;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.LineSecondaryOut.State.OpticalPower.interval)
  }
  
  // .ywrapper.Decimal64Value max = 490804259 [(.yext.schemapath) = "/aps/aps-modules/aps-module/ports/line-secondary-out/state/optical-power/max"];
  inline bool Aps_ApsModules_ApsModule_Ports_LineSecondaryOut_State_OpticalPower::has_max() const {
    return this != internal_default_instance() && max_ != NULL;
  }
  inline const ::ywrapper::Decimal64Value& Aps_ApsModules_ApsModule_Ports_LineSecondaryOut_State_OpticalPower::max() const {
    const ::ywrapper::Decimal64Value* p = max_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.LineSecondaryOut.State.OpticalPower.max)
    return p != NULL ? *p : *reinterpret_cast<const ::ywrapper::Decimal64Value*>(
        &::ywrapper::_Decimal64Value_default_instance_);
  }
  inline ::ywrapper::Decimal64Value* Aps_ApsModules_ApsModule_Ports_LineSecondaryOut_State_OpticalPower::release_max() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.LineSecondaryOut.State.OpticalPower.max)
    
    ::ywrapper::Decimal64Value* temp = max_;
    max_ = NULL;
    return temp;
  }
  inline ::ywrapper::Decimal64Value* Aps_ApsModules_ApsModule_Ports_LineSecondaryOut_State_OpticalPower::mutable_max() {
    
    if (max_ == NULL) {
      max_ = new ::ywrapper::Decimal64Value;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.LineSecondaryOut.State.OpticalPower.max)
    return max_;
  }
  inline void Aps_ApsModules_ApsModule_Ports_LineSecondaryOut_State_OpticalPower::set_allocated_max(::ywrapper::Decimal64Value* max) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete reinterpret_cast< ::google::protobuf::MessageLite*>(max_);
    }
    if (max) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        max = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, max, submessage_arena);
      }
      
    } else {
      
    }
    max_ = max;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.LineSecondaryOut.State.OpticalPower.max)
  }
  
  // .ywrapper.Decimal64Value min = 356583341 [(.yext.schemapath) = "/aps/aps-modules/aps-module/ports/line-secondary-out/state/optical-power/min"];
  inline bool Aps_ApsModules_ApsModule_Ports_LineSecondaryOut_State_OpticalPower::has_min() const {
    return this != internal_default_instance() && min_ != NULL;
  }
  inline const ::ywrapper::Decimal64Value& Aps_ApsModules_ApsModule_Ports_LineSecondaryOut_State_OpticalPower::min() const {
    const ::ywrapper::Decimal64Value* p = min_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.LineSecondaryOut.State.OpticalPower.min)
    return p != NULL ? *p : *reinterpret_cast<const ::ywrapper::Decimal64Value*>(
        &::ywrapper::_Decimal64Value_default_instance_);
  }
  inline ::ywrapper::Decimal64Value* Aps_ApsModules_ApsModule_Ports_LineSecondaryOut_State_OpticalPower::release_min() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.LineSecondaryOut.State.OpticalPower.min)
    
    ::ywrapper::Decimal64Value* temp = min_;
    min_ = NULL;
    return temp;
  }
  inline ::ywrapper::Decimal64Value* Aps_ApsModules_ApsModule_Ports_LineSecondaryOut_State_OpticalPower::mutable_min() {
    
    if (min_ == NULL) {
      min_ = new ::ywrapper::Decimal64Value;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.LineSecondaryOut.State.OpticalPower.min)
    return min_;
  }
  inline void Aps_ApsModules_ApsModule_Ports_LineSecondaryOut_State_OpticalPower::set_allocated_min(::ywrapper::Decimal64Value* min) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete reinterpret_cast< ::google::protobuf::MessageLite*>(min_);
    }
    if (min) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        min = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, min, submessage_arena);
      }
      
    } else {
      
    }
    min_ = min;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.LineSecondaryOut.State.OpticalPower.min)
  }
  
  // -------------------------------------------------------------------
  
  // Aps_ApsModules_ApsModule_Ports_LineSecondaryOut_State
  
  // .ywrapper.Decimal64Value attenuation = 341918460 [(.yext.schemapath) = "/aps/aps-modules/aps-module/ports/line-secondary-out/state/attenuation"];
  inline bool Aps_ApsModules_ApsModule_Ports_LineSecondaryOut_State::has_attenuation() const {
    return this != internal_default_instance() && attenuation_ != NULL;
  }
  inline const ::ywrapper::Decimal64Value& Aps_ApsModules_ApsModule_Ports_LineSecondaryOut_State::attenuation() const {
    const ::ywrapper::Decimal64Value* p = attenuation_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.LineSecondaryOut.State.attenuation)
    return p != NULL ? *p : *reinterpret_cast<const ::ywrapper::Decimal64Value*>(
        &::ywrapper::_Decimal64Value_default_instance_);
  }
  inline ::ywrapper::Decimal64Value* Aps_ApsModules_ApsModule_Ports_LineSecondaryOut_State::release_attenuation() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.LineSecondaryOut.State.attenuation)
    
    ::ywrapper::Decimal64Value* temp = attenuation_;
    attenuation_ = NULL;
    return temp;
  }
  inline ::ywrapper::Decimal64Value* Aps_ApsModules_ApsModule_Ports_LineSecondaryOut_State::mutable_attenuation() {
    
    if (attenuation_ == NULL) {
      attenuation_ = new ::ywrapper::Decimal64Value;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.LineSecondaryOut.State.attenuation)
    return attenuation_;
  }
  inline void Aps_ApsModules_ApsModule_Ports_LineSecondaryOut_State::set_allocated_attenuation(::ywrapper::Decimal64Value* attenuation) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete reinterpret_cast< ::google::protobuf::MessageLite*>(attenuation_);
    }
    if (attenuation) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        attenuation = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, attenuation, submessage_arena);
      }
      
    } else {
      
    }
    attenuation_ = attenuation;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.LineSecondaryOut.State.attenuation)
  }
  
  // .openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.LineSecondaryOut.State.OpticalPower optical_power = 380161272 [(.yext.schemapath) = "/aps/aps-modules/aps-module/ports/line-secondary-out/state/optical-power"];
  inline bool Aps_ApsModules_ApsModule_Ports_LineSecondaryOut_State::has_optical_power() const {
    return this != internal_default_instance() && optical_power_ != NULL;
  }
  inline void Aps_ApsModules_ApsModule_Ports_LineSecondaryOut_State::clear_optical_power() {
    if (GetArenaNoVirtual() == NULL && optical_power_ != NULL) {
      delete optical_power_;
    }
    optical_power_ = NULL;
  }
  inline const ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_LineSecondaryOut_State_OpticalPower& Aps_ApsModules_ApsModule_Ports_LineSecondaryOut_State::optical_power() const {
    const ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_LineSecondaryOut_State_OpticalPower* p = optical_power_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.LineSecondaryOut.State.optical_power)
    return p != NULL ? *p : *reinterpret_cast<const ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_LineSecondaryOut_State_OpticalPower*>(
        &::openconfig::openconfig_transport_line_protection::_Aps_ApsModules_ApsModule_Ports_LineSecondaryOut_State_OpticalPower_default_instance_);
  }
  inline ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_LineSecondaryOut_State_OpticalPower* Aps_ApsModules_ApsModule_Ports_LineSecondaryOut_State::release_optical_power() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.LineSecondaryOut.State.optical_power)
    
    ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_LineSecondaryOut_State_OpticalPower* temp = optical_power_;
    optical_power_ = NULL;
    return temp;
  }
  inline ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_LineSecondaryOut_State_OpticalPower* Aps_ApsModules_ApsModule_Ports_LineSecondaryOut_State::mutable_optical_power() {
    
    if (optical_power_ == NULL) {
      optical_power_ = new ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_LineSecondaryOut_State_OpticalPower;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.LineSecondaryOut.State.optical_power)
    return optical_power_;
  }
  inline void Aps_ApsModules_ApsModule_Ports_LineSecondaryOut_State::set_allocated_optical_power(::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_LineSecondaryOut_State_OpticalPower* optical_power) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete optical_power_;
    }
    if (optical_power) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        optical_power = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, optical_power, submessage_arena);
      }
      
    } else {
      
    }
    optical_power_ = optical_power;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.LineSecondaryOut.State.optical_power)
  }
  
  // .ywrapper.Decimal64Value target_attenuation = 171830616 [(.yext.schemapath) = "/aps/aps-modules/aps-module/ports/line-secondary-out/state/target-attenuation"];
  inline bool Aps_ApsModules_ApsModule_Ports_LineSecondaryOut_State::has_target_attenuation() const {
    return this != internal_default_instance() && target_attenuation_ != NULL;
  }
  inline const ::ywrapper::Decimal64Value& Aps_ApsModules_ApsModule_Ports_LineSecondaryOut_State::target_attenuation() const {
    const ::ywrapper::Decimal64Value* p = target_attenuation_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.LineSecondaryOut.State.target_attenuation)
    return p != NULL ? *p : *reinterpret_cast<const ::ywrapper::Decimal64Value*>(
        &::ywrapper::_Decimal64Value_default_instance_);
  }
  inline ::ywrapper::Decimal64Value* Aps_ApsModules_ApsModule_Ports_LineSecondaryOut_State::release_target_attenuation() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.LineSecondaryOut.State.target_attenuation)
    
    ::ywrapper::Decimal64Value* temp = target_attenuation_;
    target_attenuation_ = NULL;
    return temp;
  }
  inline ::ywrapper::Decimal64Value* Aps_ApsModules_ApsModule_Ports_LineSecondaryOut_State::mutable_target_attenuation() {
    
    if (target_attenuation_ == NULL) {
      target_attenuation_ = new ::ywrapper::Decimal64Value;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.LineSecondaryOut.State.target_attenuation)
    return target_attenuation_;
  }
  inline void Aps_ApsModules_ApsModule_Ports_LineSecondaryOut_State::set_allocated_target_attenuation(::ywrapper::Decimal64Value* target_attenuation) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete reinterpret_cast< ::google::protobuf::MessageLite*>(target_attenuation_);
    }
    if (target_attenuation) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        target_attenuation = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, target_attenuation, submessage_arena);
      }
      
    } else {
      
    }
    target_attenuation_ = target_attenuation;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.LineSecondaryOut.State.target_attenuation)
  }
  
  // -------------------------------------------------------------------
  
  // Aps_ApsModules_ApsModule_Ports_LineSecondaryOut
  
  // .openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.LineSecondaryOut.Config config = 536483512 [(.yext.schemapath) = "/aps/aps-modules/aps-module/ports/line-secondary-out/config"];
  inline bool Aps_ApsModules_ApsModule_Ports_LineSecondaryOut::has_config() const {
    return this != internal_default_instance() && config_ != NULL;
  }
  inline void Aps_ApsModules_ApsModule_Ports_LineSecondaryOut::clear_config() {
    if (GetArenaNoVirtual() == NULL && config_ != NULL) {
      delete config_;
    }
    config_ = NULL;
  }
  inline const ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_LineSecondaryOut_Config& Aps_ApsModules_ApsModule_Ports_LineSecondaryOut::config() const {
    const ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_LineSecondaryOut_Config* p = config_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.LineSecondaryOut.config)
    return p != NULL ? *p : *reinterpret_cast<const ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_LineSecondaryOut_Config*>(
        &::openconfig::openconfig_transport_line_protection::_Aps_ApsModules_ApsModule_Ports_LineSecondaryOut_Config_default_instance_);
  }
  inline ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_LineSecondaryOut_Config* Aps_ApsModules_ApsModule_Ports_LineSecondaryOut::release_config() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.LineSecondaryOut.config)
    
    ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_LineSecondaryOut_Config* temp = config_;
    config_ = NULL;
    return temp;
  }
  inline ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_LineSecondaryOut_Config* Aps_ApsModules_ApsModule_Ports_LineSecondaryOut::mutable_config() {
    
    if (config_ == NULL) {
      config_ = new ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_LineSecondaryOut_Config;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.LineSecondaryOut.config)
    return config_;
  }
  inline void Aps_ApsModules_ApsModule_Ports_LineSecondaryOut::set_allocated_config(::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_LineSecondaryOut_Config* config) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete config_;
    }
    if (config) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        config = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, config, submessage_arena);
      }
      
    } else {
      
    }
    config_ = config;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.LineSecondaryOut.config)
  }
  
  // .openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.LineSecondaryOut.State state = 519699153 [(.yext.schemapath) = "/aps/aps-modules/aps-module/ports/line-secondary-out/state"];
  inline bool Aps_ApsModules_ApsModule_Ports_LineSecondaryOut::has_state() const {
    return this != internal_default_instance() && state_ != NULL;
  }
  inline void Aps_ApsModules_ApsModule_Ports_LineSecondaryOut::clear_state() {
    if (GetArenaNoVirtual() == NULL && state_ != NULL) {
      delete state_;
    }
    state_ = NULL;
  }
  inline const ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_LineSecondaryOut_State& Aps_ApsModules_ApsModule_Ports_LineSecondaryOut::state() const {
    const ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_LineSecondaryOut_State* p = state_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.LineSecondaryOut.state)
    return p != NULL ? *p : *reinterpret_cast<const ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_LineSecondaryOut_State*>(
        &::openconfig::openconfig_transport_line_protection::_Aps_ApsModules_ApsModule_Ports_LineSecondaryOut_State_default_instance_);
  }
  inline ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_LineSecondaryOut_State* Aps_ApsModules_ApsModule_Ports_LineSecondaryOut::release_state() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.LineSecondaryOut.state)
    
    ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_LineSecondaryOut_State* temp = state_;
    state_ = NULL;
    return temp;
  }
  inline ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_LineSecondaryOut_State* Aps_ApsModules_ApsModule_Ports_LineSecondaryOut::mutable_state() {
    
    if (state_ == NULL) {
      state_ = new ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_LineSecondaryOut_State;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.LineSecondaryOut.state)
    return state_;
  }
  inline void Aps_ApsModules_ApsModule_Ports_LineSecondaryOut::set_allocated_state(::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_LineSecondaryOut_State* state) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete state_;
    }
    if (state) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        state = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, state, submessage_arena);
      }
      
    } else {
      
    }
    state_ = state;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.LineSecondaryOut.state)
  }
  
  // -------------------------------------------------------------------
  
  // Aps_ApsModules_ApsModule_Ports
  
  // .openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.CommonIn common_in = 429753852 [(.yext.schemapath) = "/aps/aps-modules/aps-module/ports/common-in"];
  inline bool Aps_ApsModules_ApsModule_Ports::has_common_in() const {
    return this != internal_default_instance() && common_in_ != NULL;
  }
  inline void Aps_ApsModules_ApsModule_Ports::clear_common_in() {
    if (GetArenaNoVirtual() == NULL && common_in_ != NULL) {
      delete common_in_;
    }
    common_in_ = NULL;
  }
  inline const ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_CommonIn& Aps_ApsModules_ApsModule_Ports::common_in() const {
    const ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_CommonIn* p = common_in_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.common_in)
    return p != NULL ? *p : *reinterpret_cast<const ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_CommonIn*>(
        &::openconfig::openconfig_transport_line_protection::_Aps_ApsModules_ApsModule_Ports_CommonIn_default_instance_);
  }
  inline ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_CommonIn* Aps_ApsModules_ApsModule_Ports::release_common_in() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.common_in)
    
    ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_CommonIn* temp = common_in_;
    common_in_ = NULL;
    return temp;
  }
  inline ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_CommonIn* Aps_ApsModules_ApsModule_Ports::mutable_common_in() {
    
    if (common_in_ == NULL) {
      common_in_ = new ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_CommonIn;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.common_in)
    return common_in_;
  }
  inline void Aps_ApsModules_ApsModule_Ports::set_allocated_common_in(::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_CommonIn* common_in) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete common_in_;
    }
    if (common_in) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        common_in = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, common_in, submessage_arena);
      }
      
    } else {
      
    }
    common_in_ = common_in;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.common_in)
  }
  
  // .openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.CommonOutput common_output = 98424310 [(.yext.schemapath) = "/aps/aps-modules/aps-module/ports/common-output"];
  inline bool Aps_ApsModules_ApsModule_Ports::has_common_output() const {
    return this != internal_default_instance() && common_output_ != NULL;
  }
  inline void Aps_ApsModules_ApsModule_Ports::clear_common_output() {
    if (GetArenaNoVirtual() == NULL && common_output_ != NULL) {
      delete common_output_;
    }
    common_output_ = NULL;
  }
  inline const ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_CommonOutput& Aps_ApsModules_ApsModule_Ports::common_output() const {
    const ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_CommonOutput* p = common_output_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.common_output)
    return p != NULL ? *p : *reinterpret_cast<const ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_CommonOutput*>(
        &::openconfig::openconfig_transport_line_protection::_Aps_ApsModules_ApsModule_Ports_CommonOutput_default_instance_);
  }
  inline ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_CommonOutput* Aps_ApsModules_ApsModule_Ports::release_common_output() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.common_output)
    
    ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_CommonOutput* temp = common_output_;
    common_output_ = NULL;
    return temp;
  }
  inline ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_CommonOutput* Aps_ApsModules_ApsModule_Ports::mutable_common_output() {
    
    if (common_output_ == NULL) {
      common_output_ = new ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_CommonOutput;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.common_output)
    return common_output_;
  }
  inline void Aps_ApsModules_ApsModule_Ports::set_allocated_common_output(::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_CommonOutput* common_output) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete common_output_;
    }
    if (common_output) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        common_output = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, common_output, submessage_arena);
      }
      
    } else {
      
    }
    common_output_ = common_output;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.common_output)
  }
  
  // .openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.LinePrimaryIn line_primary_in = 134912760 [(.yext.schemapath) = "/aps/aps-modules/aps-module/ports/line-primary-in"];
  inline bool Aps_ApsModules_ApsModule_Ports::has_line_primary_in() const {
    return this != internal_default_instance() && line_primary_in_ != NULL;
  }
  inline void Aps_ApsModules_ApsModule_Ports::clear_line_primary_in() {
    if (GetArenaNoVirtual() == NULL && line_primary_in_ != NULL) {
      delete line_primary_in_;
    }
    line_primary_in_ = NULL;
  }
  inline const ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_LinePrimaryIn& Aps_ApsModules_ApsModule_Ports::line_primary_in() const {
    const ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_LinePrimaryIn* p = line_primary_in_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.line_primary_in)
    return p != NULL ? *p : *reinterpret_cast<const ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_LinePrimaryIn*>(
        &::openconfig::openconfig_transport_line_protection::_Aps_ApsModules_ApsModule_Ports_LinePrimaryIn_default_instance_);
  }
  inline ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_LinePrimaryIn* Aps_ApsModules_ApsModule_Ports::release_line_primary_in() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.line_primary_in)
    
    ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_LinePrimaryIn* temp = line_primary_in_;
    line_primary_in_ = NULL;
    return temp;
  }
  inline ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_LinePrimaryIn* Aps_ApsModules_ApsModule_Ports::mutable_line_primary_in() {
    
    if (line_primary_in_ == NULL) {
      line_primary_in_ = new ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_LinePrimaryIn;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.line_primary_in)
    return line_primary_in_;
  }
  inline void Aps_ApsModules_ApsModule_Ports::set_allocated_line_primary_in(::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_LinePrimaryIn* line_primary_in) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete line_primary_in_;
    }
    if (line_primary_in) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        line_primary_in = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, line_primary_in, submessage_arena);
      }
      
    } else {
      
    }
    line_primary_in_ = line_primary_in;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.line_primary_in)
  }
  
  // .openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.LinePrimaryOut line_primary_out = 397828895 [(.yext.schemapath) = "/aps/aps-modules/aps-module/ports/line-primary-out"];
  inline bool Aps_ApsModules_ApsModule_Ports::has_line_primary_out() const {
    return this != internal_default_instance() && line_primary_out_ != NULL;
  }
  inline void Aps_ApsModules_ApsModule_Ports::clear_line_primary_out() {
    if (GetArenaNoVirtual() == NULL && line_primary_out_ != NULL) {
      delete line_primary_out_;
    }
    line_primary_out_ = NULL;
  }
  inline const ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_LinePrimaryOut& Aps_ApsModules_ApsModule_Ports::line_primary_out() const {
    const ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_LinePrimaryOut* p = line_primary_out_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.line_primary_out)
    return p != NULL ? *p : *reinterpret_cast<const ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_LinePrimaryOut*>(
        &::openconfig::openconfig_transport_line_protection::_Aps_ApsModules_ApsModule_Ports_LinePrimaryOut_default_instance_);
  }
  inline ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_LinePrimaryOut* Aps_ApsModules_ApsModule_Ports::release_line_primary_out() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.line_primary_out)
    
    ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_LinePrimaryOut* temp = line_primary_out_;
    line_primary_out_ = NULL;
    return temp;
  }
  inline ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_LinePrimaryOut* Aps_ApsModules_ApsModule_Ports::mutable_line_primary_out() {
    
    if (line_primary_out_ == NULL) {
      line_primary_out_ = new ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_LinePrimaryOut;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.line_primary_out)
    return line_primary_out_;
  }
  inline void Aps_ApsModules_ApsModule_Ports::set_allocated_line_primary_out(::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_LinePrimaryOut* line_primary_out) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete line_primary_out_;
    }
    if (line_primary_out) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        line_primary_out = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, line_primary_out, submessage_arena);
      }
      
    } else {
      
    }
    line_primary_out_ = line_primary_out;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.line_primary_out)
  }
  
  // .openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.LineSecondaryIn line_secondary_in = 147604704 [(.yext.schemapath) = "/aps/aps-modules/aps-module/ports/line-secondary-in"];
  inline bool Aps_ApsModules_ApsModule_Ports::has_line_secondary_in() const {
    return this != internal_default_instance() && line_secondary_in_ != NULL;
  }
  inline void Aps_ApsModules_ApsModule_Ports::clear_line_secondary_in() {
    if (GetArenaNoVirtual() == NULL && line_secondary_in_ != NULL) {
      delete line_secondary_in_;
    }
    line_secondary_in_ = NULL;
  }
  inline const ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_LineSecondaryIn& Aps_ApsModules_ApsModule_Ports::line_secondary_in() const {
    const ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_LineSecondaryIn* p = line_secondary_in_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.line_secondary_in)
    return p != NULL ? *p : *reinterpret_cast<const ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_LineSecondaryIn*>(
        &::openconfig::openconfig_transport_line_protection::_Aps_ApsModules_ApsModule_Ports_LineSecondaryIn_default_instance_);
  }
  inline ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_LineSecondaryIn* Aps_ApsModules_ApsModule_Ports::release_line_secondary_in() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.line_secondary_in)
    
    ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_LineSecondaryIn* temp = line_secondary_in_;
    line_secondary_in_ = NULL;
    return temp;
  }
  inline ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_LineSecondaryIn* Aps_ApsModules_ApsModule_Ports::mutable_line_secondary_in() {
    
    if (line_secondary_in_ == NULL) {
      line_secondary_in_ = new ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_LineSecondaryIn;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.line_secondary_in)
    return line_secondary_in_;
  }
  inline void Aps_ApsModules_ApsModule_Ports::set_allocated_line_secondary_in(::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_LineSecondaryIn* line_secondary_in) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete line_secondary_in_;
    }
    if (line_secondary_in) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        line_secondary_in = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, line_secondary_in, submessage_arena);
      }
      
    } else {
      
    }
    line_secondary_in_ = line_secondary_in;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.line_secondary_in)
  }
  
  // .openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.LineSecondaryOut line_secondary_out = 9761959 [(.yext.schemapath) = "/aps/aps-modules/aps-module/ports/line-secondary-out"];
  inline bool Aps_ApsModules_ApsModule_Ports::has_line_secondary_out() const {
    return this != internal_default_instance() && line_secondary_out_ != NULL;
  }
  inline void Aps_ApsModules_ApsModule_Ports::clear_line_secondary_out() {
    if (GetArenaNoVirtual() == NULL && line_secondary_out_ != NULL) {
      delete line_secondary_out_;
    }
    line_secondary_out_ = NULL;
  }
  inline const ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_LineSecondaryOut& Aps_ApsModules_ApsModule_Ports::line_secondary_out() const {
    const ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_LineSecondaryOut* p = line_secondary_out_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.line_secondary_out)
    return p != NULL ? *p : *reinterpret_cast<const ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_LineSecondaryOut*>(
        &::openconfig::openconfig_transport_line_protection::_Aps_ApsModules_ApsModule_Ports_LineSecondaryOut_default_instance_);
  }
  inline ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_LineSecondaryOut* Aps_ApsModules_ApsModule_Ports::release_line_secondary_out() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.line_secondary_out)
    
    ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_LineSecondaryOut* temp = line_secondary_out_;
    line_secondary_out_ = NULL;
    return temp;
  }
  inline ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_LineSecondaryOut* Aps_ApsModules_ApsModule_Ports::mutable_line_secondary_out() {
    
    if (line_secondary_out_ == NULL) {
      line_secondary_out_ = new ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_LineSecondaryOut;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.line_secondary_out)
    return line_secondary_out_;
  }
  inline void Aps_ApsModules_ApsModule_Ports::set_allocated_line_secondary_out(::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports_LineSecondaryOut* line_secondary_out) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete line_secondary_out_;
    }
    if (line_secondary_out) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        line_secondary_out = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, line_secondary_out, submessage_arena);
      }
      
    } else {
      
    }
    line_secondary_out_ = line_secondary_out;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports.line_secondary_out)
  }
  
  // -------------------------------------------------------------------
  
  // Aps_ApsModules_ApsModule_State
  
  // .openconfig.enums.OpenconfigTransportLineProtectionAPSPATHS active_path = 34397044 [(.yext.schemapath) = "/aps/aps-modules/aps-module/state/active-path"];
  inline void Aps_ApsModules_ApsModule_State::clear_active_path() {
    active_path_ = 0;
  }
  inline ::openconfig::enums::OpenconfigTransportLineProtectionAPSPATHS Aps_ApsModules_ApsModule_State::active_path() const {
    // @@protoc_insertion_point(field_get:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.State.active_path)
    return static_cast< ::openconfig::enums::OpenconfigTransportLineProtectionAPSPATHS >(active_path_);
  }
  inline void Aps_ApsModules_ApsModule_State::set_active_path(::openconfig::enums::OpenconfigTransportLineProtectionAPSPATHS value) {
    
    active_path_ = value;
    // @@protoc_insertion_point(field_set:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.State.active_path)
  }
  
  // .ywrapper.StringValue name = 38638291 [(.yext.schemapath) = "/aps/aps-modules/aps-module/state/name"];
  inline bool Aps_ApsModules_ApsModule_State::has_name() const {
    return this != internal_default_instance() && name_ != NULL;
  }
  inline const ::ywrapper::StringValue& Aps_ApsModules_ApsModule_State::name() const {
    const ::ywrapper::StringValue* p = name_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.State.name)
    return p != NULL ? *p : *reinterpret_cast<const ::ywrapper::StringValue*>(
        &::ywrapper::_StringValue_default_instance_);
  }
  inline ::ywrapper::StringValue* Aps_ApsModules_ApsModule_State::release_name() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.State.name)
    
    ::ywrapper::StringValue* temp = name_;
    name_ = NULL;
    return temp;
  }
  inline ::ywrapper::StringValue* Aps_ApsModules_ApsModule_State::mutable_name() {
    
    if (name_ == NULL) {
      name_ = new ::ywrapper::StringValue;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.State.name)
    return name_;
  }
  inline void Aps_ApsModules_ApsModule_State::set_allocated_name(::ywrapper::StringValue* name) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete reinterpret_cast< ::google::protobuf::MessageLite*>(name_);
    }
    if (name) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        name = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, name, submessage_arena);
      }
      
    } else {
      
    }
    name_ = name;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.State.name)
  }
  
  // .ywrapper.Decimal64Value primary_switch_hysteresis = 188003603 [(.yext.schemapath) = "/aps/aps-modules/aps-module/state/primary-switch-hysteresis"];
  inline bool Aps_ApsModules_ApsModule_State::has_primary_switch_hysteresis() const {
    return this != internal_default_instance() && primary_switch_hysteresis_ != NULL;
  }
  inline const ::ywrapper::Decimal64Value& Aps_ApsModules_ApsModule_State::primary_switch_hysteresis() const {
    const ::ywrapper::Decimal64Value* p = primary_switch_hysteresis_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.State.primary_switch_hysteresis)
    return p != NULL ? *p : *reinterpret_cast<const ::ywrapper::Decimal64Value*>(
        &::ywrapper::_Decimal64Value_default_instance_);
  }
  inline ::ywrapper::Decimal64Value* Aps_ApsModules_ApsModule_State::release_primary_switch_hysteresis() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.State.primary_switch_hysteresis)
    
    ::ywrapper::Decimal64Value* temp = primary_switch_hysteresis_;
    primary_switch_hysteresis_ = NULL;
    return temp;
  }
  inline ::ywrapper::Decimal64Value* Aps_ApsModules_ApsModule_State::mutable_primary_switch_hysteresis() {
    
    if (primary_switch_hysteresis_ == NULL) {
      primary_switch_hysteresis_ = new ::ywrapper::Decimal64Value;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.State.primary_switch_hysteresis)
    return primary_switch_hysteresis_;
  }
  inline void Aps_ApsModules_ApsModule_State::set_allocated_primary_switch_hysteresis(::ywrapper::Decimal64Value* primary_switch_hysteresis) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete reinterpret_cast< ::google::protobuf::MessageLite*>(primary_switch_hysteresis_);
    }
    if (primary_switch_hysteresis) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        primary_switch_hysteresis = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, primary_switch_hysteresis, submessage_arena);
      }
      
    } else {
      
    }
    primary_switch_hysteresis_ = primary_switch_hysteresis;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.State.primary_switch_hysteresis)
  }
  
  // .ywrapper.Decimal64Value primary_switch_threshold = 186132079 [(.yext.schemapath) = "/aps/aps-modules/aps-module/state/primary-switch-threshold"];
  inline bool Aps_ApsModules_ApsModule_State::has_primary_switch_threshold() const {
    return this != internal_default_instance() && primary_switch_threshold_ != NULL;
  }
  inline const ::ywrapper::Decimal64Value& Aps_ApsModules_ApsModule_State::primary_switch_threshold() const {
    const ::ywrapper::Decimal64Value* p = primary_switch_threshold_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.State.primary_switch_threshold)
    return p != NULL ? *p : *reinterpret_cast<const ::ywrapper::Decimal64Value*>(
        &::ywrapper::_Decimal64Value_default_instance_);
  }
  inline ::ywrapper::Decimal64Value* Aps_ApsModules_ApsModule_State::release_primary_switch_threshold() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.State.primary_switch_threshold)
    
    ::ywrapper::Decimal64Value* temp = primary_switch_threshold_;
    primary_switch_threshold_ = NULL;
    return temp;
  }
  inline ::ywrapper::Decimal64Value* Aps_ApsModules_ApsModule_State::mutable_primary_switch_threshold() {
    
    if (primary_switch_threshold_ == NULL) {
      primary_switch_threshold_ = new ::ywrapper::Decimal64Value;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.State.primary_switch_threshold)
    return primary_switch_threshold_;
  }
  inline void Aps_ApsModules_ApsModule_State::set_allocated_primary_switch_threshold(::ywrapper::Decimal64Value* primary_switch_threshold) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete reinterpret_cast< ::google::protobuf::MessageLite*>(primary_switch_threshold_);
    }
    if (primary_switch_threshold) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        primary_switch_threshold = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, primary_switch_threshold, submessage_arena);
      }
      
    } else {
      
    }
    primary_switch_threshold_ = primary_switch_threshold;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.State.primary_switch_threshold)
  }
  
  // .ywrapper.BoolValue revertive = 346433622 [(.yext.schemapath) = "/aps/aps-modules/aps-module/state/revertive"];
  inline bool Aps_ApsModules_ApsModule_State::has_revertive() const {
    return this != internal_default_instance() && revertive_ != NULL;
  }
  inline const ::ywrapper::BoolValue& Aps_ApsModules_ApsModule_State::revertive() const {
    const ::ywrapper::BoolValue* p = revertive_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.State.revertive)
    return p != NULL ? *p : *reinterpret_cast<const ::ywrapper::BoolValue*>(
        &::ywrapper::_BoolValue_default_instance_);
  }
  inline ::ywrapper::BoolValue* Aps_ApsModules_ApsModule_State::release_revertive() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.State.revertive)
    
    ::ywrapper::BoolValue* temp = revertive_;
    revertive_ = NULL;
    return temp;
  }
  inline ::ywrapper::BoolValue* Aps_ApsModules_ApsModule_State::mutable_revertive() {
    
    if (revertive_ == NULL) {
      revertive_ = new ::ywrapper::BoolValue;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.State.revertive)
    return revertive_;
  }
  inline void Aps_ApsModules_ApsModule_State::set_allocated_revertive(::ywrapper::BoolValue* revertive) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete reinterpret_cast< ::google::protobuf::MessageLite*>(revertive_);
    }
    if (revertive) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        revertive = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, revertive, submessage_arena);
      }
      
    } else {
      
    }
    revertive_ = revertive;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.State.revertive)
  }
  
  // .ywrapper.Decimal64Value secondary_switch_hysteresis = 523996555 [(.yext.schemapath) = "/aps/aps-modules/aps-module/state/secondary-switch-hysteresis"];
  inline bool Aps_ApsModules_ApsModule_State::has_secondary_switch_hysteresis() const {
    return this != internal_default_instance() && secondary_switch_hysteresis_ != NULL;
  }
  inline const ::ywrapper::Decimal64Value& Aps_ApsModules_ApsModule_State::secondary_switch_hysteresis() const {
    const ::ywrapper::Decimal64Value* p = secondary_switch_hysteresis_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.State.secondary_switch_hysteresis)
    return p != NULL ? *p : *reinterpret_cast<const ::ywrapper::Decimal64Value*>(
        &::ywrapper::_Decimal64Value_default_instance_);
  }
  inline ::ywrapper::Decimal64Value* Aps_ApsModules_ApsModule_State::release_secondary_switch_hysteresis() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.State.secondary_switch_hysteresis)
    
    ::ywrapper::Decimal64Value* temp = secondary_switch_hysteresis_;
    secondary_switch_hysteresis_ = NULL;
    return temp;
  }
  inline ::ywrapper::Decimal64Value* Aps_ApsModules_ApsModule_State::mutable_secondary_switch_hysteresis() {
    
    if (secondary_switch_hysteresis_ == NULL) {
      secondary_switch_hysteresis_ = new ::ywrapper::Decimal64Value;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.State.secondary_switch_hysteresis)
    return secondary_switch_hysteresis_;
  }
  inline void Aps_ApsModules_ApsModule_State::set_allocated_secondary_switch_hysteresis(::ywrapper::Decimal64Value* secondary_switch_hysteresis) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete reinterpret_cast< ::google::protobuf::MessageLite*>(secondary_switch_hysteresis_);
    }
    if (secondary_switch_hysteresis) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        secondary_switch_hysteresis = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, secondary_switch_hysteresis, submessage_arena);
      }
      
    } else {
      
    }
    secondary_switch_hysteresis_ = secondary_switch_hysteresis;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.State.secondary_switch_hysteresis)
  }
  
  // .ywrapper.Decimal64Value secondary_switch_threshold = 83618599 [(.yext.schemapath) = "/aps/aps-modules/aps-module/state/secondary-switch-threshold"];
  inline bool Aps_ApsModules_ApsModule_State::has_secondary_switch_threshold() const {
    return this != internal_default_instance() && secondary_switch_threshold_ != NULL;
  }
  inline const ::ywrapper::Decimal64Value& Aps_ApsModules_ApsModule_State::secondary_switch_threshold() const {
    const ::ywrapper::Decimal64Value* p = secondary_switch_threshold_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.State.secondary_switch_threshold)
    return p != NULL ? *p : *reinterpret_cast<const ::ywrapper::Decimal64Value*>(
        &::ywrapper::_Decimal64Value_default_instance_);
  }
  inline ::ywrapper::Decimal64Value* Aps_ApsModules_ApsModule_State::release_secondary_switch_threshold() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.State.secondary_switch_threshold)
    
    ::ywrapper::Decimal64Value* temp = secondary_switch_threshold_;
    secondary_switch_threshold_ = NULL;
    return temp;
  }
  inline ::ywrapper::Decimal64Value* Aps_ApsModules_ApsModule_State::mutable_secondary_switch_threshold() {
    
    if (secondary_switch_threshold_ == NULL) {
      secondary_switch_threshold_ = new ::ywrapper::Decimal64Value;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.State.secondary_switch_threshold)
    return secondary_switch_threshold_;
  }
  inline void Aps_ApsModules_ApsModule_State::set_allocated_secondary_switch_threshold(::ywrapper::Decimal64Value* secondary_switch_threshold) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete reinterpret_cast< ::google::protobuf::MessageLite*>(secondary_switch_threshold_);
    }
    if (secondary_switch_threshold) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        secondary_switch_threshold = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, secondary_switch_threshold, submessage_arena);
      }
      
    } else {
      
    }
    secondary_switch_threshold_ = secondary_switch_threshold;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.State.secondary_switch_threshold)
  }
  
  // -------------------------------------------------------------------
  
  // Aps_ApsModules_ApsModule
  
  // .openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Config config = 32573590 [(.yext.schemapath) = "/aps/aps-modules/aps-module/config"];
  inline bool Aps_ApsModules_ApsModule::has_config() const {
    return this != internal_default_instance() && config_ != NULL;
  }
  inline void Aps_ApsModules_ApsModule::clear_config() {
    if (GetArenaNoVirtual() == NULL && config_ != NULL) {
      delete config_;
    }
    config_ = NULL;
  }
  inline const ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Config& Aps_ApsModules_ApsModule::config() const {
    const ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Config* p = config_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.config)
    return p != NULL ? *p : *reinterpret_cast<const ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Config*>(
        &::openconfig::openconfig_transport_line_protection::_Aps_ApsModules_ApsModule_Config_default_instance_);
  }
  inline ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Config* Aps_ApsModules_ApsModule::release_config() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.config)
    
    ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Config* temp = config_;
    config_ = NULL;
    return temp;
  }
  inline ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Config* Aps_ApsModules_ApsModule::mutable_config() {
    
    if (config_ == NULL) {
      config_ = new ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Config;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.config)
    return config_;
  }
  inline void Aps_ApsModules_ApsModule::set_allocated_config(::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Config* config) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete config_;
    }
    if (config) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        config = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, config, submessage_arena);
      }
      
    } else {
      
    }
    config_ = config;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.config)
  }
  
  // .openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.Ports ports = 338390684 [(.yext.schemapath) = "/aps/aps-modules/aps-module/ports"];
  inline bool Aps_ApsModules_ApsModule::has_ports() const {
    return this != internal_default_instance() && ports_ != NULL;
  }
  inline void Aps_ApsModules_ApsModule::clear_ports() {
    if (GetArenaNoVirtual() == NULL && ports_ != NULL) {
      delete ports_;
    }
    ports_ = NULL;
  }
  inline const ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports& Aps_ApsModules_ApsModule::ports() const {
    const ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports* p = ports_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.ports)
    return p != NULL ? *p : *reinterpret_cast<const ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports*>(
        &::openconfig::openconfig_transport_line_protection::_Aps_ApsModules_ApsModule_Ports_default_instance_);
  }
  inline ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports* Aps_ApsModules_ApsModule::release_ports() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.ports)
    
    ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports* temp = ports_;
    ports_ = NULL;
    return temp;
  }
  inline ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports* Aps_ApsModules_ApsModule::mutable_ports() {
    
    if (ports_ == NULL) {
      ports_ = new ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.ports)
    return ports_;
  }
  inline void Aps_ApsModules_ApsModule::set_allocated_ports(::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_Ports* ports) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete ports_;
    }
    if (ports) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        ports = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, ports, submessage_arena);
      }
      
    } else {
      
    }
    ports_ = ports;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.ports)
  }
  
  // .openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.State state = 64729923 [(.yext.schemapath) = "/aps/aps-modules/aps-module/state"];
  inline bool Aps_ApsModules_ApsModule::has_state() const {
    return this != internal_default_instance() && state_ != NULL;
  }
  inline void Aps_ApsModules_ApsModule::clear_state() {
    if (GetArenaNoVirtual() == NULL && state_ != NULL) {
      delete state_;
    }
    state_ = NULL;
  }
  inline const ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_State& Aps_ApsModules_ApsModule::state() const {
    const ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_State* p = state_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.state)
    return p != NULL ? *p : *reinterpret_cast<const ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_State*>(
        &::openconfig::openconfig_transport_line_protection::_Aps_ApsModules_ApsModule_State_default_instance_);
  }
  inline ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_State* Aps_ApsModules_ApsModule::release_state() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.state)
    
    ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_State* temp = state_;
    state_ = NULL;
    return temp;
  }
  inline ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_State* Aps_ApsModules_ApsModule::mutable_state() {
    
    if (state_ == NULL) {
      state_ = new ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_State;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.state)
    return state_;
  }
  inline void Aps_ApsModules_ApsModule::set_allocated_state(::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule_State* state) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete state_;
    }
    if (state) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        state = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, state, submessage_arena);
      }
      
    } else {
      
    }
    state_ = state;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule.state)
  }
  
  // -------------------------------------------------------------------
  
  // Aps_ApsModules_ApsModuleKey
  
  // string name = 1 [(.yext.schemapath) = "/aps/aps-modules/aps-module/name"];
  inline void Aps_ApsModules_ApsModuleKey::clear_name() {
    name_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  }
  inline const ::std::string& Aps_ApsModules_ApsModuleKey::name() const {
    // @@protoc_insertion_point(field_get:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModuleKey.name)
    return name_.GetNoArena();
  }
  inline void Aps_ApsModules_ApsModuleKey::set_name(const ::std::string& value) {
    
    name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
    // @@protoc_insertion_point(field_set:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModuleKey.name)
  }
  #if LANG_CXX11
  inline void Aps_ApsModules_ApsModuleKey::set_name(::std::string&& value) {
    
    name_.SetNoArena(
      &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
    // @@protoc_insertion_point(field_set_rvalue:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModuleKey.name)
  }
  #endif
  inline void Aps_ApsModules_ApsModuleKey::set_name(const char* value) {
    GOOGLE_DCHECK(value != NULL);
    
    name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
    // @@protoc_insertion_point(field_set_char:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModuleKey.name)
  }
  inline void Aps_ApsModules_ApsModuleKey::set_name(const char* value, size_t size) {
    
    name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
        ::std::string(reinterpret_cast<const char*>(value), size));
    // @@protoc_insertion_point(field_set_pointer:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModuleKey.name)
  }
  inline ::std::string* Aps_ApsModules_ApsModuleKey::mutable_name() {
    
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModuleKey.name)
    return name_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  }
  inline ::std::string* Aps_ApsModules_ApsModuleKey::release_name() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModuleKey.name)
    
    return name_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  }
  inline void Aps_ApsModules_ApsModuleKey::set_allocated_name(::std::string* name) {
    if (name != NULL) {
      
    } else {
      
    }
    name_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), name);
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModuleKey.name)
  }
  
  // .openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModule aps_module = 2;
  inline bool Aps_ApsModules_ApsModuleKey::has_aps_module() const {
    return this != internal_default_instance() && aps_module_ != NULL;
  }
  inline void Aps_ApsModules_ApsModuleKey::clear_aps_module() {
    if (GetArenaNoVirtual() == NULL && aps_module_ != NULL) {
      delete aps_module_;
    }
    aps_module_ = NULL;
  }
  inline const ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule& Aps_ApsModules_ApsModuleKey::aps_module() const {
    const ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule* p = aps_module_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModuleKey.aps_module)
    return p != NULL ? *p : *reinterpret_cast<const ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule*>(
        &::openconfig::openconfig_transport_line_protection::_Aps_ApsModules_ApsModule_default_instance_);
  }
  inline ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule* Aps_ApsModules_ApsModuleKey::release_aps_module() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModuleKey.aps_module)
    
    ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule* temp = aps_module_;
    aps_module_ = NULL;
    return temp;
  }
  inline ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule* Aps_ApsModules_ApsModuleKey::mutable_aps_module() {
    
    if (aps_module_ == NULL) {
      aps_module_ = new ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModuleKey.aps_module)
    return aps_module_;
  }
  inline void Aps_ApsModules_ApsModuleKey::set_allocated_aps_module(::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModule* aps_module) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete aps_module_;
    }
    if (aps_module) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        aps_module = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, aps_module, submessage_arena);
      }
      
    } else {
      
    }
    aps_module_ = aps_module;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModuleKey.aps_module)
  }
  
  // -------------------------------------------------------------------
  
  // Aps_ApsModules
  
  // repeated .openconfig.openconfig_transport_line_protection.Aps.ApsModules.ApsModuleKey aps_module = 242083953 [(.yext.schemapath) = "/aps/aps-modules/aps-module"];
  inline int Aps_ApsModules::aps_module_size() const {
    return aps_module_.size();
  }
  inline void Aps_ApsModules::clear_aps_module() {
    aps_module_.Clear();
  }
  inline const ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModuleKey& Aps_ApsModules::aps_module(int index) const {
    // @@protoc_insertion_point(field_get:openconfig.openconfig_transport_line_protection.Aps.ApsModules.aps_module)
    return aps_module_.Get(index);
  }
  inline ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModuleKey* Aps_ApsModules::mutable_aps_module(int index) {
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_transport_line_protection.Aps.ApsModules.aps_module)
    return aps_module_.Mutable(index);
  }
  inline ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModuleKey* Aps_ApsModules::add_aps_module() {
    // @@protoc_insertion_point(field_add:openconfig.openconfig_transport_line_protection.Aps.ApsModules.aps_module)
    return aps_module_.Add();
  }
  inline ::google::protobuf::RepeatedPtrField< ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModuleKey >*
  Aps_ApsModules::mutable_aps_module() {
    // @@protoc_insertion_point(field_mutable_list:openconfig.openconfig_transport_line_protection.Aps.ApsModules.aps_module)
    return &aps_module_;
  }
  inline const ::google::protobuf::RepeatedPtrField< ::openconfig::openconfig_transport_line_protection::Aps_ApsModules_ApsModuleKey >&
  Aps_ApsModules::aps_module() const {
    // @@protoc_insertion_point(field_list:openconfig.openconfig_transport_line_protection.Aps.ApsModules.aps_module)
    return aps_module_;
  }
  
  // -------------------------------------------------------------------
  
  // Aps
  
  // .openconfig.openconfig_transport_line_protection.Aps.ApsModules aps_modules = 404435115 [(.yext.schemapath) = "/aps/aps-modules"];
  inline bool Aps::has_aps_modules() const {
    return this != internal_default_instance() && aps_modules_ != NULL;
  }
  inline void Aps::clear_aps_modules() {
    if (GetArenaNoVirtual() == NULL && aps_modules_ != NULL) {
      delete aps_modules_;
    }
    aps_modules_ = NULL;
  }
  inline const ::openconfig::openconfig_transport_line_protection::Aps_ApsModules& Aps::aps_modules() const {
    const ::openconfig::openconfig_transport_line_protection::Aps_ApsModules* p = aps_modules_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_transport_line_protection.Aps.aps_modules)
    return p != NULL ? *p : *reinterpret_cast<const ::openconfig::openconfig_transport_line_protection::Aps_ApsModules*>(
        &::openconfig::openconfig_transport_line_protection::_Aps_ApsModules_default_instance_);
  }
  inline ::openconfig::openconfig_transport_line_protection::Aps_ApsModules* Aps::release_aps_modules() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_transport_line_protection.Aps.aps_modules)
    
    ::openconfig::openconfig_transport_line_protection::Aps_ApsModules* temp = aps_modules_;
    aps_modules_ = NULL;
    return temp;
  }
  inline ::openconfig::openconfig_transport_line_protection::Aps_ApsModules* Aps::mutable_aps_modules() {
    
    if (aps_modules_ == NULL) {
      aps_modules_ = new ::openconfig::openconfig_transport_line_protection::Aps_ApsModules;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_transport_line_protection.Aps.aps_modules)
    return aps_modules_;
  }
  inline void Aps::set_allocated_aps_modules(::openconfig::openconfig_transport_line_protection::Aps_ApsModules* aps_modules) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete aps_modules_;
    }
    if (aps_modules) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        aps_modules = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, aps_modules, submessage_arena);
      }
      
    } else {
      
    }
    aps_modules_ = aps_modules;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_transport_line_protection.Aps.aps_modules)
  }
  
  #ifdef __GNUC__
    #pragma GCC diagnostic pop
  #endif  // __GNUC__
  // -------------------------------------------------------------------
  
  // -------------------------------------------------------------------
  
  // -------------------------------------------------------------------
  
  // -------------------------------------------------------------------
  
  // -------------------------------------------------------------------
  
  // -------------------------------------------------------------------
  
  // -------------------------------------------------------------------
  
  // -------------------------------------------------------------------
  
  // -------------------------------------------------------------------
  
  // -------------------------------------------------------------------
  
  // -------------------------------------------------------------------
  
  // -------------------------------------------------------------------
  
  // -------------------------------------------------------------------
  
  // -------------------------------------------------------------------
  
  // -------------------------------------------------------------------
  
  // -------------------------------------------------------------------
  
  // -------------------------------------------------------------------
  
  // -------------------------------------------------------------------
  
  // -------------------------------------------------------------------
  
  // -------------------------------------------------------------------
  
  // -------------------------------------------------------------------
  
  // -------------------------------------------------------------------
  
  // -------------------------------------------------------------------
  
  // -------------------------------------------------------------------
  
  // -------------------------------------------------------------------
  
  // -------------------------------------------------------------------
  
  // -------------------------------------------------------------------
  
  // -------------------------------------------------------------------
  
  // -------------------------------------------------------------------
  
  // -------------------------------------------------------------------
  
  
  // @@protoc_insertion_point(namespace_scope)
  
  }  // namespace openconfig_transport_line_protection
  }  // namespace openconfig
  
  // @@protoc_insertion_point(global_scope)
  
  #endif  // PROTOBUF_openconfig_2fopenconfig_5ftransport_5fline_5fprotection_2fopenconfig_5ftransport_5fline_5fprotection_2eproto__INCLUDED
  