Replace Protobuf dependency with pure C++ data models.
diff --git a/GTXiLib.podspec b/GTXiLib.podspec
index f458da4..f6ffd80 100644
--- a/GTXiLib.podspec
+++ b/GTXiLib.podspec
@@ -1,6 +1,6 @@
 Pod::Spec.new do |s|
   s.name         = "GTXiLib"
-  s.version      = "4.7.1"
+  s.version      = "5.0"
   s.summary      = "iOS Accessibility testing library."
   s.description  = <<-DESC
   iOS Accessibility testing library that works with XCTest based frameworks.
@@ -9,8 +9,7 @@
   s.license      = "Apache License 2.0"
   s.author       = "j-sid"
   s.platform     = :ios
-  s.source       = { :git => "https://github.com/google/GTXiLib.git", :tag => "4.7.1" }
-  s.ios.deployment_target = "9.0"
+  s.source       = { :git => "https://github.com/google/GTXiLib.git", :tag => "5.0.0" }
   s.subspec "GTXiLib" do |sp|
     sp.source_files = "{Classes,OOPClasses}/**/*.{h,m,swift,mm,cc}"
     sp.public_header_files = "{Classes,OOPClasses}/**/*.h"
@@ -23,9 +22,9 @@
     ]
     sp.exclude_files = ["Classes/XCTest/*.{h,m,mm}"]
     sp.resources = ["ios_translations.bundle"]
+    sp.ios.deployment_target = "9.0"
     sp.ios.framework = "Vision"
     sp.libraries = "c++"
-    sp.dependency "Protobuf-C++", "3.13"
     sp.dependency "abseil"
     sp.dependency "tinyxml"
   end
diff --git a/OOPClasses/Protos/enums.pb.cc b/OOPClasses/Protos/enums.pb.cc
old mode 100644
new mode 100755
index b20e0bb..32613e2
--- a/OOPClasses/Protos/enums.pb.cc
+++ b/OOPClasses/Protos/enums.pb.cc
@@ -1,493 +1,13 @@
-// Generated by the protocol buffer compiler.  DO NOT EDIT!
-// source: enums.proto
-
+#include <map>
+#include <string>
+#include <stdlib.h>
+#include <vector>
 #include "enums.pb.h"
-
-#include <algorithm>
-
-#include <google/protobuf/io/coded_stream.h>
-#include <google/protobuf/extension_set.h>
-#include <google/protobuf/wire_format_lite.h>
-#include <google/protobuf/descriptor.h>
-#include <google/protobuf/generated_message_reflection.h>
-#include <google/protobuf/reflection_ops.h>
-#include <google/protobuf/wire_format.h>
-// @@protoc_insertion_point(includes)
-#include <google/protobuf/port_def.inc>
 namespace gtxilib {
 namespace oopclasses {
 namespace protos {
-class ElementTypeDefaultTypeInternal {
- public:
-  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<ElementType> _instance;
-} _ElementType_default_instance_;
-}  // namespace protos
-}  // namespace oopclasses
-}  // namespace gtxilib
-static void InitDefaultsscc_info_ElementType_enums_2eproto() {
-  GOOGLE_PROTOBUF_VERIFY_VERSION;
-
-  {
-    void* ptr = &::gtxilib::oopclasses::protos::_ElementType_default_instance_;
-    new (ptr) ::gtxilib::oopclasses::protos::ElementType();
-    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
-  }
-  ::gtxilib::oopclasses::protos::ElementType::InitAsDefaultInstance();
-}
-
-::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<0> scc_info_ElementType_enums_2eproto =
-    {{ATOMIC_VAR_INIT(::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase::kUninitialized), 0, 0, InitDefaultsscc_info_ElementType_enums_2eproto}, {}};
-
-static ::PROTOBUF_NAMESPACE_ID::Metadata file_level_metadata_enums_2eproto[1];
-static const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* file_level_enum_descriptors_enums_2eproto[2];
-static constexpr ::PROTOBUF_NAMESPACE_ID::ServiceDescriptor const** file_level_service_descriptors_enums_2eproto = nullptr;
-
-const ::PROTOBUF_NAMESPACE_ID::uint32 TableStruct_enums_2eproto::offsets[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) = {
-  ~0u,  // no _has_bits_
-  PROTOBUF_FIELD_OFFSET(::gtxilib::oopclasses::protos::ElementType, _internal_metadata_),
-  ~0u,  // no _extensions_
-  ~0u,  // no _oneof_case_
-  ~0u,  // no _weak_field_map_
-};
-static const ::PROTOBUF_NAMESPACE_ID::internal::MigrationSchema schemas[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) = {
-  { 0, -1, sizeof(::gtxilib::oopclasses::protos::ElementType)},
-};
-
-static ::PROTOBUF_NAMESPACE_ID::Message const * const file_default_instances[] = {
-  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::gtxilib::oopclasses::protos::_ElementType_default_instance_),
-};
-
-const char descriptor_table_protodef_enums_2eproto[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) =
-  "\n\013enums.proto\022\031gtxilib.oopclasses.protos"
-  "\"\233\n\n\013ElementType\"\213\n\n\017ElementTypeEnum\022\007\n\003"
-  "ANY\020\000\022\t\n\005OTHER\020\001\022\017\n\013APPLICATION\020\002\022\t\n\005GRO"
-  "UP\020\003\022\n\n\006WINDOW\020\004\022\t\n\005SHEET\020\005\022\n\n\006DRAWER\020\006\022"
-  "\t\n\005ALERT\020\007\022\n\n\006DIALOG\020\010\022\n\n\006BUTTON\020\t\022\020\n\014RA"
-  "DIO_BUTTON\020\n\022\017\n\013RADIO_GROUP\020\013\022\r\n\tCHECK_B"
-  "OX\020\014\022\027\n\023DISCLOSURE_TRIANGLE\020\r\022\021\n\rPOP_UP_"
-  "BUTTON\020\016\022\r\n\tCOMBO_BOX\020\017\022\017\n\013MENU_BUTTON\020\020"
-  "\022\022\n\016TOOLBAR_BUTTON\020\021\022\013\n\007POPOVER\020\022\022\014\n\010KEY"
-  "BOARD\020\023\022\007\n\003KEY\020\024\022\022\n\016NAVIGATION_BAR\020\025\022\013\n\007"
-  "TAB_BAR\020\026\022\r\n\tTAB_GROUP\020\027\022\013\n\007TOOLBAR\020\030\022\016\n"
-  "\nSTATUS_BAR\020\031\022\t\n\005TABLE\020\032\022\r\n\tTABLE_ROW\020\033\022"
-  "\020\n\014TABLE_COLUMN\020\034\022\013\n\007OUTLINE\020\035\022\017\n\013OUTLIN"
-  "E_ROW\020\036\022\013\n\007BROWSER\020\037\022\023\n\017COLLECTION_VIEW\020"
-  " \022\n\n\006SLIDER\020!\022\022\n\016PAGE_INDICATOR\020\"\022\026\n\022PRO"
-  "GRESS_INDICATOR\020#\022\026\n\022ACTIVITY_INDICATOR\020"
-  "$\022\025\n\021SEGMENTED_CONTROL\020%\022\n\n\006PICKER\020&\022\020\n\014"
-  "PICKER_WHEEL\020\'\022\n\n\006SWITCH\020(\022\n\n\006TOGGLE\020)\022\010"
-  "\n\004LINK\020*\022\t\n\005IMAGE\020+\022\010\n\004ICON\020,\022\020\n\014SEARCH_"
-  "FIELD\020-\022\017\n\013SCROLL_VIEW\020.\022\016\n\nSCROLL_BAR\020/"
-  "\022\017\n\013STATIC_TEXT\0200\022\016\n\nTEXT_FIELD\0201\022\025\n\021SEC"
-  "URE_TEXT_FIELD\0202\022\017\n\013DATE_PICKER\0203\022\r\n\tTEX"
-  "T_VIEW\0204\022\010\n\004MENU\0205\022\r\n\tMENU_ITEM\0206\022\014\n\010MEN"
-  "U_BAR\0207\022\021\n\rMENU_BAR_ITEM\0208\022\007\n\003MAP\0209\022\014\n\010W"
-  "EB_VIEW\020:\022\023\n\017INCREMENT_ARROW\020;\022\023\n\017DECREM"
-  "ENT_ARROW\020<\022\014\n\010TIMELINE\020=\022\024\n\020RATING_INDI"
-  "CATOR\020>\022\023\n\017VALUE_INDICATOR\020\?\022\017\n\013SPLIT_GR"
-  "OUP\020@\022\014\n\010SPLITTER\020A\022\027\n\023RELEVANCE_INDICAT"
-  "OR\020B\022\016\n\nCOLOR_WELL\020C\022\014\n\010HELP_TAG\020D\022\t\n\005MA"
-  "TTE\020E\022\r\n\tDOCK_ITEM\020F\022\t\n\005RULER\020G\022\020\n\014RULER"
-  "_MARKER\020H\022\010\n\004GRID\020I\022\023\n\017LEVEL_INDICATOR\020J"
-  "\022\010\n\004CELL\020K\022\017\n\013LAYOUT_AREA\020L\022\017\n\013LAYOUT_IT"
-  "EM\020M\022\n\n\006HANDLE\020N\022\013\n\007STEPPER\020O\022\007\n\003TAB\020P\022\r"
-  "\n\tTOUCH_BAR\020Q\022\017\n\013STATUS_ITEM\020R*k\n\nResult"
-  "Type\022\027\n\023RESULT_TYPE_UNKNOWN\020\000\022\025\n\021RESULT_"
-  "TYPE_ERROR\020\001\022\027\n\023RESULT_TYPE_WARNING\020\002\022\024\n"
-  "\020RESULT_TYPE_INFO\020\003B\010P\001\242\002\003GTXb\006proto3"
-  ;
-static const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable*const descriptor_table_enums_2eproto_deps[1] = {
-};
-static ::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase*const descriptor_table_enums_2eproto_sccs[1] = {
-  &scc_info_ElementType_enums_2eproto.base,
-};
-static ::PROTOBUF_NAMESPACE_ID::internal::once_flag descriptor_table_enums_2eproto_once;
-const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable descriptor_table_enums_2eproto = {
-  false, false, descriptor_table_protodef_enums_2eproto, "enums.proto", 1477,
-  &descriptor_table_enums_2eproto_once, descriptor_table_enums_2eproto_sccs, descriptor_table_enums_2eproto_deps, 1, 0,
-  schemas, file_default_instances, TableStruct_enums_2eproto::offsets,
-  file_level_metadata_enums_2eproto, 1, file_level_enum_descriptors_enums_2eproto, file_level_service_descriptors_enums_2eproto,
-};
-
-// Force running AddDescriptors() at dynamic initialization time.
-static bool dynamic_init_dummy_enums_2eproto = (static_cast<void>(::PROTOBUF_NAMESPACE_ID::internal::AddDescriptors(&descriptor_table_enums_2eproto)), true);
-namespace gtxilib {
-namespace oopclasses {
-namespace protos {
-const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* ElementType_ElementTypeEnum_descriptor() {
-  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&descriptor_table_enums_2eproto);
-  return file_level_enum_descriptors_enums_2eproto[0];
-}
-bool ElementType_ElementTypeEnum_IsValid(int value) {
-  switch (value) {
-    case 0:
-    case 1:
-    case 2:
-    case 3:
-    case 4:
-    case 5:
-    case 6:
-    case 7:
-    case 8:
-    case 9:
-    case 10:
-    case 11:
-    case 12:
-    case 13:
-    case 14:
-    case 15:
-    case 16:
-    case 17:
-    case 18:
-    case 19:
-    case 20:
-    case 21:
-    case 22:
-    case 23:
-    case 24:
-    case 25:
-    case 26:
-    case 27:
-    case 28:
-    case 29:
-    case 30:
-    case 31:
-    case 32:
-    case 33:
-    case 34:
-    case 35:
-    case 36:
-    case 37:
-    case 38:
-    case 39:
-    case 40:
-    case 41:
-    case 42:
-    case 43:
-    case 44:
-    case 45:
-    case 46:
-    case 47:
-    case 48:
-    case 49:
-    case 50:
-    case 51:
-    case 52:
-    case 53:
-    case 54:
-    case 55:
-    case 56:
-    case 57:
-    case 58:
-    case 59:
-    case 60:
-    case 61:
-    case 62:
-    case 63:
-    case 64:
-    case 65:
-    case 66:
-    case 67:
-    case 68:
-    case 69:
-    case 70:
-    case 71:
-    case 72:
-    case 73:
-    case 74:
-    case 75:
-    case 76:
-    case 77:
-    case 78:
-    case 79:
-    case 80:
-    case 81:
-    case 82:
-      return true;
-    default:
-      return false;
-  }
-}
-
-#if (__cplusplus < 201703) && (!defined(_MSC_VER) || _MSC_VER >= 1900)
-constexpr ElementType_ElementTypeEnum ElementType::ANY;
-constexpr ElementType_ElementTypeEnum ElementType::OTHER;
-constexpr ElementType_ElementTypeEnum ElementType::APPLICATION;
-constexpr ElementType_ElementTypeEnum ElementType::GROUP;
-constexpr ElementType_ElementTypeEnum ElementType::WINDOW;
-constexpr ElementType_ElementTypeEnum ElementType::SHEET;
-constexpr ElementType_ElementTypeEnum ElementType::DRAWER;
-constexpr ElementType_ElementTypeEnum ElementType::ALERT;
-constexpr ElementType_ElementTypeEnum ElementType::DIALOG;
-constexpr ElementType_ElementTypeEnum ElementType::BUTTON;
-constexpr ElementType_ElementTypeEnum ElementType::RADIO_BUTTON;
-constexpr ElementType_ElementTypeEnum ElementType::RADIO_GROUP;
-constexpr ElementType_ElementTypeEnum ElementType::CHECK_BOX;
-constexpr ElementType_ElementTypeEnum ElementType::DISCLOSURE_TRIANGLE;
-constexpr ElementType_ElementTypeEnum ElementType::POP_UP_BUTTON;
-constexpr ElementType_ElementTypeEnum ElementType::COMBO_BOX;
-constexpr ElementType_ElementTypeEnum ElementType::MENU_BUTTON;
-constexpr ElementType_ElementTypeEnum ElementType::TOOLBAR_BUTTON;
-constexpr ElementType_ElementTypeEnum ElementType::POPOVER;
-constexpr ElementType_ElementTypeEnum ElementType::KEYBOARD;
-constexpr ElementType_ElementTypeEnum ElementType::KEY;
-constexpr ElementType_ElementTypeEnum ElementType::NAVIGATION_BAR;
-constexpr ElementType_ElementTypeEnum ElementType::TAB_BAR;
-constexpr ElementType_ElementTypeEnum ElementType::TAB_GROUP;
-constexpr ElementType_ElementTypeEnum ElementType::TOOLBAR;
-constexpr ElementType_ElementTypeEnum ElementType::STATUS_BAR;
-constexpr ElementType_ElementTypeEnum ElementType::TABLE;
-constexpr ElementType_ElementTypeEnum ElementType::TABLE_ROW;
-constexpr ElementType_ElementTypeEnum ElementType::TABLE_COLUMN;
-constexpr ElementType_ElementTypeEnum ElementType::OUTLINE;
-constexpr ElementType_ElementTypeEnum ElementType::OUTLINE_ROW;
-constexpr ElementType_ElementTypeEnum ElementType::BROWSER;
-constexpr ElementType_ElementTypeEnum ElementType::COLLECTION_VIEW;
-constexpr ElementType_ElementTypeEnum ElementType::SLIDER;
-constexpr ElementType_ElementTypeEnum ElementType::PAGE_INDICATOR;
-constexpr ElementType_ElementTypeEnum ElementType::PROGRESS_INDICATOR;
-constexpr ElementType_ElementTypeEnum ElementType::ACTIVITY_INDICATOR;
-constexpr ElementType_ElementTypeEnum ElementType::SEGMENTED_CONTROL;
-constexpr ElementType_ElementTypeEnum ElementType::PICKER;
-constexpr ElementType_ElementTypeEnum ElementType::PICKER_WHEEL;
-constexpr ElementType_ElementTypeEnum ElementType::SWITCH;
-constexpr ElementType_ElementTypeEnum ElementType::TOGGLE;
-constexpr ElementType_ElementTypeEnum ElementType::LINK;
-constexpr ElementType_ElementTypeEnum ElementType::IMAGE;
-constexpr ElementType_ElementTypeEnum ElementType::ICON;
-constexpr ElementType_ElementTypeEnum ElementType::SEARCH_FIELD;
-constexpr ElementType_ElementTypeEnum ElementType::SCROLL_VIEW;
-constexpr ElementType_ElementTypeEnum ElementType::SCROLL_BAR;
-constexpr ElementType_ElementTypeEnum ElementType::STATIC_TEXT;
-constexpr ElementType_ElementTypeEnum ElementType::TEXT_FIELD;
-constexpr ElementType_ElementTypeEnum ElementType::SECURE_TEXT_FIELD;
-constexpr ElementType_ElementTypeEnum ElementType::DATE_PICKER;
-constexpr ElementType_ElementTypeEnum ElementType::TEXT_VIEW;
-constexpr ElementType_ElementTypeEnum ElementType::MENU;
-constexpr ElementType_ElementTypeEnum ElementType::MENU_ITEM;
-constexpr ElementType_ElementTypeEnum ElementType::MENU_BAR;
-constexpr ElementType_ElementTypeEnum ElementType::MENU_BAR_ITEM;
-constexpr ElementType_ElementTypeEnum ElementType::MAP;
-constexpr ElementType_ElementTypeEnum ElementType::WEB_VIEW;
-constexpr ElementType_ElementTypeEnum ElementType::INCREMENT_ARROW;
-constexpr ElementType_ElementTypeEnum ElementType::DECREMENT_ARROW;
-constexpr ElementType_ElementTypeEnum ElementType::TIMELINE;
-constexpr ElementType_ElementTypeEnum ElementType::RATING_INDICATOR;
-constexpr ElementType_ElementTypeEnum ElementType::VALUE_INDICATOR;
-constexpr ElementType_ElementTypeEnum ElementType::SPLIT_GROUP;
-constexpr ElementType_ElementTypeEnum ElementType::SPLITTER;
-constexpr ElementType_ElementTypeEnum ElementType::RELEVANCE_INDICATOR;
-constexpr ElementType_ElementTypeEnum ElementType::COLOR_WELL;
-constexpr ElementType_ElementTypeEnum ElementType::HELP_TAG;
-constexpr ElementType_ElementTypeEnum ElementType::MATTE;
-constexpr ElementType_ElementTypeEnum ElementType::DOCK_ITEM;
-constexpr ElementType_ElementTypeEnum ElementType::RULER;
-constexpr ElementType_ElementTypeEnum ElementType::RULER_MARKER;
-constexpr ElementType_ElementTypeEnum ElementType::GRID;
-constexpr ElementType_ElementTypeEnum ElementType::LEVEL_INDICATOR;
-constexpr ElementType_ElementTypeEnum ElementType::CELL;
-constexpr ElementType_ElementTypeEnum ElementType::LAYOUT_AREA;
-constexpr ElementType_ElementTypeEnum ElementType::LAYOUT_ITEM;
-constexpr ElementType_ElementTypeEnum ElementType::HANDLE;
-constexpr ElementType_ElementTypeEnum ElementType::STEPPER;
-constexpr ElementType_ElementTypeEnum ElementType::TAB;
-constexpr ElementType_ElementTypeEnum ElementType::TOUCH_BAR;
-constexpr ElementType_ElementTypeEnum ElementType::STATUS_ITEM;
-constexpr ElementType_ElementTypeEnum ElementType::ElementTypeEnum_MIN;
-constexpr ElementType_ElementTypeEnum ElementType::ElementTypeEnum_MAX;
-constexpr int ElementType::ElementTypeEnum_ARRAYSIZE;
-#endif  // (__cplusplus < 201703) && (!defined(_MSC_VER) || _MSC_VER >= 1900)
-const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* ResultType_descriptor() {
-  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&descriptor_table_enums_2eproto);
-  return file_level_enum_descriptors_enums_2eproto[1];
-}
-bool ResultType_IsValid(int value) {
-  switch (value) {
-    case 0:
-    case 1:
-    case 2:
-    case 3:
-      return true;
-    default:
-      return false;
-  }
-}
 
 
-// ===================================================================
-
-void ElementType::InitAsDefaultInstance() {
-}
-class ElementType::_Internal {
- public:
-};
-
-ElementType::ElementType(::PROTOBUF_NAMESPACE_ID::Arena* arena)
-  : ::PROTOBUF_NAMESPACE_ID::Message(arena) {
-  SharedCtor();
-  RegisterArenaDtor(arena);
-  // @@protoc_insertion_point(arena_constructor:gtxilib.oopclasses.protos.ElementType)
-}
-ElementType::ElementType(const ElementType& from)
-  : ::PROTOBUF_NAMESPACE_ID::Message() {
-  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
-  // @@protoc_insertion_point(copy_constructor:gtxilib.oopclasses.protos.ElementType)
-}
-
-void ElementType::SharedCtor() {
-}
-
-ElementType::~ElementType() {
-  // @@protoc_insertion_point(destructor:gtxilib.oopclasses.protos.ElementType)
-  SharedDtor();
-  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
-}
-
-void ElementType::SharedDtor() {
-  GOOGLE_DCHECK(GetArena() == nullptr);
-}
-
-void ElementType::ArenaDtor(void* object) {
-  ElementType* _this = reinterpret_cast< ElementType* >(object);
-  (void)_this;
-}
-void ElementType::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
-}
-void ElementType::SetCachedSize(int size) const {
-  _cached_size_.Set(size);
-}
-const ElementType& ElementType::default_instance() {
-  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_ElementType_enums_2eproto.base);
-  return *internal_default_instance();
-}
-
-
-void ElementType::Clear() {
-// @@protoc_insertion_point(message_clear_start:gtxilib.oopclasses.protos.ElementType)
-  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
-  // Prevent compiler warnings about cached_has_bits being unused
-  (void) cached_has_bits;
-
-  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
-}
-
-const char* ElementType::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
-#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
-  ::PROTOBUF_NAMESPACE_ID::Arena* arena = GetArena(); (void)arena;
-  while (!ctx->Done(&ptr)) {
-    ::PROTOBUF_NAMESPACE_ID::uint32 tag;
-    ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
-    CHK_(ptr);
-        if ((tag & 7) == 4 || tag == 0) {
-          ctx->SetLastTag(tag);
-          goto success;
-        }
-        ptr = UnknownFieldParse(tag,
-            _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
-            ptr, ctx);
-        CHK_(ptr != nullptr);
-        continue;
-  }  // while
-success:
-  return ptr;
-failure:
-  ptr = nullptr;
-  goto success;
-#undef CHK_
-}
-
-::PROTOBUF_NAMESPACE_ID::uint8* ElementType::_InternalSerialize(
-    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
-  // @@protoc_insertion_point(serialize_to_array_start:gtxilib.oopclasses.protos.ElementType)
-  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
-  (void) cached_has_bits;
-
-  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
-    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
-        _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
-  }
-  // @@protoc_insertion_point(serialize_to_array_end:gtxilib.oopclasses.protos.ElementType)
-  return target;
-}
-
-size_t ElementType::ByteSizeLong() const {
-// @@protoc_insertion_point(message_byte_size_start:gtxilib.oopclasses.protos.ElementType)
-  size_t total_size = 0;
-
-  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
-  // Prevent compiler warnings about cached_has_bits being unused
-  (void) cached_has_bits;
-
-  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
-    return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize(
-        _internal_metadata_, total_size, &_cached_size_);
-  }
-  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
-  SetCachedSize(cached_size);
-  return total_size;
-}
-
-void ElementType::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
-// @@protoc_insertion_point(generalized_merge_from_start:gtxilib.oopclasses.protos.ElementType)
-  GOOGLE_DCHECK_NE(&from, this);
-  const ElementType* source =
-      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<ElementType>(
-          &from);
-  if (source == nullptr) {
-  // @@protoc_insertion_point(generalized_merge_from_cast_fail:gtxilib.oopclasses.protos.ElementType)
-    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
-  } else {
-  // @@protoc_insertion_point(generalized_merge_from_cast_success:gtxilib.oopclasses.protos.ElementType)
-    MergeFrom(*source);
-  }
-}
-
-void ElementType::MergeFrom(const ElementType& from) {
-// @@protoc_insertion_point(class_specific_merge_from_start:gtxilib.oopclasses.protos.ElementType)
-  GOOGLE_DCHECK_NE(&from, this);
-  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
-  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
-  (void) cached_has_bits;
-
-}
-
-void ElementType::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
-// @@protoc_insertion_point(generalized_copy_from_start:gtxilib.oopclasses.protos.ElementType)
-  if (&from == this) return;
-  Clear();
-  MergeFrom(from);
-}
-
-void ElementType::CopyFrom(const ElementType& from) {
-// @@protoc_insertion_point(class_specific_copy_from_start:gtxilib.oopclasses.protos.ElementType)
-  if (&from == this) return;
-  Clear();
-  MergeFrom(from);
-}
-
-bool ElementType::IsInitialized() const {
-  return true;
-}
-
-void ElementType::InternalSwap(ElementType* other) {
-  using std::swap;
-  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
-}
-
-::PROTOBUF_NAMESPACE_ID::Metadata ElementType::GetMetadata() const {
-  return GetMetadataStatic();
-}
-
-
-// @@protoc_insertion_point(namespace_scope)
-}  // namespace protos
-}  // namespace oopclasses
-}  // namespace gtxilib
-PROTOBUF_NAMESPACE_OPEN
-template<> PROTOBUF_NOINLINE ::gtxilib::oopclasses::protos::ElementType* Arena::CreateMaybeMessage< ::gtxilib::oopclasses::protos::ElementType >(Arena* arena) {
-  return Arena::CreateMessageInternal< ::gtxilib::oopclasses::protos::ElementType >(arena);
-}
-PROTOBUF_NAMESPACE_CLOSE
-
-// @@protoc_insertion_point(global_scope)
-#include <google/protobuf/port_undef.inc>
+}  // GTXiLib
+}  // OOPClasses
+}  // Protos
diff --git a/OOPClasses/Protos/enums.pb.h b/OOPClasses/Protos/enums.pb.h
old mode 100644
new mode 100755
index e91d88e..10fdc88
--- a/OOPClasses/Protos/enums.pb.h
+++ b/OOPClasses/Protos/enums.pb.h
@@ -1,75 +1,22 @@
-// Generated by the protocol buffer compiler.  DO NOT EDIT!
-// source: enums.proto
+#ifndef THIRD_PARTY_OBJECTIVE_C_GTXILIB_OOPCLASSES_PROTOS_ENUMS_PB_H
+#define THIRD_PARTY_OBJECTIVE_C_GTXILIB_OOPCLASSES_PROTOS_ENUMS_PB_H
 
-#ifndef GOOGLE_PROTOBUF_INCLUDED_enums_2eproto
-#define GOOGLE_PROTOBUF_INCLUDED_enums_2eproto
-
-#include <limits>
+#include <map>
 #include <string>
+#include <stdlib.h>
+#include <vector>
 
-#include <google/protobuf/port_def.inc>
-#if PROTOBUF_VERSION < 3013000
-#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 3013000 < 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
+namespace gtxilib {
+namespace oopclasses {
+namespace protos {
 
-#include <google/protobuf/port_undef.inc>
-#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/inlined_string_field.h>
-#include <google/protobuf/metadata_lite.h>
-#include <google/protobuf/generated_message_reflection.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/generated_enum_reflection.h>
-#include <google/protobuf/unknown_field_set.h>
-// @@protoc_insertion_point(includes)
-#include <google/protobuf/port_def.inc>
-#define PROTOBUF_INTERNAL_EXPORT_enums_2eproto
-PROTOBUF_NAMESPACE_OPEN
-namespace internal {
-class AnyMetadata;
-}  // namespace internal
-PROTOBUF_NAMESPACE_CLOSE
-
-// Internal implementation detail -- do not use these members.
-struct TableStruct_enums_2eproto {
-  static const ::PROTOBUF_NAMESPACE_ID::internal::ParseTableField entries[]
-    PROTOBUF_SECTION_VARIABLE(protodesc_cold);
-  static const ::PROTOBUF_NAMESPACE_ID::internal::AuxiliaryParseTableField aux[]
-    PROTOBUF_SECTION_VARIABLE(protodesc_cold);
-  static const ::PROTOBUF_NAMESPACE_ID::internal::ParseTable schema[1]
-    PROTOBUF_SECTION_VARIABLE(protodesc_cold);
-  static const ::PROTOBUF_NAMESPACE_ID::internal::FieldMetadata field_metadata[];
-  static const ::PROTOBUF_NAMESPACE_ID::internal::SerializationTable serialization_table[];
-  static const ::PROTOBUF_NAMESPACE_ID::uint32 offsets[];
+enum ResultType : int {
+  RESULT_TYPE_UNKNOWN = 0,
+  RESULT_TYPE_ERROR = 1,
+  RESULT_TYPE_WARNING = 2,
+  RESULT_TYPE_INFO = 3,
 };
-extern const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable descriptor_table_enums_2eproto;
-namespace gtxilib {
-namespace oopclasses {
-namespace protos {
-class ElementType;
-class ElementTypeDefaultTypeInternal;
-extern ElementTypeDefaultTypeInternal _ElementType_default_instance_;
-}  // namespace protos
-}  // namespace oopclasses
-}  // namespace gtxilib
-PROTOBUF_NAMESPACE_OPEN
-template<> ::gtxilib::oopclasses::protos::ElementType* Arena::CreateMaybeMessage<::gtxilib::oopclasses::protos::ElementType>(Arena*);
-PROTOBUF_NAMESPACE_CLOSE
-namespace gtxilib {
-namespace oopclasses {
-namespace protos {
+
 
 enum ElementType_ElementTypeEnum : int {
   ElementType_ElementTypeEnum_ANY = 0,
@@ -155,408 +102,102 @@
   ElementType_ElementTypeEnum_TAB = 80,
   ElementType_ElementTypeEnum_TOUCH_BAR = 81,
   ElementType_ElementTypeEnum_STATUS_ITEM = 82,
-  ElementType_ElementTypeEnum_ElementType_ElementTypeEnum_INT_MIN_SENTINEL_DO_NOT_USE_ = std::numeric_limits<::PROTOBUF_NAMESPACE_ID::int32>::min(),
-  ElementType_ElementTypeEnum_ElementType_ElementTypeEnum_INT_MAX_SENTINEL_DO_NOT_USE_ = std::numeric_limits<::PROTOBUF_NAMESPACE_ID::int32>::max()
 };
-bool ElementType_ElementTypeEnum_IsValid(int value);
-constexpr ElementType_ElementTypeEnum ElementType_ElementTypeEnum_ElementTypeEnum_MIN = ElementType_ElementTypeEnum_ANY;
-constexpr ElementType_ElementTypeEnum ElementType_ElementTypeEnum_ElementTypeEnum_MAX = ElementType_ElementTypeEnum_STATUS_ITEM;
-constexpr int ElementType_ElementTypeEnum_ElementTypeEnum_ARRAYSIZE = ElementType_ElementTypeEnum_ElementTypeEnum_MAX + 1;
 
-const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* ElementType_ElementTypeEnum_descriptor();
-template<typename T>
-inline const std::string& ElementType_ElementTypeEnum_Name(T enum_t_value) {
-  static_assert(::std::is_same<T, ElementType_ElementTypeEnum>::value ||
-    ::std::is_integral<T>::value,
-    "Incorrect type passed to function ElementType_ElementTypeEnum_Name.");
-  return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum(
-    ElementType_ElementTypeEnum_descriptor(), enum_t_value);
-}
-inline bool ElementType_ElementTypeEnum_Parse(
-    ::PROTOBUF_NAMESPACE_ID::ConstStringParam name, ElementType_ElementTypeEnum* value) {
-  return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum<ElementType_ElementTypeEnum>(
-    ElementType_ElementTypeEnum_descriptor(), name, value);
-}
-enum ResultType : int {
-  RESULT_TYPE_UNKNOWN = 0,
-  RESULT_TYPE_ERROR = 1,
-  RESULT_TYPE_WARNING = 2,
-  RESULT_TYPE_INFO = 3,
-  ResultType_INT_MIN_SENTINEL_DO_NOT_USE_ = std::numeric_limits<::PROTOBUF_NAMESPACE_ID::int32>::min(),
-  ResultType_INT_MAX_SENTINEL_DO_NOT_USE_ = std::numeric_limits<::PROTOBUF_NAMESPACE_ID::int32>::max()
-};
-bool ResultType_IsValid(int value);
-constexpr ResultType ResultType_MIN = RESULT_TYPE_UNKNOWN;
-constexpr ResultType ResultType_MAX = RESULT_TYPE_INFO;
-constexpr int ResultType_ARRAYSIZE = ResultType_MAX + 1;
+class ElementType {
 
-const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* ResultType_descriptor();
-template<typename T>
-inline const std::string& ResultType_Name(T enum_t_value) {
-  static_assert(::std::is_same<T, ResultType>::value ||
-    ::std::is_integral<T>::value,
-    "Incorrect type passed to function ResultType_Name.");
-  return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum(
-    ResultType_descriptor(), enum_t_value);
-}
-inline bool ResultType_Parse(
-    ::PROTOBUF_NAMESPACE_ID::ConstStringParam name, ResultType* value) {
-  return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum<ResultType>(
-    ResultType_descriptor(), name, value);
-}
-// ===================================================================
-
-class ElementType PROTOBUF_FINAL :
-    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:gtxilib.oopclasses.protos.ElementType) */ {
- public:
-  inline ElementType() : ElementType(nullptr) {}
-  virtual ~ElementType();
-
-  ElementType(const ElementType& from);
-  ElementType(ElementType&& from) noexcept
-    : ElementType() {
-    *this = ::std::move(from);
-  }
-
-  inline ElementType& operator=(const ElementType& from) {
-    CopyFrom(from);
-    return *this;
-  }
-  inline ElementType& operator=(ElementType&& from) noexcept {
-    if (GetArena() == from.GetArena()) {
-      if (this != &from) InternalSwap(&from);
-    } else {
-      CopyFrom(from);
-    }
-    return *this;
-  }
-
-  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
-    return GetDescriptor();
-  }
-  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
-    return GetMetadataStatic().descriptor;
-  }
-  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
-    return GetMetadataStatic().reflection;
-  }
-  static const ElementType& default_instance();
-
-  static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
-  static inline const ElementType* internal_default_instance() {
-    return reinterpret_cast<const ElementType*>(
-               &_ElementType_default_instance_);
-  }
-  static constexpr int kIndexInFileMessages =
-    0;
-
-  friend void swap(ElementType& a, ElementType& b) {
-    a.Swap(&b);
-  }
-  inline void Swap(ElementType* other) {
-    if (other == this) return;
-    if (GetArena() == other->GetArena()) {
-      InternalSwap(other);
-    } else {
-      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
-    }
-  }
-  void UnsafeArenaSwap(ElementType* other) {
-    if (other == this) return;
-    GOOGLE_DCHECK(GetArena() == other->GetArena());
-    InternalSwap(other);
-  }
-
-  // implements Message ----------------------------------------------
-
-  inline ElementType* New() const final {
-    return CreateMaybeMessage<ElementType>(nullptr);
-  }
-
-  ElementType* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
-    return CreateMaybeMessage<ElementType>(arena);
-  }
-  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
-  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
-  void CopyFrom(const ElementType& from);
-  void MergeFrom(const ElementType& from);
-  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
-  bool IsInitialized() const final;
-
-  size_t ByteSizeLong() const final;
-  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
-  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
-      ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
-  int GetCachedSize() const final { return _cached_size_.Get(); }
-
-  private:
-  inline void SharedCtor();
-  inline void SharedDtor();
-  void SetCachedSize(int size) const final;
-  void InternalSwap(ElementType* other);
-  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
-  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
-    return "gtxilib.oopclasses.protos.ElementType";
-  }
-  protected:
-  explicit ElementType(::PROTOBUF_NAMESPACE_ID::Arena* arena);
-  private:
-  static void ArenaDtor(void* object);
-  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
-  public:
-
-  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
-  private:
-  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
-    ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_enums_2eproto);
-    return ::descriptor_table_enums_2eproto.file_level_metadata[kIndexInFileMessages];
-  }
-
-  public:
-
-  // nested types ----------------------------------------------------
+public:
 
   typedef ElementType_ElementTypeEnum ElementTypeEnum;
-  static constexpr ElementTypeEnum ANY =
-    ElementType_ElementTypeEnum_ANY;
-  static constexpr ElementTypeEnum OTHER =
-    ElementType_ElementTypeEnum_OTHER;
-  static constexpr ElementTypeEnum APPLICATION =
-    ElementType_ElementTypeEnum_APPLICATION;
-  static constexpr ElementTypeEnum GROUP =
-    ElementType_ElementTypeEnum_GROUP;
-  static constexpr ElementTypeEnum WINDOW =
-    ElementType_ElementTypeEnum_WINDOW;
-  static constexpr ElementTypeEnum SHEET =
-    ElementType_ElementTypeEnum_SHEET;
-  static constexpr ElementTypeEnum DRAWER =
-    ElementType_ElementTypeEnum_DRAWER;
-  static constexpr ElementTypeEnum ALERT =
-    ElementType_ElementTypeEnum_ALERT;
-  static constexpr ElementTypeEnum DIALOG =
-    ElementType_ElementTypeEnum_DIALOG;
-  static constexpr ElementTypeEnum BUTTON =
-    ElementType_ElementTypeEnum_BUTTON;
-  static constexpr ElementTypeEnum RADIO_BUTTON =
-    ElementType_ElementTypeEnum_RADIO_BUTTON;
-  static constexpr ElementTypeEnum RADIO_GROUP =
-    ElementType_ElementTypeEnum_RADIO_GROUP;
-  static constexpr ElementTypeEnum CHECK_BOX =
-    ElementType_ElementTypeEnum_CHECK_BOX;
-  static constexpr ElementTypeEnum DISCLOSURE_TRIANGLE =
-    ElementType_ElementTypeEnum_DISCLOSURE_TRIANGLE;
-  static constexpr ElementTypeEnum POP_UP_BUTTON =
-    ElementType_ElementTypeEnum_POP_UP_BUTTON;
-  static constexpr ElementTypeEnum COMBO_BOX =
-    ElementType_ElementTypeEnum_COMBO_BOX;
-  static constexpr ElementTypeEnum MENU_BUTTON =
-    ElementType_ElementTypeEnum_MENU_BUTTON;
-  static constexpr ElementTypeEnum TOOLBAR_BUTTON =
-    ElementType_ElementTypeEnum_TOOLBAR_BUTTON;
-  static constexpr ElementTypeEnum POPOVER =
-    ElementType_ElementTypeEnum_POPOVER;
-  static constexpr ElementTypeEnum KEYBOARD =
-    ElementType_ElementTypeEnum_KEYBOARD;
-  static constexpr ElementTypeEnum KEY =
-    ElementType_ElementTypeEnum_KEY;
-  static constexpr ElementTypeEnum NAVIGATION_BAR =
-    ElementType_ElementTypeEnum_NAVIGATION_BAR;
-  static constexpr ElementTypeEnum TAB_BAR =
-    ElementType_ElementTypeEnum_TAB_BAR;
-  static constexpr ElementTypeEnum TAB_GROUP =
-    ElementType_ElementTypeEnum_TAB_GROUP;
-  static constexpr ElementTypeEnum TOOLBAR =
-    ElementType_ElementTypeEnum_TOOLBAR;
-  static constexpr ElementTypeEnum STATUS_BAR =
-    ElementType_ElementTypeEnum_STATUS_BAR;
-  static constexpr ElementTypeEnum TABLE =
-    ElementType_ElementTypeEnum_TABLE;
-  static constexpr ElementTypeEnum TABLE_ROW =
-    ElementType_ElementTypeEnum_TABLE_ROW;
-  static constexpr ElementTypeEnum TABLE_COLUMN =
-    ElementType_ElementTypeEnum_TABLE_COLUMN;
-  static constexpr ElementTypeEnum OUTLINE =
-    ElementType_ElementTypeEnum_OUTLINE;
-  static constexpr ElementTypeEnum OUTLINE_ROW =
-    ElementType_ElementTypeEnum_OUTLINE_ROW;
-  static constexpr ElementTypeEnum BROWSER =
-    ElementType_ElementTypeEnum_BROWSER;
-  static constexpr ElementTypeEnum COLLECTION_VIEW =
-    ElementType_ElementTypeEnum_COLLECTION_VIEW;
-  static constexpr ElementTypeEnum SLIDER =
-    ElementType_ElementTypeEnum_SLIDER;
-  static constexpr ElementTypeEnum PAGE_INDICATOR =
-    ElementType_ElementTypeEnum_PAGE_INDICATOR;
-  static constexpr ElementTypeEnum PROGRESS_INDICATOR =
-    ElementType_ElementTypeEnum_PROGRESS_INDICATOR;
-  static constexpr ElementTypeEnum ACTIVITY_INDICATOR =
-    ElementType_ElementTypeEnum_ACTIVITY_INDICATOR;
-  static constexpr ElementTypeEnum SEGMENTED_CONTROL =
-    ElementType_ElementTypeEnum_SEGMENTED_CONTROL;
-  static constexpr ElementTypeEnum PICKER =
-    ElementType_ElementTypeEnum_PICKER;
-  static constexpr ElementTypeEnum PICKER_WHEEL =
-    ElementType_ElementTypeEnum_PICKER_WHEEL;
-  static constexpr ElementTypeEnum SWITCH =
-    ElementType_ElementTypeEnum_SWITCH;
-  static constexpr ElementTypeEnum TOGGLE =
-    ElementType_ElementTypeEnum_TOGGLE;
-  static constexpr ElementTypeEnum LINK =
-    ElementType_ElementTypeEnum_LINK;
-  static constexpr ElementTypeEnum IMAGE =
-    ElementType_ElementTypeEnum_IMAGE;
-  static constexpr ElementTypeEnum ICON =
-    ElementType_ElementTypeEnum_ICON;
-  static constexpr ElementTypeEnum SEARCH_FIELD =
-    ElementType_ElementTypeEnum_SEARCH_FIELD;
-  static constexpr ElementTypeEnum SCROLL_VIEW =
-    ElementType_ElementTypeEnum_SCROLL_VIEW;
-  static constexpr ElementTypeEnum SCROLL_BAR =
-    ElementType_ElementTypeEnum_SCROLL_BAR;
-  static constexpr ElementTypeEnum STATIC_TEXT =
-    ElementType_ElementTypeEnum_STATIC_TEXT;
-  static constexpr ElementTypeEnum TEXT_FIELD =
-    ElementType_ElementTypeEnum_TEXT_FIELD;
-  static constexpr ElementTypeEnum SECURE_TEXT_FIELD =
-    ElementType_ElementTypeEnum_SECURE_TEXT_FIELD;
-  static constexpr ElementTypeEnum DATE_PICKER =
-    ElementType_ElementTypeEnum_DATE_PICKER;
-  static constexpr ElementTypeEnum TEXT_VIEW =
-    ElementType_ElementTypeEnum_TEXT_VIEW;
-  static constexpr ElementTypeEnum MENU =
-    ElementType_ElementTypeEnum_MENU;
-  static constexpr ElementTypeEnum MENU_ITEM =
-    ElementType_ElementTypeEnum_MENU_ITEM;
-  static constexpr ElementTypeEnum MENU_BAR =
-    ElementType_ElementTypeEnum_MENU_BAR;
-  static constexpr ElementTypeEnum MENU_BAR_ITEM =
-    ElementType_ElementTypeEnum_MENU_BAR_ITEM;
-  static constexpr ElementTypeEnum MAP =
-    ElementType_ElementTypeEnum_MAP;
-  static constexpr ElementTypeEnum WEB_VIEW =
-    ElementType_ElementTypeEnum_WEB_VIEW;
-  static constexpr ElementTypeEnum INCREMENT_ARROW =
-    ElementType_ElementTypeEnum_INCREMENT_ARROW;
-  static constexpr ElementTypeEnum DECREMENT_ARROW =
-    ElementType_ElementTypeEnum_DECREMENT_ARROW;
-  static constexpr ElementTypeEnum TIMELINE =
-    ElementType_ElementTypeEnum_TIMELINE;
-  static constexpr ElementTypeEnum RATING_INDICATOR =
-    ElementType_ElementTypeEnum_RATING_INDICATOR;
-  static constexpr ElementTypeEnum VALUE_INDICATOR =
-    ElementType_ElementTypeEnum_VALUE_INDICATOR;
-  static constexpr ElementTypeEnum SPLIT_GROUP =
-    ElementType_ElementTypeEnum_SPLIT_GROUP;
-  static constexpr ElementTypeEnum SPLITTER =
-    ElementType_ElementTypeEnum_SPLITTER;
-  static constexpr ElementTypeEnum RELEVANCE_INDICATOR =
-    ElementType_ElementTypeEnum_RELEVANCE_INDICATOR;
-  static constexpr ElementTypeEnum COLOR_WELL =
-    ElementType_ElementTypeEnum_COLOR_WELL;
-  static constexpr ElementTypeEnum HELP_TAG =
-    ElementType_ElementTypeEnum_HELP_TAG;
-  static constexpr ElementTypeEnum MATTE =
-    ElementType_ElementTypeEnum_MATTE;
-  static constexpr ElementTypeEnum DOCK_ITEM =
-    ElementType_ElementTypeEnum_DOCK_ITEM;
-  static constexpr ElementTypeEnum RULER =
-    ElementType_ElementTypeEnum_RULER;
-  static constexpr ElementTypeEnum RULER_MARKER =
-    ElementType_ElementTypeEnum_RULER_MARKER;
-  static constexpr ElementTypeEnum GRID =
-    ElementType_ElementTypeEnum_GRID;
-  static constexpr ElementTypeEnum LEVEL_INDICATOR =
-    ElementType_ElementTypeEnum_LEVEL_INDICATOR;
-  static constexpr ElementTypeEnum CELL =
-    ElementType_ElementTypeEnum_CELL;
-  static constexpr ElementTypeEnum LAYOUT_AREA =
-    ElementType_ElementTypeEnum_LAYOUT_AREA;
-  static constexpr ElementTypeEnum LAYOUT_ITEM =
-    ElementType_ElementTypeEnum_LAYOUT_ITEM;
-  static constexpr ElementTypeEnum HANDLE =
-    ElementType_ElementTypeEnum_HANDLE;
-  static constexpr ElementTypeEnum STEPPER =
-    ElementType_ElementTypeEnum_STEPPER;
-  static constexpr ElementTypeEnum TAB =
-    ElementType_ElementTypeEnum_TAB;
-  static constexpr ElementTypeEnum TOUCH_BAR =
-    ElementType_ElementTypeEnum_TOUCH_BAR;
-  static constexpr ElementTypeEnum STATUS_ITEM =
-    ElementType_ElementTypeEnum_STATUS_ITEM;
-  static inline bool ElementTypeEnum_IsValid(int value) {
-    return ElementType_ElementTypeEnum_IsValid(value);
-  }
-  static constexpr ElementTypeEnum ElementTypeEnum_MIN =
-    ElementType_ElementTypeEnum_ElementTypeEnum_MIN;
-  static constexpr ElementTypeEnum ElementTypeEnum_MAX =
-    ElementType_ElementTypeEnum_ElementTypeEnum_MAX;
-  static constexpr int ElementTypeEnum_ARRAYSIZE =
-    ElementType_ElementTypeEnum_ElementTypeEnum_ARRAYSIZE;
-  static inline const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor*
-  ElementTypeEnum_descriptor() {
-    return ElementType_ElementTypeEnum_descriptor();
-  }
-  template<typename T>
-  static inline const std::string& ElementTypeEnum_Name(T enum_t_value) {
-    static_assert(::std::is_same<T, ElementTypeEnum>::value ||
-      ::std::is_integral<T>::value,
-      "Incorrect type passed to function ElementTypeEnum_Name.");
-    return ElementType_ElementTypeEnum_Name(enum_t_value);
-  }
-  static inline bool ElementTypeEnum_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name,
-      ElementTypeEnum* value) {
-    return ElementType_ElementTypeEnum_Parse(name, value);
-  }
+  static constexpr ElementType_ElementTypeEnum ANY = ElementType_ElementTypeEnum_ANY;
+  static constexpr ElementType_ElementTypeEnum OTHER = ElementType_ElementTypeEnum_OTHER;
+  static constexpr ElementType_ElementTypeEnum APPLICATION = ElementType_ElementTypeEnum_APPLICATION;
+  static constexpr ElementType_ElementTypeEnum GROUP = ElementType_ElementTypeEnum_GROUP;
+  static constexpr ElementType_ElementTypeEnum WINDOW = ElementType_ElementTypeEnum_WINDOW;
+  static constexpr ElementType_ElementTypeEnum SHEET = ElementType_ElementTypeEnum_SHEET;
+  static constexpr ElementType_ElementTypeEnum DRAWER = ElementType_ElementTypeEnum_DRAWER;
+  static constexpr ElementType_ElementTypeEnum ALERT = ElementType_ElementTypeEnum_ALERT;
+  static constexpr ElementType_ElementTypeEnum DIALOG = ElementType_ElementTypeEnum_DIALOG;
+  static constexpr ElementType_ElementTypeEnum BUTTON = ElementType_ElementTypeEnum_BUTTON;
+  static constexpr ElementType_ElementTypeEnum RADIO_BUTTON = ElementType_ElementTypeEnum_RADIO_BUTTON;
+  static constexpr ElementType_ElementTypeEnum RADIO_GROUP = ElementType_ElementTypeEnum_RADIO_GROUP;
+  static constexpr ElementType_ElementTypeEnum CHECK_BOX = ElementType_ElementTypeEnum_CHECK_BOX;
+  static constexpr ElementType_ElementTypeEnum DISCLOSURE_TRIANGLE = ElementType_ElementTypeEnum_DISCLOSURE_TRIANGLE;
+  static constexpr ElementType_ElementTypeEnum POP_UP_BUTTON = ElementType_ElementTypeEnum_POP_UP_BUTTON;
+  static constexpr ElementType_ElementTypeEnum COMBO_BOX = ElementType_ElementTypeEnum_COMBO_BOX;
+  static constexpr ElementType_ElementTypeEnum MENU_BUTTON = ElementType_ElementTypeEnum_MENU_BUTTON;
+  static constexpr ElementType_ElementTypeEnum TOOLBAR_BUTTON = ElementType_ElementTypeEnum_TOOLBAR_BUTTON;
+  static constexpr ElementType_ElementTypeEnum POPOVER = ElementType_ElementTypeEnum_POPOVER;
+  static constexpr ElementType_ElementTypeEnum KEYBOARD = ElementType_ElementTypeEnum_KEYBOARD;
+  static constexpr ElementType_ElementTypeEnum KEY = ElementType_ElementTypeEnum_KEY;
+  static constexpr ElementType_ElementTypeEnum NAVIGATION_BAR = ElementType_ElementTypeEnum_NAVIGATION_BAR;
+  static constexpr ElementType_ElementTypeEnum TAB_BAR = ElementType_ElementTypeEnum_TAB_BAR;
+  static constexpr ElementType_ElementTypeEnum TAB_GROUP = ElementType_ElementTypeEnum_TAB_GROUP;
+  static constexpr ElementType_ElementTypeEnum TOOLBAR = ElementType_ElementTypeEnum_TOOLBAR;
+  static constexpr ElementType_ElementTypeEnum STATUS_BAR = ElementType_ElementTypeEnum_STATUS_BAR;
+  static constexpr ElementType_ElementTypeEnum TABLE = ElementType_ElementTypeEnum_TABLE;
+  static constexpr ElementType_ElementTypeEnum TABLE_ROW = ElementType_ElementTypeEnum_TABLE_ROW;
+  static constexpr ElementType_ElementTypeEnum TABLE_COLUMN = ElementType_ElementTypeEnum_TABLE_COLUMN;
+  static constexpr ElementType_ElementTypeEnum OUTLINE = ElementType_ElementTypeEnum_OUTLINE;
+  static constexpr ElementType_ElementTypeEnum OUTLINE_ROW = ElementType_ElementTypeEnum_OUTLINE_ROW;
+  static constexpr ElementType_ElementTypeEnum BROWSER = ElementType_ElementTypeEnum_BROWSER;
+  static constexpr ElementType_ElementTypeEnum COLLECTION_VIEW = ElementType_ElementTypeEnum_COLLECTION_VIEW;
+  static constexpr ElementType_ElementTypeEnum SLIDER = ElementType_ElementTypeEnum_SLIDER;
+  static constexpr ElementType_ElementTypeEnum PAGE_INDICATOR = ElementType_ElementTypeEnum_PAGE_INDICATOR;
+  static constexpr ElementType_ElementTypeEnum PROGRESS_INDICATOR = ElementType_ElementTypeEnum_PROGRESS_INDICATOR;
+  static constexpr ElementType_ElementTypeEnum ACTIVITY_INDICATOR = ElementType_ElementTypeEnum_ACTIVITY_INDICATOR;
+  static constexpr ElementType_ElementTypeEnum SEGMENTED_CONTROL = ElementType_ElementTypeEnum_SEGMENTED_CONTROL;
+  static constexpr ElementType_ElementTypeEnum PICKER = ElementType_ElementTypeEnum_PICKER;
+  static constexpr ElementType_ElementTypeEnum PICKER_WHEEL = ElementType_ElementTypeEnum_PICKER_WHEEL;
+  static constexpr ElementType_ElementTypeEnum SWITCH = ElementType_ElementTypeEnum_SWITCH;
+  static constexpr ElementType_ElementTypeEnum TOGGLE = ElementType_ElementTypeEnum_TOGGLE;
+  static constexpr ElementType_ElementTypeEnum LINK = ElementType_ElementTypeEnum_LINK;
+  static constexpr ElementType_ElementTypeEnum IMAGE = ElementType_ElementTypeEnum_IMAGE;
+  static constexpr ElementType_ElementTypeEnum ICON = ElementType_ElementTypeEnum_ICON;
+  static constexpr ElementType_ElementTypeEnum SEARCH_FIELD = ElementType_ElementTypeEnum_SEARCH_FIELD;
+  static constexpr ElementType_ElementTypeEnum SCROLL_VIEW = ElementType_ElementTypeEnum_SCROLL_VIEW;
+  static constexpr ElementType_ElementTypeEnum SCROLL_BAR = ElementType_ElementTypeEnum_SCROLL_BAR;
+  static constexpr ElementType_ElementTypeEnum STATIC_TEXT = ElementType_ElementTypeEnum_STATIC_TEXT;
+  static constexpr ElementType_ElementTypeEnum TEXT_FIELD = ElementType_ElementTypeEnum_TEXT_FIELD;
+  static constexpr ElementType_ElementTypeEnum SECURE_TEXT_FIELD = ElementType_ElementTypeEnum_SECURE_TEXT_FIELD;
+  static constexpr ElementType_ElementTypeEnum DATE_PICKER = ElementType_ElementTypeEnum_DATE_PICKER;
+  static constexpr ElementType_ElementTypeEnum TEXT_VIEW = ElementType_ElementTypeEnum_TEXT_VIEW;
+  static constexpr ElementType_ElementTypeEnum MENU = ElementType_ElementTypeEnum_MENU;
+  static constexpr ElementType_ElementTypeEnum MENU_ITEM = ElementType_ElementTypeEnum_MENU_ITEM;
+  static constexpr ElementType_ElementTypeEnum MENU_BAR = ElementType_ElementTypeEnum_MENU_BAR;
+  static constexpr ElementType_ElementTypeEnum MENU_BAR_ITEM = ElementType_ElementTypeEnum_MENU_BAR_ITEM;
+  static constexpr ElementType_ElementTypeEnum MAP = ElementType_ElementTypeEnum_MAP;
+  static constexpr ElementType_ElementTypeEnum WEB_VIEW = ElementType_ElementTypeEnum_WEB_VIEW;
+  static constexpr ElementType_ElementTypeEnum INCREMENT_ARROW = ElementType_ElementTypeEnum_INCREMENT_ARROW;
+  static constexpr ElementType_ElementTypeEnum DECREMENT_ARROW = ElementType_ElementTypeEnum_DECREMENT_ARROW;
+  static constexpr ElementType_ElementTypeEnum TIMELINE = ElementType_ElementTypeEnum_TIMELINE;
+  static constexpr ElementType_ElementTypeEnum RATING_INDICATOR = ElementType_ElementTypeEnum_RATING_INDICATOR;
+  static constexpr ElementType_ElementTypeEnum VALUE_INDICATOR = ElementType_ElementTypeEnum_VALUE_INDICATOR;
+  static constexpr ElementType_ElementTypeEnum SPLIT_GROUP = ElementType_ElementTypeEnum_SPLIT_GROUP;
+  static constexpr ElementType_ElementTypeEnum SPLITTER = ElementType_ElementTypeEnum_SPLITTER;
+  static constexpr ElementType_ElementTypeEnum RELEVANCE_INDICATOR = ElementType_ElementTypeEnum_RELEVANCE_INDICATOR;
+  static constexpr ElementType_ElementTypeEnum COLOR_WELL = ElementType_ElementTypeEnum_COLOR_WELL;
+  static constexpr ElementType_ElementTypeEnum HELP_TAG = ElementType_ElementTypeEnum_HELP_TAG;
+  static constexpr ElementType_ElementTypeEnum MATTE = ElementType_ElementTypeEnum_MATTE;
+  static constexpr ElementType_ElementTypeEnum DOCK_ITEM = ElementType_ElementTypeEnum_DOCK_ITEM;
+  static constexpr ElementType_ElementTypeEnum RULER = ElementType_ElementTypeEnum_RULER;
+  static constexpr ElementType_ElementTypeEnum RULER_MARKER = ElementType_ElementTypeEnum_RULER_MARKER;
+  static constexpr ElementType_ElementTypeEnum GRID = ElementType_ElementTypeEnum_GRID;
+  static constexpr ElementType_ElementTypeEnum LEVEL_INDICATOR = ElementType_ElementTypeEnum_LEVEL_INDICATOR;
+  static constexpr ElementType_ElementTypeEnum CELL = ElementType_ElementTypeEnum_CELL;
+  static constexpr ElementType_ElementTypeEnum LAYOUT_AREA = ElementType_ElementTypeEnum_LAYOUT_AREA;
+  static constexpr ElementType_ElementTypeEnum LAYOUT_ITEM = ElementType_ElementTypeEnum_LAYOUT_ITEM;
+  static constexpr ElementType_ElementTypeEnum HANDLE = ElementType_ElementTypeEnum_HANDLE;
+  static constexpr ElementType_ElementTypeEnum STEPPER = ElementType_ElementTypeEnum_STEPPER;
+  static constexpr ElementType_ElementTypeEnum TAB = ElementType_ElementTypeEnum_TAB;
+  static constexpr ElementType_ElementTypeEnum TOUCH_BAR = ElementType_ElementTypeEnum_TOUCH_BAR;
+  static constexpr ElementType_ElementTypeEnum STATUS_ITEM = ElementType_ElementTypeEnum_STATUS_ITEM;
 
-  // accessors -------------------------------------------------------
-
-  // @@protoc_insertion_point(class_scope:gtxilib.oopclasses.protos.ElementType)
- private:
-  class _Internal;
-
-  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
-  typedef void InternalArenaConstructable_;
-  typedef void DestructorSkippable_;
-  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
-  friend struct ::TableStruct_enums_2eproto;
+private:
 };
-// ===================================================================
 
+}  // GTXiLib
+}  // OOPClasses
+}  // Protos
 
-// ===================================================================
-
-#ifdef __GNUC__
-  #pragma GCC diagnostic push
-  #pragma GCC diagnostic ignored "-Wstrict-aliasing"
-#endif  // __GNUC__
-// ElementType
-
-#ifdef __GNUC__
-  #pragma GCC diagnostic pop
-#endif  // __GNUC__
-
-// @@protoc_insertion_point(namespace_scope)
-
-}  // namespace protos
-}  // namespace oopclasses
-}  // namespace gtxilib
-
-PROTOBUF_NAMESPACE_OPEN
-
-template <> struct is_proto_enum< ::gtxilib::oopclasses::protos::ElementType_ElementTypeEnum> : ::std::true_type {};
-template <>
-inline const EnumDescriptor* GetEnumDescriptor< ::gtxilib::oopclasses::protos::ElementType_ElementTypeEnum>() {
-  return ::gtxilib::oopclasses::protos::ElementType_ElementTypeEnum_descriptor();
-}
-template <> struct is_proto_enum< ::gtxilib::oopclasses::protos::ResultType> : ::std::true_type {};
-template <>
-inline const EnumDescriptor* GetEnumDescriptor< ::gtxilib::oopclasses::protos::ResultType>() {
-  return ::gtxilib::oopclasses::protos::ResultType_descriptor();
-}
-
-PROTOBUF_NAMESPACE_CLOSE
-
-// @@protoc_insertion_point(global_scope)
-
-#include <google/protobuf/port_undef.inc>
-#endif  // GOOGLE_PROTOBUF_INCLUDED_GOOGLE_PROTOBUF_INCLUDED_enums_2eproto
+#endif
diff --git a/OOPClasses/Protos/gtx.pb.cc b/OOPClasses/Protos/gtx.pb.cc
old mode 100644
new mode 100755
index 898f1dc..a8173eb
--- a/OOPClasses/Protos/gtx.pb.cc
+++ b/OOPClasses/Protos/gtx.pb.cc
@@ -1,3699 +1,1022 @@
-// Generated by the protocol buffer compiler.  DO NOT EDIT!
-// source: gtx.proto
+#include <map>
+#include <string>
+#include <stdlib.h>
+#include <vector>
 
+#include "enums.pb.h"
 #include "gtx.pb.h"
-
-#include <algorithm>
-
-#include <google/protobuf/io/coded_stream.h>
-#include <google/protobuf/extension_set.h>
-#include <google/protobuf/wire_format_lite.h>
-#include <google/protobuf/descriptor.h>
-#include <google/protobuf/generated_message_reflection.h>
-#include <google/protobuf/reflection_ops.h>
-#include <google/protobuf/wire_format.h>
-// @@protoc_insertion_point(includes)
-#include <google/protobuf/port_def.inc>
-extern PROTOBUF_INTERNAL_EXPORT_gtx_2eproto ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<0> scc_info_Color_gtx_2eproto;
-extern PROTOBUF_INTERNAL_EXPORT_gtx_2eproto ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<1> scc_info_DeviceState_gtx_2eproto;
-extern PROTOBUF_INTERNAL_EXPORT_gtx_2eproto ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<0> scc_info_DisplayMetrics_gtx_2eproto;
-extern PROTOBUF_INTERNAL_EXPORT_gtx_2eproto ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<0> scc_info_Point_gtx_2eproto;
-extern PROTOBUF_INTERNAL_EXPORT_gtx_2eproto ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<2> scc_info_Rect_gtx_2eproto;
-extern PROTOBUF_INTERNAL_EXPORT_gtx_2eproto ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<0> scc_info_Size_gtx_2eproto;
-extern PROTOBUF_INTERNAL_EXPORT_gtx_2eproto ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<2> scc_info_UIElement_gtx_2eproto;
-namespace gtxilib {
-namespace oopclasses {
-namespace protos {
-class PointDefaultTypeInternal {
- public:
-  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<Point> _instance;
-} _Point_default_instance_;
-class SizeDefaultTypeInternal {
- public:
-  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<Size> _instance;
-} _Size_default_instance_;
-class RectDefaultTypeInternal {
- public:
-  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<Rect> _instance;
-} _Rect_default_instance_;
-class ColorDefaultTypeInternal {
- public:
-  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<Color> _instance;
-} _Color_default_instance_;
-class UIElementDefaultTypeInternal {
- public:
-  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<UIElement> _instance;
-} _UIElement_default_instance_;
-class DeviceStateDefaultTypeInternal {
- public:
-  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<DeviceState> _instance;
-} _DeviceState_default_instance_;
-class DisplayMetricsDefaultTypeInternal {
- public:
-  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<DisplayMetrics> _instance;
-} _DisplayMetrics_default_instance_;
-class AccessibilityHierarchyDefaultTypeInternal {
- public:
-  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<AccessibilityHierarchy> _instance;
-} _AccessibilityHierarchy_default_instance_;
-}  // namespace protos
-}  // namespace oopclasses
-}  // namespace gtxilib
-static void InitDefaultsscc_info_AccessibilityHierarchy_gtx_2eproto() {
-  GOOGLE_PROTOBUF_VERIFY_VERSION;
-
-  {
-    void* ptr = &::gtxilib::oopclasses::protos::_AccessibilityHierarchy_default_instance_;
-    new (ptr) ::gtxilib::oopclasses::protos::AccessibilityHierarchy();
-    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
-  }
-  ::gtxilib::oopclasses::protos::AccessibilityHierarchy::InitAsDefaultInstance();
-}
-
-::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<2> scc_info_AccessibilityHierarchy_gtx_2eproto =
-    {{ATOMIC_VAR_INIT(::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase::kUninitialized), 2, 0, InitDefaultsscc_info_AccessibilityHierarchy_gtx_2eproto}, {
-      &scc_info_DeviceState_gtx_2eproto.base,
-      &scc_info_UIElement_gtx_2eproto.base,}};
-
-static void InitDefaultsscc_info_Color_gtx_2eproto() {
-  GOOGLE_PROTOBUF_VERIFY_VERSION;
-
-  {
-    void* ptr = &::gtxilib::oopclasses::protos::_Color_default_instance_;
-    new (ptr) ::gtxilib::oopclasses::protos::Color();
-    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
-  }
-  ::gtxilib::oopclasses::protos::Color::InitAsDefaultInstance();
-}
-
-::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<0> scc_info_Color_gtx_2eproto =
-    {{ATOMIC_VAR_INIT(::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase::kUninitialized), 0, 0, InitDefaultsscc_info_Color_gtx_2eproto}, {}};
-
-static void InitDefaultsscc_info_DeviceState_gtx_2eproto() {
-  GOOGLE_PROTOBUF_VERIFY_VERSION;
-
-  {
-    void* ptr = &::gtxilib::oopclasses::protos::_DeviceState_default_instance_;
-    new (ptr) ::gtxilib::oopclasses::protos::DeviceState();
-    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
-  }
-  ::gtxilib::oopclasses::protos::DeviceState::InitAsDefaultInstance();
-}
-
-::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<1> scc_info_DeviceState_gtx_2eproto =
-    {{ATOMIC_VAR_INIT(::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase::kUninitialized), 1, 0, InitDefaultsscc_info_DeviceState_gtx_2eproto}, {
-      &scc_info_DisplayMetrics_gtx_2eproto.base,}};
-
-static void InitDefaultsscc_info_DisplayMetrics_gtx_2eproto() {
-  GOOGLE_PROTOBUF_VERIFY_VERSION;
-
-  {
-    void* ptr = &::gtxilib::oopclasses::protos::_DisplayMetrics_default_instance_;
-    new (ptr) ::gtxilib::oopclasses::protos::DisplayMetrics();
-    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
-  }
-  ::gtxilib::oopclasses::protos::DisplayMetrics::InitAsDefaultInstance();
-}
-
-::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<0> scc_info_DisplayMetrics_gtx_2eproto =
-    {{ATOMIC_VAR_INIT(::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase::kUninitialized), 0, 0, InitDefaultsscc_info_DisplayMetrics_gtx_2eproto}, {}};
-
-static void InitDefaultsscc_info_Point_gtx_2eproto() {
-  GOOGLE_PROTOBUF_VERIFY_VERSION;
-
-  {
-    void* ptr = &::gtxilib::oopclasses::protos::_Point_default_instance_;
-    new (ptr) ::gtxilib::oopclasses::protos::Point();
-    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
-  }
-  ::gtxilib::oopclasses::protos::Point::InitAsDefaultInstance();
-}
-
-::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<0> scc_info_Point_gtx_2eproto =
-    {{ATOMIC_VAR_INIT(::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase::kUninitialized), 0, 0, InitDefaultsscc_info_Point_gtx_2eproto}, {}};
-
-static void InitDefaultsscc_info_Rect_gtx_2eproto() {
-  GOOGLE_PROTOBUF_VERIFY_VERSION;
-
-  {
-    void* ptr = &::gtxilib::oopclasses::protos::_Rect_default_instance_;
-    new (ptr) ::gtxilib::oopclasses::protos::Rect();
-    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
-  }
-  ::gtxilib::oopclasses::protos::Rect::InitAsDefaultInstance();
-}
-
-::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<2> scc_info_Rect_gtx_2eproto =
-    {{ATOMIC_VAR_INIT(::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase::kUninitialized), 2, 0, InitDefaultsscc_info_Rect_gtx_2eproto}, {
-      &scc_info_Point_gtx_2eproto.base,
-      &scc_info_Size_gtx_2eproto.base,}};
-
-static void InitDefaultsscc_info_Size_gtx_2eproto() {
-  GOOGLE_PROTOBUF_VERIFY_VERSION;
-
-  {
-    void* ptr = &::gtxilib::oopclasses::protos::_Size_default_instance_;
-    new (ptr) ::gtxilib::oopclasses::protos::Size();
-    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
-  }
-  ::gtxilib::oopclasses::protos::Size::InitAsDefaultInstance();
-}
-
-::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<0> scc_info_Size_gtx_2eproto =
-    {{ATOMIC_VAR_INIT(::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase::kUninitialized), 0, 0, InitDefaultsscc_info_Size_gtx_2eproto}, {}};
-
-static void InitDefaultsscc_info_UIElement_gtx_2eproto() {
-  GOOGLE_PROTOBUF_VERIFY_VERSION;
-
-  {
-    void* ptr = &::gtxilib::oopclasses::protos::_UIElement_default_instance_;
-    new (ptr) ::gtxilib::oopclasses::protos::UIElement();
-    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
-  }
-  ::gtxilib::oopclasses::protos::UIElement::InitAsDefaultInstance();
-}
-
-::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<2> scc_info_UIElement_gtx_2eproto =
-    {{ATOMIC_VAR_INIT(::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase::kUninitialized), 2, 0, InitDefaultsscc_info_UIElement_gtx_2eproto}, {
-      &scc_info_Rect_gtx_2eproto.base,
-      &scc_info_Color_gtx_2eproto.base,}};
-
-static ::PROTOBUF_NAMESPACE_ID::Metadata file_level_metadata_gtx_2eproto[8];
-static constexpr ::PROTOBUF_NAMESPACE_ID::EnumDescriptor const** file_level_enum_descriptors_gtx_2eproto = nullptr;
-static constexpr ::PROTOBUF_NAMESPACE_ID::ServiceDescriptor const** file_level_service_descriptors_gtx_2eproto = nullptr;
-
-const ::PROTOBUF_NAMESPACE_ID::uint32 TableStruct_gtx_2eproto::offsets[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) = {
-  PROTOBUF_FIELD_OFFSET(::gtxilib::oopclasses::protos::Point, _has_bits_),
-  PROTOBUF_FIELD_OFFSET(::gtxilib::oopclasses::protos::Point, _internal_metadata_),
-  ~0u,  // no _extensions_
-  ~0u,  // no _oneof_case_
-  ~0u,  // no _weak_field_map_
-  PROTOBUF_FIELD_OFFSET(::gtxilib::oopclasses::protos::Point, x_),
-  PROTOBUF_FIELD_OFFSET(::gtxilib::oopclasses::protos::Point, y_),
-  0,
-  1,
-  PROTOBUF_FIELD_OFFSET(::gtxilib::oopclasses::protos::Size, _has_bits_),
-  PROTOBUF_FIELD_OFFSET(::gtxilib::oopclasses::protos::Size, _internal_metadata_),
-  ~0u,  // no _extensions_
-  ~0u,  // no _oneof_case_
-  ~0u,  // no _weak_field_map_
-  PROTOBUF_FIELD_OFFSET(::gtxilib::oopclasses::protos::Size, width_),
-  PROTOBUF_FIELD_OFFSET(::gtxilib::oopclasses::protos::Size, height_),
-  0,
-  1,
-  PROTOBUF_FIELD_OFFSET(::gtxilib::oopclasses::protos::Rect, _has_bits_),
-  PROTOBUF_FIELD_OFFSET(::gtxilib::oopclasses::protos::Rect, _internal_metadata_),
-  ~0u,  // no _extensions_
-  ~0u,  // no _oneof_case_
-  ~0u,  // no _weak_field_map_
-  PROTOBUF_FIELD_OFFSET(::gtxilib::oopclasses::protos::Rect, origin_),
-  PROTOBUF_FIELD_OFFSET(::gtxilib::oopclasses::protos::Rect, size_),
-  0,
-  1,
-  PROTOBUF_FIELD_OFFSET(::gtxilib::oopclasses::protos::Color, _has_bits_),
-  PROTOBUF_FIELD_OFFSET(::gtxilib::oopclasses::protos::Color, _internal_metadata_),
-  ~0u,  // no _extensions_
-  ~0u,  // no _oneof_case_
-  ~0u,  // no _weak_field_map_
-  PROTOBUF_FIELD_OFFSET(::gtxilib::oopclasses::protos::Color, r_),
-  PROTOBUF_FIELD_OFFSET(::gtxilib::oopclasses::protos::Color, g_),
-  PROTOBUF_FIELD_OFFSET(::gtxilib::oopclasses::protos::Color, b_),
-  PROTOBUF_FIELD_OFFSET(::gtxilib::oopclasses::protos::Color, a_),
-  0,
-  1,
-  2,
-  3,
-  PROTOBUF_FIELD_OFFSET(::gtxilib::oopclasses::protos::UIElement, _has_bits_),
-  PROTOBUF_FIELD_OFFSET(::gtxilib::oopclasses::protos::UIElement, _internal_metadata_),
-  ~0u,  // no _extensions_
-  ~0u,  // no _oneof_case_
-  ~0u,  // no _weak_field_map_
-  PROTOBUF_FIELD_OFFSET(::gtxilib::oopclasses::protos::UIElement, id_),
-  PROTOBUF_FIELD_OFFSET(::gtxilib::oopclasses::protos::UIElement, parent_id_),
-  PROTOBUF_FIELD_OFFSET(::gtxilib::oopclasses::protos::UIElement, child_ids_),
-  PROTOBUF_FIELD_OFFSET(::gtxilib::oopclasses::protos::UIElement, is_ax_element_),
-  PROTOBUF_FIELD_OFFSET(::gtxilib::oopclasses::protos::UIElement, ax_traits_),
-  PROTOBUF_FIELD_OFFSET(::gtxilib::oopclasses::protos::UIElement, ax_label_),
-  PROTOBUF_FIELD_OFFSET(::gtxilib::oopclasses::protos::UIElement, ax_hint_),
-  PROTOBUF_FIELD_OFFSET(::gtxilib::oopclasses::protos::UIElement, ax_frame_),
-  PROTOBUF_FIELD_OFFSET(::gtxilib::oopclasses::protos::UIElement, ax_identifier_),
-  PROTOBUF_FIELD_OFFSET(::gtxilib::oopclasses::protos::UIElement, hittable_),
-  PROTOBUF_FIELD_OFFSET(::gtxilib::oopclasses::protos::UIElement, exists_),
-  PROTOBUF_FIELD_OFFSET(::gtxilib::oopclasses::protos::UIElement, xc_selected_),
-  PROTOBUF_FIELD_OFFSET(::gtxilib::oopclasses::protos::UIElement, xc_enabled_),
-  PROTOBUF_FIELD_OFFSET(::gtxilib::oopclasses::protos::UIElement, element_type_),
-  PROTOBUF_FIELD_OFFSET(::gtxilib::oopclasses::protos::UIElement, class_names_hierarchy_),
-  PROTOBUF_FIELD_OFFSET(::gtxilib::oopclasses::protos::UIElement, background_color_),
-  PROTOBUF_FIELD_OFFSET(::gtxilib::oopclasses::protos::UIElement, hidden_),
-  PROTOBUF_FIELD_OFFSET(::gtxilib::oopclasses::protos::UIElement, alpha_),
-  PROTOBUF_FIELD_OFFSET(::gtxilib::oopclasses::protos::UIElement, opaque_),
-  PROTOBUF_FIELD_OFFSET(::gtxilib::oopclasses::protos::UIElement, tint_color_),
-  PROTOBUF_FIELD_OFFSET(::gtxilib::oopclasses::protos::UIElement, clips_to_bounds_),
-  PROTOBUF_FIELD_OFFSET(::gtxilib::oopclasses::protos::UIElement, user_interaction_enabled_),
-  PROTOBUF_FIELD_OFFSET(::gtxilib::oopclasses::protos::UIElement, multiple_touch_enabled_),
-  PROTOBUF_FIELD_OFFSET(::gtxilib::oopclasses::protos::UIElement, exclusive_touch_),
-  PROTOBUF_FIELD_OFFSET(::gtxilib::oopclasses::protos::UIElement, frame_),
-  PROTOBUF_FIELD_OFFSET(::gtxilib::oopclasses::protos::UIElement, bounds_),
-  PROTOBUF_FIELD_OFFSET(::gtxilib::oopclasses::protos::UIElement, control_state_),
-  PROTOBUF_FIELD_OFFSET(::gtxilib::oopclasses::protos::UIElement, enabled_),
-  PROTOBUF_FIELD_OFFSET(::gtxilib::oopclasses::protos::UIElement, selected_),
-  PROTOBUF_FIELD_OFFSET(::gtxilib::oopclasses::protos::UIElement, highlighted_),
-  PROTOBUF_FIELD_OFFSET(::gtxilib::oopclasses::protos::UIElement, title_),
-  PROTOBUF_FIELD_OFFSET(::gtxilib::oopclasses::protos::UIElement, text_),
-  PROTOBUF_FIELD_OFFSET(::gtxilib::oopclasses::protos::UIElement, on_),
-  PROTOBUF_FIELD_OFFSET(::gtxilib::oopclasses::protos::UIElement, value_),
-  10,
-  11,
-  ~0u,
-  13,
-  12,
-  0,
-  1,
-  5,
-  2,
-  14,
-  15,
-  16,
-  19,
-  17,
-  ~0u,
-  6,
-  20,
-  18,
-  21,
-  7,
-  22,
-  24,
-  25,
-  26,
-  8,
-  9,
-  23,
-  27,
-  28,
-  29,
-  3,
-  4,
-  30,
-  31,
-  PROTOBUF_FIELD_OFFSET(::gtxilib::oopclasses::protos::DeviceState, _has_bits_),
-  PROTOBUF_FIELD_OFFSET(::gtxilib::oopclasses::protos::DeviceState, _internal_metadata_),
-  ~0u,  // no _extensions_
-  ~0u,  // no _oneof_case_
-  ~0u,  // no _weak_field_map_
-  PROTOBUF_FIELD_OFFSET(::gtxilib::oopclasses::protos::DeviceState, display_metrics_),
-  PROTOBUF_FIELD_OFFSET(::gtxilib::oopclasses::protos::DeviceState, ios_version_),
-  1,
-  0,
-  PROTOBUF_FIELD_OFFSET(::gtxilib::oopclasses::protos::DisplayMetrics, _has_bits_),
-  PROTOBUF_FIELD_OFFSET(::gtxilib::oopclasses::protos::DisplayMetrics, _internal_metadata_),
-  ~0u,  // no _extensions_
-  ~0u,  // no _oneof_case_
-  ~0u,  // no _weak_field_map_
-  PROTOBUF_FIELD_OFFSET(::gtxilib::oopclasses::protos::DisplayMetrics, screen_width_),
-  PROTOBUF_FIELD_OFFSET(::gtxilib::oopclasses::protos::DisplayMetrics, screen_height_),
-  PROTOBUF_FIELD_OFFSET(::gtxilib::oopclasses::protos::DisplayMetrics, screen_scale_),
-  0,
-  1,
-  2,
-  PROTOBUF_FIELD_OFFSET(::gtxilib::oopclasses::protos::AccessibilityHierarchy, _has_bits_),
-  PROTOBUF_FIELD_OFFSET(::gtxilib::oopclasses::protos::AccessibilityHierarchy, _internal_metadata_),
-  ~0u,  // no _extensions_
-  ~0u,  // no _oneof_case_
-  ~0u,  // no _weak_field_map_
-  PROTOBUF_FIELD_OFFSET(::gtxilib::oopclasses::protos::AccessibilityHierarchy, device_state_),
-  PROTOBUF_FIELD_OFFSET(::gtxilib::oopclasses::protos::AccessibilityHierarchy, elements_),
-  0,
-  ~0u,
-};
-static const ::PROTOBUF_NAMESPACE_ID::internal::MigrationSchema schemas[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) = {
-  { 0, 7, sizeof(::gtxilib::oopclasses::protos::Point)},
-  { 9, 16, sizeof(::gtxilib::oopclasses::protos::Size)},
-  { 18, 25, sizeof(::gtxilib::oopclasses::protos::Rect)},
-  { 27, 36, sizeof(::gtxilib::oopclasses::protos::Color)},
-  { 40, 79, sizeof(::gtxilib::oopclasses::protos::UIElement)},
-  { 113, 120, sizeof(::gtxilib::oopclasses::protos::DeviceState)},
-  { 122, 130, sizeof(::gtxilib::oopclasses::protos::DisplayMetrics)},
-  { 133, 140, sizeof(::gtxilib::oopclasses::protos::AccessibilityHierarchy)},
-};
-
-static ::PROTOBUF_NAMESPACE_ID::Message const * const file_default_instances[] = {
-  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::gtxilib::oopclasses::protos::_Point_default_instance_),
-  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::gtxilib::oopclasses::protos::_Size_default_instance_),
-  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::gtxilib::oopclasses::protos::_Rect_default_instance_),
-  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::gtxilib::oopclasses::protos::_Color_default_instance_),
-  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::gtxilib::oopclasses::protos::_UIElement_default_instance_),
-  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::gtxilib::oopclasses::protos::_DeviceState_default_instance_),
-  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::gtxilib::oopclasses::protos::_DisplayMetrics_default_instance_),
-  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::gtxilib::oopclasses::protos::_AccessibilityHierarchy_default_instance_),
-};
-
-const char descriptor_table_protodef_gtx_2eproto[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) =
-  "\n\tgtx.proto\022\031gtxilib.oopclasses.protos\032\013"
-  "enums.proto\"3\n\005Point\022\016\n\001x\030\001 \001(\002H\000\210\001\001\022\016\n\001"
-  "y\030\002 \001(\002H\001\210\001\001B\004\n\002_xB\004\n\002_y\"D\n\004Size\022\022\n\005widt"
-  "h\030\001 \001(\002H\000\210\001\001\022\023\n\006height\030\002 \001(\002H\001\210\001\001B\010\n\006_wi"
-  "dthB\t\n\007_height\"\205\001\n\004Rect\0225\n\006origin\030\001 \001(\0132"
-  " .gtxilib.oopclasses.protos.PointH\000\210\001\001\0222"
-  "\n\004size\030\002 \001(\0132\037.gtxilib.oopclasses.protos"
-  ".SizeH\001\210\001\001B\t\n\007_originB\007\n\005_size\"_\n\005Color\022"
-  "\016\n\001r\030\001 \001(\002H\000\210\001\001\022\016\n\001g\030\002 \001(\002H\001\210\001\001\022\016\n\001b\030\003 \001"
-  "(\002H\002\210\001\001\022\016\n\001a\030\004 \001(\002H\003\210\001\001B\004\n\002_rB\004\n\002_gB\004\n\002_"
-  "bB\004\n\002_a\"\366\013\n\tUIElement\022\017\n\002id\030\001 \001(\005H\000\210\001\001\022\026"
-  "\n\tparent_id\030\002 \001(\005H\001\210\001\001\022\021\n\tchild_ids\030\003 \003("
-  "\005\022\032\n\ris_ax_element\030\004 \001(\010H\002\210\001\001\022\026\n\tax_trai"
-  "ts\030\005 \001(\004H\003\210\001\001\022\025\n\010ax_label\030\006 \001(\tH\004\210\001\001\022\024\n\007"
-  "ax_hint\030\007 \001(\tH\005\210\001\001\0226\n\010ax_frame\030\010 \001(\0132\037.g"
-  "txilib.oopclasses.protos.RectH\006\210\001\001\022\032\n\rax"
-  "_identifier\030\t \001(\tH\007\210\001\001\022\025\n\010hittable\030\n \001(\010"
-  "H\010\210\001\001\022\023\n\006exists\030\013 \001(\010H\t\210\001\001\022\030\n\013xc_selecte"
-  "d\030\014 \001(\010H\n\210\001\001\022\027\n\nxc_enabled\030\r \001(\010H\013\210\001\001\022Q\n"
-  "\014element_type\030\016 \001(\01626.gtxilib.oopclasses"
-  ".protos.ElementType.ElementTypeEnumH\014\210\001\001"
-  "\022\035\n\025class_names_hierarchy\030\017 \003(\t\022\?\n\020backg"
-  "round_color\030\020 \001(\0132 .gtxilib.oopclasses.p"
-  "rotos.ColorH\r\210\001\001\022\023\n\006hidden\030\021 \001(\010H\016\210\001\001\022\022\n"
-  "\005alpha\030\022 \001(\002H\017\210\001\001\022\023\n\006opaque\030\024 \001(\010H\020\210\001\001\0229"
-  "\n\ntint_color\030\025 \001(\0132 .gtxilib.oopclasses."
-  "protos.ColorH\021\210\001\001\022\034\n\017clips_to_bounds\030\026 \001"
-  "(\010H\022\210\001\001\022%\n\030user_interaction_enabled\030\027 \001("
-  "\010H\023\210\001\001\022#\n\026multiple_touch_enabled\030\030 \001(\010H\024"
-  "\210\001\001\022\034\n\017exclusive_touch\030\031 \001(\010H\025\210\001\001\0223\n\005fra"
-  "me\030\032 \001(\0132\037.gtxilib.oopclasses.protos.Rec"
-  "tH\026\210\001\001\0224\n\006bounds\030\033 \001(\0132\037.gtxilib.oopclas"
-  "ses.protos.RectH\027\210\001\001\022\032\n\rcontrol_state\030\034 "
-  "\001(\004H\030\210\001\001\022\024\n\007enabled\030\035 \001(\010H\031\210\001\001\022\025\n\010select"
-  "ed\030\036 \001(\010H\032\210\001\001\022\030\n\013highlighted\030\037 \001(\010H\033\210\001\001\022"
-  "\022\n\005title\030  \001(\tH\034\210\001\001\022\021\n\004text\030! \001(\tH\035\210\001\001\022\017"
-  "\n\002on\030\" \001(\010H\036\210\001\001\022\022\n\005value\030# \001(\002H\037\210\001\001B\005\n\003_"
-  "idB\014\n\n_parent_idB\020\n\016_is_ax_elementB\014\n\n_a"
-  "x_traitsB\013\n\t_ax_labelB\n\n\010_ax_hintB\013\n\t_ax"
-  "_frameB\020\n\016_ax_identifierB\013\n\t_hittableB\t\n"
-  "\007_existsB\016\n\014_xc_selectedB\r\n\013_xc_enabledB"
-  "\017\n\r_element_typeB\023\n\021_background_colorB\t\n"
-  "\007_hiddenB\010\n\006_alphaB\t\n\007_opaqueB\r\n\013_tint_c"
-  "olorB\022\n\020_clips_to_boundsB\033\n\031_user_intera"
-  "ction_enabledB\031\n\027_multiple_touch_enabled"
-  "B\022\n\020_exclusive_touchB\010\n\006_frameB\t\n\007_bound"
-  "sB\020\n\016_control_stateB\n\n\010_enabledB\013\n\t_sele"
-  "ctedB\016\n\014_highlightedB\010\n\006_titleB\007\n\005_textB"
-  "\005\n\003_onB\010\n\006_value\"\224\001\n\013DeviceState\022G\n\017disp"
-  "lay_metrics\030\001 \001(\0132).gtxilib.oopclasses.p"
-  "rotos.DisplayMetricsH\000\210\001\001\022\030\n\013ios_version"
-  "\030\002 \001(\tH\001\210\001\001B\022\n\020_display_metricsB\016\n\014_ios_"
-  "version\"\226\001\n\016DisplayMetrics\022\031\n\014screen_wid"
-  "th\030\001 \001(\005H\000\210\001\001\022\032\n\rscreen_height\030\002 \001(\005H\001\210\001"
-  "\001\022\031\n\014screen_scale\030\003 \001(\002H\002\210\001\001B\017\n\r_screen_"
-  "widthB\020\n\016_screen_heightB\017\n\r_screen_scale"
-  "\"\244\001\n\026AccessibilityHierarchy\022A\n\014device_st"
-  "ate\030\001 \001(\0132&.gtxilib.oopclasses.protos.De"
-  "viceStateH\000\210\001\001\0226\n\010elements\030\002 \003(\0132$.gtxil"
-  "ib.oopclasses.protos.UIElementB\017\n\r_devic"
-  "e_stateB\010P\001\242\002\003GTXb\006proto3"
-  ;
-static const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable*const descriptor_table_gtx_2eproto_deps[1] = {
-  &::descriptor_table_enums_2eproto,
-};
-static ::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase*const descriptor_table_gtx_2eproto_sccs[8] = {
-  &scc_info_AccessibilityHierarchy_gtx_2eproto.base,
-  &scc_info_Color_gtx_2eproto.base,
-  &scc_info_DeviceState_gtx_2eproto.base,
-  &scc_info_DisplayMetrics_gtx_2eproto.base,
-  &scc_info_Point_gtx_2eproto.base,
-  &scc_info_Rect_gtx_2eproto.base,
-  &scc_info_Size_gtx_2eproto.base,
-  &scc_info_UIElement_gtx_2eproto.base,
-};
-static ::PROTOBUF_NAMESPACE_ID::internal::once_flag descriptor_table_gtx_2eproto_once;
-const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable descriptor_table_gtx_2eproto = {
-  false, false, descriptor_table_protodef_gtx_2eproto, "gtx.proto", 2425,
-  &descriptor_table_gtx_2eproto_once, descriptor_table_gtx_2eproto_sccs, descriptor_table_gtx_2eproto_deps, 8, 1,
-  schemas, file_default_instances, TableStruct_gtx_2eproto::offsets,
-  file_level_metadata_gtx_2eproto, 8, file_level_enum_descriptors_gtx_2eproto, file_level_service_descriptors_gtx_2eproto,
-};
-
-// Force running AddDescriptors() at dynamic initialization time.
-static bool dynamic_init_dummy_gtx_2eproto = (static_cast<void>(::PROTOBUF_NAMESPACE_ID::internal::AddDescriptors(&descriptor_table_gtx_2eproto)), true);
 namespace gtxilib {
 namespace oopclasses {
 namespace protos {
 
-// ===================================================================
 
-void Point::InitAsDefaultInstance() {
+float Point::x() const {
+  return x_;
 }
-class Point::_Internal {
- public:
-  using HasBits = decltype(std::declval<Point>()._has_bits_);
-  static void set_has_x(HasBits* has_bits) {
-    (*has_bits)[0] |= 1u;
-  }
-  static void set_has_y(HasBits* has_bits) {
-    (*has_bits)[0] |= 2u;
-  }
-};
-
-Point::Point(::PROTOBUF_NAMESPACE_ID::Arena* arena)
-  : ::PROTOBUF_NAMESPACE_ID::Message(arena) {
-  SharedCtor();
-  RegisterArenaDtor(arena);
-  // @@protoc_insertion_point(arena_constructor:gtxilib.oopclasses.protos.Point)
+bool Point::has_x() const {
+  return has_x_;
 }
-Point::Point(const Point& from)
-  : ::PROTOBUF_NAMESPACE_ID::Message(),
-      _has_bits_(from._has_bits_) {
-  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
-  ::memcpy(&x_, &from.x_,
-    static_cast<size_t>(reinterpret_cast<char*>(&y_) -
-    reinterpret_cast<char*>(&x_)) + sizeof(y_));
-  // @@protoc_insertion_point(copy_constructor:gtxilib.oopclasses.protos.Point)
+void Point::clear_x() {
+  x_ = float();
+  has_x_ = false;
 }
-
-void Point::SharedCtor() {
-  ::memset(&x_, 0, static_cast<size_t>(
-      reinterpret_cast<char*>(&y_) -
-      reinterpret_cast<char*>(&x_)) + sizeof(y_));
+void Point::set_x(float new_x) {
+  x_ = new_x;
+  has_x_ = true;
 }
-
-Point::~Point() {
-  // @@protoc_insertion_point(destructor:gtxilib.oopclasses.protos.Point)
-  SharedDtor();
-  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
+float* Point::mutable_x() {
+  has_x_ = true;
+  return &x_;
 }
 
-void Point::SharedDtor() {
-  GOOGLE_DCHECK(GetArena() == nullptr);
+float Point::y() const {
+  return y_;
 }
-
-void Point::ArenaDtor(void* object) {
-  Point* _this = reinterpret_cast< Point* >(object);
-  (void)_this;
+bool Point::has_y() const {
+  return has_y_;
 }
-void Point::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
+void Point::clear_y() {
+  y_ = float();
+  has_y_ = false;
 }
-void Point::SetCachedSize(int size) const {
-  _cached_size_.Set(size);
+void Point::set_y(float new_y) {
+  y_ = new_y;
+  has_y_ = true;
 }
-const Point& Point::default_instance() {
-  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_Point_gtx_2eproto.base);
-  return *internal_default_instance();
+float* Point::mutable_y() {
+  has_y_ = true;
+  return &y_;
 }
 
 
-void Point::Clear() {
-// @@protoc_insertion_point(message_clear_start:gtxilib.oopclasses.protos.Point)
-  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
-  // Prevent compiler warnings about cached_has_bits being unused
-  (void) cached_has_bits;
+float Size::width() const {
+  return width_;
+}
+bool Size::has_width() const {
+  return has_width_;
+}
+void Size::clear_width() {
+  width_ = float();
+  has_width_ = false;
+}
+void Size::set_width(float new_width) {
+  width_ = new_width;
+  has_width_ = true;
+}
+float* Size::mutable_width() {
+  has_width_ = true;
+  return &width_;
+}
 
-  cached_has_bits = _has_bits_[0];
-  if (cached_has_bits & 0x00000003u) {
-    ::memset(&x_, 0, static_cast<size_t>(
-        reinterpret_cast<char*>(&y_) -
-        reinterpret_cast<char*>(&x_)) + sizeof(y_));
-  }
-  _has_bits_.Clear();
-  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
+float Size::height() const {
+  return height_;
+}
+bool Size::has_height() const {
+  return has_height_;
+}
+void Size::clear_height() {
+  height_ = float();
+  has_height_ = false;
+}
+void Size::set_height(float new_height) {
+  height_ = new_height;
+  has_height_ = true;
 }
-
-const char* Point::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
-#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
-  _Internal::HasBits has_bits{};
-  ::PROTOBUF_NAMESPACE_ID::Arena* arena = GetArena(); (void)arena;
-  while (!ctx->Done(&ptr)) {
-    ::PROTOBUF_NAMESPACE_ID::uint32 tag;
-    ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
-    CHK_(ptr);
-    switch (tag >> 3) {
-      // float x = 1;
-      case 1:
-        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 13)) {
-          _Internal::set_has_x(&has_bits);
-          x_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<float>(ptr);
-          ptr += sizeof(float);
-        } else goto handle_unusual;
-        continue;
-      // float y = 2;
-      case 2:
-        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 21)) {
-          _Internal::set_has_y(&has_bits);
-          y_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<float>(ptr);
-          ptr += sizeof(float);
-        } else goto handle_unusual;
-        continue;
-      default: {
-      handle_unusual:
-        if ((tag & 7) == 4 || tag == 0) {
-          ctx->SetLastTag(tag);
-          goto success;
-        }
-        ptr = UnknownFieldParse(tag,
-            _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
-            ptr, ctx);
-        CHK_(ptr != nullptr);
-        continue;
-      }
-    }  // switch
-  }  // while
-success:
-  _has_bits_.Or(has_bits);
-  return ptr;
-failure:
-  ptr = nullptr;
-  goto success;
-#undef CHK_
+float* Size::mutable_height() {
+  has_height_ = true;
+  return &height_;
 }
 
-::PROTOBUF_NAMESPACE_ID::uint8* Point::_InternalSerialize(
-    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
-  // @@protoc_insertion_point(serialize_to_array_start:gtxilib.oopclasses.protos.Point)
-  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
-  (void) cached_has_bits;
 
-  // float x = 1;
-  if (_internal_has_x()) {
-    target = stream->EnsureSpace(target);
-    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteFloatToArray(1, this->_internal_x(), target);
-  }
+const Point& Rect::origin() const {
+  return origin_;
+}
+bool Rect::has_origin() const {
+  return has_origin_;
+}
+void Rect::clear_origin() {
+  origin_ = Point();
+  has_origin_ = false;
+}
+void Rect::set_origin(const Point& new_origin) {
+  origin_ = new_origin;
+  has_origin_ = true;
+}
+Point* Rect::mutable_origin() {
+  has_origin_ = true;
+  return &origin_;
+}
 
-  // float y = 2;
-  if (_internal_has_y()) {
-    target = stream->EnsureSpace(target);
-    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteFloatToArray(2, this->_internal_y(), target);
-  }
-
-  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
-    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
-        _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
-  }
-  // @@protoc_insertion_point(serialize_to_array_end:gtxilib.oopclasses.protos.Point)
-  return target;
+const Size& Rect::size() const {
+  return size_;
+}
+bool Rect::has_size() const {
+  return has_size_;
+}
+void Rect::clear_size() {
+  size_ = Size();
+  has_size_ = false;
+}
+void Rect::set_size(const Size& new_size) {
+  size_ = new_size;
+  has_size_ = true;
+}
+Size* Rect::mutable_size() {
+  has_size_ = true;
+  return &size_;
 }
 
-size_t Point::ByteSizeLong() const {
-// @@protoc_insertion_point(message_byte_size_start:gtxilib.oopclasses.protos.Point)
-  size_t total_size = 0;
 
-  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
-  // Prevent compiler warnings about cached_has_bits being unused
-  (void) cached_has_bits;
+float Color::r() const {
+  return r_;
+}
+bool Color::has_r() const {
+  return has_r_;
+}
+void Color::clear_r() {
+  r_ = float();
+  has_r_ = false;
+}
+void Color::set_r(float new_r) {
+  r_ = new_r;
+  has_r_ = true;
+}
+float* Color::mutable_r() {
+  has_r_ = true;
+  return &r_;
+}
 
-  cached_has_bits = _has_bits_[0];
-  if (cached_has_bits & 0x00000003u) {
-    // float x = 1;
-    if (cached_has_bits & 0x00000001u) {
-      total_size += 1 + 4;
-    }
+float Color::g() const {
+  return g_;
+}
+bool Color::has_g() const {
+  return has_g_;
+}
+void Color::clear_g() {
+  g_ = float();
+  has_g_ = false;
+}
+void Color::set_g(float new_g) {
+  g_ = new_g;
+  has_g_ = true;
+}
+float* Color::mutable_g() {
+  has_g_ = true;
+  return &g_;
+}
 
-    // float y = 2;
-    if (cached_has_bits & 0x00000002u) {
-      total_size += 1 + 4;
-    }
-
-  }
-  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
-    return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize(
-        _internal_metadata_, total_size, &_cached_size_);
-  }
-  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
-  SetCachedSize(cached_size);
-  return total_size;
+float Color::b() const {
+  return b_;
+}
+bool Color::has_b() const {
+  return has_b_;
+}
+void Color::clear_b() {
+  b_ = float();
+  has_b_ = false;
 }
-
-void Point::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
-// @@protoc_insertion_point(generalized_merge_from_start:gtxilib.oopclasses.protos.Point)
-  GOOGLE_DCHECK_NE(&from, this);
-  const Point* source =
-      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<Point>(
-          &from);
-  if (source == nullptr) {
-  // @@protoc_insertion_point(generalized_merge_from_cast_fail:gtxilib.oopclasses.protos.Point)
-    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
-  } else {
-  // @@protoc_insertion_point(generalized_merge_from_cast_success:gtxilib.oopclasses.protos.Point)
-    MergeFrom(*source);
-  }
+void Color::set_b(float new_b) {
+  b_ = new_b;
+  has_b_ = true;
 }
-
-void Point::MergeFrom(const Point& from) {
-// @@protoc_insertion_point(class_specific_merge_from_start:gtxilib.oopclasses.protos.Point)
-  GOOGLE_DCHECK_NE(&from, this);
-  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
-  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
-  (void) cached_has_bits;
-
-  cached_has_bits = from._has_bits_[0];
-  if (cached_has_bits & 0x00000003u) {
-    if (cached_has_bits & 0x00000001u) {
-      x_ = from.x_;
-    }
-    if (cached_has_bits & 0x00000002u) {
-      y_ = from.y_;
-    }
-    _has_bits_[0] |= cached_has_bits;
-  }
+float* Color::mutable_b() {
+  has_b_ = true;
+  return &b_;
 }
 
-void Point::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
-// @@protoc_insertion_point(generalized_copy_from_start:gtxilib.oopclasses.protos.Point)
-  if (&from == this) return;
-  Clear();
-  MergeFrom(from);
+float Color::a() const {
+  return a_;
 }
-
-void Point::CopyFrom(const Point& from) {
-// @@protoc_insertion_point(class_specific_copy_from_start:gtxilib.oopclasses.protos.Point)
-  if (&from == this) return;
-  Clear();
-  MergeFrom(from);
+bool Color::has_a() const {
+  return has_a_;
 }
-
-bool Point::IsInitialized() const {
-  return true;
+void Color::clear_a() {
+  a_ = float();
+  has_a_ = false;
 }
-
-void Point::InternalSwap(Point* other) {
-  using std::swap;
-  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
-  swap(_has_bits_[0], other->_has_bits_[0]);
-  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
-      PROTOBUF_FIELD_OFFSET(Point, y_)
-      + sizeof(Point::y_)
-      - PROTOBUF_FIELD_OFFSET(Point, x_)>(
-          reinterpret_cast<char*>(&x_),
-          reinterpret_cast<char*>(&other->x_));
+void Color::set_a(float new_a) {
+  a_ = new_a;
+  has_a_ = true;
 }
-
-::PROTOBUF_NAMESPACE_ID::Metadata Point::GetMetadata() const {
-  return GetMetadataStatic();
+float* Color::mutable_a() {
+  has_a_ = true;
+  return &a_;
 }
 
 
-// ===================================================================
-
-void Size::InitAsDefaultInstance() {
+int32_t UIElement::id() const {
+  return id_;
 }
-class Size::_Internal {
- public:
-  using HasBits = decltype(std::declval<Size>()._has_bits_);
-  static void set_has_width(HasBits* has_bits) {
-    (*has_bits)[0] |= 1u;
-  }
-  static void set_has_height(HasBits* has_bits) {
-    (*has_bits)[0] |= 2u;
-  }
-};
-
-Size::Size(::PROTOBUF_NAMESPACE_ID::Arena* arena)
-  : ::PROTOBUF_NAMESPACE_ID::Message(arena) {
-  SharedCtor();
-  RegisterArenaDtor(arena);
-  // @@protoc_insertion_point(arena_constructor:gtxilib.oopclasses.protos.Size)
+bool UIElement::has_id() const {
+  return has_id_;
 }
-Size::Size(const Size& from)
-  : ::PROTOBUF_NAMESPACE_ID::Message(),
-      _has_bits_(from._has_bits_) {
-  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
-  ::memcpy(&width_, &from.width_,
-    static_cast<size_t>(reinterpret_cast<char*>(&height_) -
-    reinterpret_cast<char*>(&width_)) + sizeof(height_));
-  // @@protoc_insertion_point(copy_constructor:gtxilib.oopclasses.protos.Size)
+void UIElement::clear_id() {
+  id_ = int32_t();
+  has_id_ = false;
 }
-
-void Size::SharedCtor() {
-  ::memset(&width_, 0, static_cast<size_t>(
-      reinterpret_cast<char*>(&height_) -
-      reinterpret_cast<char*>(&width_)) + sizeof(height_));
+void UIElement::set_id(int32_t new_id) {
+  id_ = new_id;
+  has_id_ = true;
 }
-
-Size::~Size() {
-  // @@protoc_insertion_point(destructor:gtxilib.oopclasses.protos.Size)
-  SharedDtor();
-  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
+int32_t* UIElement::mutable_id() {
+  has_id_ = true;
+  return &id_;
 }
 
-void Size::SharedDtor() {
-  GOOGLE_DCHECK(GetArena() == nullptr);
+int32_t UIElement::parent_id() const {
+  return parent_id_;
 }
-
-void Size::ArenaDtor(void* object) {
-  Size* _this = reinterpret_cast< Size* >(object);
-  (void)_this;
+bool UIElement::has_parent_id() const {
+  return has_parent_id_;
 }
-void Size::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
+void UIElement::clear_parent_id() {
+  parent_id_ = int32_t();
+  has_parent_id_ = false;
 }
-void Size::SetCachedSize(int size) const {
-  _cached_size_.Set(size);
+void UIElement::set_parent_id(int32_t new_parent_id) {
+  parent_id_ = new_parent_id;
+  has_parent_id_ = true;
 }
-const Size& Size::default_instance() {
-  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_Size_gtx_2eproto.base);
-  return *internal_default_instance();
+int32_t* UIElement::mutable_parent_id() {
+  has_parent_id_ = true;
+  return &parent_id_;
 }
 
-
-void Size::Clear() {
-// @@protoc_insertion_point(message_clear_start:gtxilib.oopclasses.protos.Size)
-  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
-  // Prevent compiler warnings about cached_has_bits being unused
-  (void) cached_has_bits;
-
-  cached_has_bits = _has_bits_[0];
-  if (cached_has_bits & 0x00000003u) {
-    ::memset(&width_, 0, static_cast<size_t>(
-        reinterpret_cast<char*>(&height_) -
-        reinterpret_cast<char*>(&width_)) + sizeof(height_));
-  }
-  _has_bits_.Clear();
-  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
+int32_t UIElement::child_ids(int index) const {
+  return child_ids_[index];
 }
-
-const char* Size::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
-#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
-  _Internal::HasBits has_bits{};
-  ::PROTOBUF_NAMESPACE_ID::Arena* arena = GetArena(); (void)arena;
-  while (!ctx->Done(&ptr)) {
-    ::PROTOBUF_NAMESPACE_ID::uint32 tag;
-    ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
-    CHK_(ptr);
-    switch (tag >> 3) {
-      // float width = 1;
-      case 1:
-        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 13)) {
-          _Internal::set_has_width(&has_bits);
-          width_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<float>(ptr);
-          ptr += sizeof(float);
-        } else goto handle_unusual;
-        continue;
-      // float height = 2;
-      case 2:
-        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 21)) {
-          _Internal::set_has_height(&has_bits);
-          height_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<float>(ptr);
-          ptr += sizeof(float);
-        } else goto handle_unusual;
-        continue;
-      default: {
-      handle_unusual:
-        if ((tag & 7) == 4 || tag == 0) {
-          ctx->SetLastTag(tag);
-          goto success;
-        }
-        ptr = UnknownFieldParse(tag,
-            _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
-            ptr, ctx);
-        CHK_(ptr != nullptr);
-        continue;
-      }
-    }  // switch
-  }  // while
-success:
-  _has_bits_.Or(has_bits);
-  return ptr;
-failure:
-  ptr = nullptr;
-  goto success;
-#undef CHK_
+const std::vector<int32_t>& UIElement::child_ids() const {
+  return child_ids_;
 }
-
-::PROTOBUF_NAMESPACE_ID::uint8* Size::_InternalSerialize(
-    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
-  // @@protoc_insertion_point(serialize_to_array_start:gtxilib.oopclasses.protos.Size)
-  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
-  (void) cached_has_bits;
-
-  // float width = 1;
-  if (_internal_has_width()) {
-    target = stream->EnsureSpace(target);
-    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteFloatToArray(1, this->_internal_width(), target);
-  }
-
-  // float height = 2;
-  if (_internal_has_height()) {
-    target = stream->EnsureSpace(target);
-    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteFloatToArray(2, this->_internal_height(), target);
-  }
-
-  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
-    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
-        _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
-  }
-  // @@protoc_insertion_point(serialize_to_array_end:gtxilib.oopclasses.protos.Size)
-  return target;
+bool UIElement::has_child_ids() const {
+  return has_child_ids_;
 }
-
-size_t Size::ByteSizeLong() const {
-// @@protoc_insertion_point(message_byte_size_start:gtxilib.oopclasses.protos.Size)
-  size_t total_size = 0;
-
-  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
-  // Prevent compiler warnings about cached_has_bits being unused
-  (void) cached_has_bits;
-
-  cached_has_bits = _has_bits_[0];
-  if (cached_has_bits & 0x00000003u) {
-    // float width = 1;
-    if (cached_has_bits & 0x00000001u) {
-      total_size += 1 + 4;
-    }
-
-    // float height = 2;
-    if (cached_has_bits & 0x00000002u) {
-      total_size += 1 + 4;
-    }
-
-  }
-  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
-    return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize(
-        _internal_metadata_, total_size, &_cached_size_);
-  }
-  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
-  SetCachedSize(cached_size);
-  return total_size;
+void UIElement::clear_child_ids() {
+  child_ids_.clear();
+  has_child_ids_ = false;
+}
+void UIElement::set_child_ids(int index, int32_t new_child_ids) {
+  child_ids_[index] = new_child_ids;
+  has_child_ids_ = true;
+}
+int32_t* UIElement::mutable_child_ids(int index) {
+  has_child_ids_ = true;
+  return &child_ids_[index];
 }
-
-void Size::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
-// @@protoc_insertion_point(generalized_merge_from_start:gtxilib.oopclasses.protos.Size)
-  GOOGLE_DCHECK_NE(&from, this);
-  const Size* source =
-      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<Size>(
-          &from);
-  if (source == nullptr) {
-  // @@protoc_insertion_point(generalized_merge_from_cast_fail:gtxilib.oopclasses.protos.Size)
-    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
-  } else {
-  // @@protoc_insertion_point(generalized_merge_from_cast_success:gtxilib.oopclasses.protos.Size)
-    MergeFrom(*source);
-  }
+void UIElement::add_child_ids(int32_t new_child_ids) {
+  child_ids_.push_back(new_child_ids);
+  has_child_ids_ = true;
 }
-
-void Size::MergeFrom(const Size& from) {
-// @@protoc_insertion_point(class_specific_merge_from_start:gtxilib.oopclasses.protos.Size)
-  GOOGLE_DCHECK_NE(&from, this);
-  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
-  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
-  (void) cached_has_bits;
-
-  cached_has_bits = from._has_bits_[0];
-  if (cached_has_bits & 0x00000003u) {
-    if (cached_has_bits & 0x00000001u) {
-      width_ = from.width_;
-    }
-    if (cached_has_bits & 0x00000002u) {
-      height_ = from.height_;
-    }
-    _has_bits_[0] |= cached_has_bits;
-  }
+int UIElement::child_ids_size() const {
+  return child_ids_.size();
 }
 
-void Size::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
-// @@protoc_insertion_point(generalized_copy_from_start:gtxilib.oopclasses.protos.Size)
-  if (&from == this) return;
-  Clear();
-  MergeFrom(from);
+bool UIElement::is_ax_element() const {
+  return is_ax_element_;
 }
-
-void Size::CopyFrom(const Size& from) {
-// @@protoc_insertion_point(class_specific_copy_from_start:gtxilib.oopclasses.protos.Size)
-  if (&from == this) return;
-  Clear();
-  MergeFrom(from);
+bool UIElement::has_is_ax_element() const {
+  return has_is_ax_element_;
 }
-
-bool Size::IsInitialized() const {
-  return true;
+void UIElement::clear_is_ax_element() {
+  is_ax_element_ = bool();
+  has_is_ax_element_ = false;
 }
-
-void Size::InternalSwap(Size* other) {
-  using std::swap;
-  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
-  swap(_has_bits_[0], other->_has_bits_[0]);
-  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
-      PROTOBUF_FIELD_OFFSET(Size, height_)
-      + sizeof(Size::height_)
-      - PROTOBUF_FIELD_OFFSET(Size, width_)>(
-          reinterpret_cast<char*>(&width_),
-          reinterpret_cast<char*>(&other->width_));
+void UIElement::set_is_ax_element(bool new_is_ax_element) {
+  is_ax_element_ = new_is_ax_element;
+  has_is_ax_element_ = true;
 }
-
-::PROTOBUF_NAMESPACE_ID::Metadata Size::GetMetadata() const {
-  return GetMetadataStatic();
+bool* UIElement::mutable_is_ax_element() {
+  has_is_ax_element_ = true;
+  return &is_ax_element_;
 }
 
-
-// ===================================================================
-
-void Rect::InitAsDefaultInstance() {
-  ::gtxilib::oopclasses::protos::_Rect_default_instance_._instance.get_mutable()->origin_ = const_cast< ::gtxilib::oopclasses::protos::Point*>(
-      ::gtxilib::oopclasses::protos::Point::internal_default_instance());
-  ::gtxilib::oopclasses::protos::_Rect_default_instance_._instance.get_mutable()->size_ = const_cast< ::gtxilib::oopclasses::protos::Size*>(
-      ::gtxilib::oopclasses::protos::Size::internal_default_instance());
+uint64_t UIElement::ax_traits() const {
+  return ax_traits_;
 }
-class Rect::_Internal {
- public:
-  using HasBits = decltype(std::declval<Rect>()._has_bits_);
-  static const ::gtxilib::oopclasses::protos::Point& origin(const Rect* msg);
-  static void set_has_origin(HasBits* has_bits) {
-    (*has_bits)[0] |= 1u;
-  }
-  static const ::gtxilib::oopclasses::protos::Size& size(const Rect* msg);
-  static void set_has_size(HasBits* has_bits) {
-    (*has_bits)[0] |= 2u;
-  }
-};
-
-const ::gtxilib::oopclasses::protos::Point&
-Rect::_Internal::origin(const Rect* msg) {
-  return *msg->origin_;
+bool UIElement::has_ax_traits() const {
+  return has_ax_traits_;
 }
-const ::gtxilib::oopclasses::protos::Size&
-Rect::_Internal::size(const Rect* msg) {
-  return *msg->size_;
+void UIElement::clear_ax_traits() {
+  ax_traits_ = uint64_t();
+  has_ax_traits_ = false;
 }
-Rect::Rect(::PROTOBUF_NAMESPACE_ID::Arena* arena)
-  : ::PROTOBUF_NAMESPACE_ID::Message(arena) {
-  SharedCtor();
-  RegisterArenaDtor(arena);
-  // @@protoc_insertion_point(arena_constructor:gtxilib.oopclasses.protos.Rect)
+void UIElement::set_ax_traits(uint64_t new_ax_traits) {
+  ax_traits_ = new_ax_traits;
+  has_ax_traits_ = true;
 }
-Rect::Rect(const Rect& from)
-  : ::PROTOBUF_NAMESPACE_ID::Message(),
-      _has_bits_(from._has_bits_) {
-  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
-  if (from._internal_has_origin()) {
-    origin_ = new ::gtxilib::oopclasses::protos::Point(*from.origin_);
-  } else {
-    origin_ = nullptr;
-  }
-  if (from._internal_has_size()) {
-    size_ = new ::gtxilib::oopclasses::protos::Size(*from.size_);
-  } else {
-    size_ = nullptr;
-  }
-  // @@protoc_insertion_point(copy_constructor:gtxilib.oopclasses.protos.Rect)
+uint64_t* UIElement::mutable_ax_traits() {
+  has_ax_traits_ = true;
+  return &ax_traits_;
 }
 
-void Rect::SharedCtor() {
-  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_Rect_gtx_2eproto.base);
-  ::memset(&origin_, 0, static_cast<size_t>(
-      reinterpret_cast<char*>(&size_) -
-      reinterpret_cast<char*>(&origin_)) + sizeof(size_));
+std::string UIElement::ax_label() const {
+  return ax_label_;
+}
+bool UIElement::has_ax_label() const {
+  return has_ax_label_;
+}
+void UIElement::clear_ax_label() {
+  ax_label_ = std::string();
+  has_ax_label_ = false;
+}
+void UIElement::set_ax_label(std::string new_ax_label) {
+  ax_label_ = new_ax_label;
+  has_ax_label_ = true;
 }
-
-Rect::~Rect() {
-  // @@protoc_insertion_point(destructor:gtxilib.oopclasses.protos.Rect)
-  SharedDtor();
-  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
+std::string* UIElement::mutable_ax_label() {
+  has_ax_label_ = true;
+  return &ax_label_;
 }
 
-void Rect::SharedDtor() {
-  GOOGLE_DCHECK(GetArena() == nullptr);
-  if (this != internal_default_instance()) delete origin_;
-  if (this != internal_default_instance()) delete size_;
+std::string UIElement::ax_hint() const {
+  return ax_hint_;
 }
-
-void Rect::ArenaDtor(void* object) {
-  Rect* _this = reinterpret_cast< Rect* >(object);
-  (void)_this;
+bool UIElement::has_ax_hint() const {
+  return has_ax_hint_;
 }
-void Rect::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
+void UIElement::clear_ax_hint() {
+  ax_hint_ = std::string();
+  has_ax_hint_ = false;
 }
-void Rect::SetCachedSize(int size) const {
-  _cached_size_.Set(size);
+void UIElement::set_ax_hint(std::string new_ax_hint) {
+  ax_hint_ = new_ax_hint;
+  has_ax_hint_ = true;
 }
-const Rect& Rect::default_instance() {
-  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_Rect_gtx_2eproto.base);
-  return *internal_default_instance();
+std::string* UIElement::mutable_ax_hint() {
+  has_ax_hint_ = true;
+  return &ax_hint_;
 }
 
-
-void Rect::Clear() {
-// @@protoc_insertion_point(message_clear_start:gtxilib.oopclasses.protos.Rect)
-  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
-  // Prevent compiler warnings about cached_has_bits being unused
-  (void) cached_has_bits;
-
-  cached_has_bits = _has_bits_[0];
-  if (cached_has_bits & 0x00000003u) {
-    if (cached_has_bits & 0x00000001u) {
-      if (GetArena() == nullptr && origin_ != nullptr) {
-        delete origin_;
-      }
-      origin_ = nullptr;
-    }
-    if (cached_has_bits & 0x00000002u) {
-      if (GetArena() == nullptr && size_ != nullptr) {
-        delete size_;
-      }
-      size_ = nullptr;
-    }
-  }
-  _has_bits_.Clear();
-  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
+const Rect& UIElement::ax_frame() const {
+  return ax_frame_;
+}
+bool UIElement::has_ax_frame() const {
+  return has_ax_frame_;
+}
+void UIElement::clear_ax_frame() {
+  ax_frame_ = Rect();
+  has_ax_frame_ = false;
+}
+void UIElement::set_ax_frame(const Rect& new_ax_frame) {
+  ax_frame_ = new_ax_frame;
+  has_ax_frame_ = true;
 }
-
-const char* Rect::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
-#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
-  _Internal::HasBits has_bits{};
-  ::PROTOBUF_NAMESPACE_ID::Arena* arena = GetArena(); (void)arena;
-  while (!ctx->Done(&ptr)) {
-    ::PROTOBUF_NAMESPACE_ID::uint32 tag;
-    ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
-    CHK_(ptr);
-    switch (tag >> 3) {
-      // .gtxilib.oopclasses.protos.Point origin = 1;
-      case 1:
-        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
-          ptr = ctx->ParseMessage(_internal_mutable_origin(), ptr);
-          CHK_(ptr);
-        } else goto handle_unusual;
-        continue;
-      // .gtxilib.oopclasses.protos.Size size = 2;
-      case 2:
-        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) {
-          ptr = ctx->ParseMessage(_internal_mutable_size(), ptr);
-          CHK_(ptr);
-        } else goto handle_unusual;
-        continue;
-      default: {
-      handle_unusual:
-        if ((tag & 7) == 4 || tag == 0) {
-          ctx->SetLastTag(tag);
-          goto success;
-        }
-        ptr = UnknownFieldParse(tag,
-            _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
-            ptr, ctx);
-        CHK_(ptr != nullptr);
-        continue;
-      }
-    }  // switch
-  }  // while
-success:
-  _has_bits_.Or(has_bits);
-  return ptr;
-failure:
-  ptr = nullptr;
-  goto success;
-#undef CHK_
+Rect* UIElement::mutable_ax_frame() {
+  has_ax_frame_ = true;
+  return &ax_frame_;
 }
 
-::PROTOBUF_NAMESPACE_ID::uint8* Rect::_InternalSerialize(
-    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
-  // @@protoc_insertion_point(serialize_to_array_start:gtxilib.oopclasses.protos.Rect)
-  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
-  (void) cached_has_bits;
-
-  // .gtxilib.oopclasses.protos.Point origin = 1;
-  if (_internal_has_origin()) {
-    target = stream->EnsureSpace(target);
-    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
-      InternalWriteMessage(
-        1, _Internal::origin(this), target, stream);
-  }
-
-  // .gtxilib.oopclasses.protos.Size size = 2;
-  if (_internal_has_size()) {
-    target = stream->EnsureSpace(target);
-    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
-      InternalWriteMessage(
-        2, _Internal::size(this), target, stream);
-  }
-
-  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
-    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
-        _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
-  }
-  // @@protoc_insertion_point(serialize_to_array_end:gtxilib.oopclasses.protos.Rect)
-  return target;
+std::string UIElement::ax_identifier() const {
+  return ax_identifier_;
 }
-
-size_t Rect::ByteSizeLong() const {
-// @@protoc_insertion_point(message_byte_size_start:gtxilib.oopclasses.protos.Rect)
-  size_t total_size = 0;
-
-  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
-  // Prevent compiler warnings about cached_has_bits being unused
-  (void) cached_has_bits;
-
-  cached_has_bits = _has_bits_[0];
-  if (cached_has_bits & 0x00000003u) {
-    // .gtxilib.oopclasses.protos.Point origin = 1;
-    if (cached_has_bits & 0x00000001u) {
-      total_size += 1 +
-        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
-          *origin_);
-    }
-
-    // .gtxilib.oopclasses.protos.Size size = 2;
-    if (cached_has_bits & 0x00000002u) {
-      total_size += 1 +
-        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
-          *size_);
-    }
-
-  }
-  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
-    return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize(
-        _internal_metadata_, total_size, &_cached_size_);
-  }
-  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
-  SetCachedSize(cached_size);
-  return total_size;
+bool UIElement::has_ax_identifier() const {
+  return has_ax_identifier_;
 }
-
-void Rect::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
-// @@protoc_insertion_point(generalized_merge_from_start:gtxilib.oopclasses.protos.Rect)
-  GOOGLE_DCHECK_NE(&from, this);
-  const Rect* source =
-      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<Rect>(
-          &from);
-  if (source == nullptr) {
-  // @@protoc_insertion_point(generalized_merge_from_cast_fail:gtxilib.oopclasses.protos.Rect)
-    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
-  } else {
-  // @@protoc_insertion_point(generalized_merge_from_cast_success:gtxilib.oopclasses.protos.Rect)
-    MergeFrom(*source);
-  }
+void UIElement::clear_ax_identifier() {
+  ax_identifier_ = std::string();
+  has_ax_identifier_ = false;
 }
-
-void Rect::MergeFrom(const Rect& from) {
-// @@protoc_insertion_point(class_specific_merge_from_start:gtxilib.oopclasses.protos.Rect)
-  GOOGLE_DCHECK_NE(&from, this);
-  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
-  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
-  (void) cached_has_bits;
-
-  cached_has_bits = from._has_bits_[0];
-  if (cached_has_bits & 0x00000003u) {
-    if (cached_has_bits & 0x00000001u) {
-      _internal_mutable_origin()->::gtxilib::oopclasses::protos::Point::MergeFrom(from._internal_origin());
-    }
-    if (cached_has_bits & 0x00000002u) {
-      _internal_mutable_size()->::gtxilib::oopclasses::protos::Size::MergeFrom(from._internal_size());
-    }
-  }
+void UIElement::set_ax_identifier(std::string new_ax_identifier) {
+  ax_identifier_ = new_ax_identifier;
+  has_ax_identifier_ = true;
 }
-
-void Rect::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
-// @@protoc_insertion_point(generalized_copy_from_start:gtxilib.oopclasses.protos.Rect)
-  if (&from == this) return;
-  Clear();
-  MergeFrom(from);
+std::string* UIElement::mutable_ax_identifier() {
+  has_ax_identifier_ = true;
+  return &ax_identifier_;
 }
 
-void Rect::CopyFrom(const Rect& from) {
-// @@protoc_insertion_point(class_specific_copy_from_start:gtxilib.oopclasses.protos.Rect)
-  if (&from == this) return;
-  Clear();
-  MergeFrom(from);
+bool UIElement::hittable() const {
+  return hittable_;
 }
-
-bool Rect::IsInitialized() const {
-  return true;
+bool UIElement::has_hittable() const {
+  return has_hittable_;
 }
-
-void Rect::InternalSwap(Rect* other) {
-  using std::swap;
-  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
-  swap(_has_bits_[0], other->_has_bits_[0]);
-  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
-      PROTOBUF_FIELD_OFFSET(Rect, size_)
-      + sizeof(Rect::size_)
-      - PROTOBUF_FIELD_OFFSET(Rect, origin_)>(
-          reinterpret_cast<char*>(&origin_),
-          reinterpret_cast<char*>(&other->origin_));
+void UIElement::clear_hittable() {
+  hittable_ = bool();
+  has_hittable_ = false;
 }
-
-::PROTOBUF_NAMESPACE_ID::Metadata Rect::GetMetadata() const {
-  return GetMetadataStatic();
+void UIElement::set_hittable(bool new_hittable) {
+  hittable_ = new_hittable;
+  has_hittable_ = true;
 }
-
-
-// ===================================================================
-
-void Color::InitAsDefaultInstance() {
+bool* UIElement::mutable_hittable() {
+  has_hittable_ = true;
+  return &hittable_;
 }
-class Color::_Internal {
- public:
-  using HasBits = decltype(std::declval<Color>()._has_bits_);
-  static void set_has_r(HasBits* has_bits) {
-    (*has_bits)[0] |= 1u;
-  }
-  static void set_has_g(HasBits* has_bits) {
-    (*has_bits)[0] |= 2u;
-  }
-  static void set_has_b(HasBits* has_bits) {
-    (*has_bits)[0] |= 4u;
-  }
-  static void set_has_a(HasBits* has_bits) {
-    (*has_bits)[0] |= 8u;
-  }
-};
 
-Color::Color(::PROTOBUF_NAMESPACE_ID::Arena* arena)
-  : ::PROTOBUF_NAMESPACE_ID::Message(arena) {
-  SharedCtor();
-  RegisterArenaDtor(arena);
-  // @@protoc_insertion_point(arena_constructor:gtxilib.oopclasses.protos.Color)
+bool UIElement::exists() const {
+  return exists_;
 }
-Color::Color(const Color& from)
-  : ::PROTOBUF_NAMESPACE_ID::Message(),
-      _has_bits_(from._has_bits_) {
-  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
-  ::memcpy(&r_, &from.r_,
-    static_cast<size_t>(reinterpret_cast<char*>(&a_) -
-    reinterpret_cast<char*>(&r_)) + sizeof(a_));
-  // @@protoc_insertion_point(copy_constructor:gtxilib.oopclasses.protos.Color)
+bool UIElement::has_exists() const {
+  return has_exists_;
 }
-
-void Color::SharedCtor() {
-  ::memset(&r_, 0, static_cast<size_t>(
-      reinterpret_cast<char*>(&a_) -
-      reinterpret_cast<char*>(&r_)) + sizeof(a_));
+void UIElement::clear_exists() {
+  exists_ = bool();
+  has_exists_ = false;
 }
-
-Color::~Color() {
-  // @@protoc_insertion_point(destructor:gtxilib.oopclasses.protos.Color)
-  SharedDtor();
-  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
+void UIElement::set_exists(bool new_exists) {
+  exists_ = new_exists;
+  has_exists_ = true;
 }
-
-void Color::SharedDtor() {
-  GOOGLE_DCHECK(GetArena() == nullptr);
+bool* UIElement::mutable_exists() {
+  has_exists_ = true;
+  return &exists_;
 }
 
-void Color::ArenaDtor(void* object) {
-  Color* _this = reinterpret_cast< Color* >(object);
-  (void)_this;
+bool UIElement::xc_selected() const {
+  return xc_selected_;
 }
-void Color::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
+bool UIElement::has_xc_selected() const {
+  return has_xc_selected_;
 }
-void Color::SetCachedSize(int size) const {
-  _cached_size_.Set(size);
+void UIElement::clear_xc_selected() {
+  xc_selected_ = bool();
+  has_xc_selected_ = false;
 }
-const Color& Color::default_instance() {
-  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_Color_gtx_2eproto.base);
-  return *internal_default_instance();
+void UIElement::set_xc_selected(bool new_xc_selected) {
+  xc_selected_ = new_xc_selected;
+  has_xc_selected_ = true;
 }
-
-
-void Color::Clear() {
-// @@protoc_insertion_point(message_clear_start:gtxilib.oopclasses.protos.Color)
-  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
-  // Prevent compiler warnings about cached_has_bits being unused
-  (void) cached_has_bits;
-
-  cached_has_bits = _has_bits_[0];
-  if (cached_has_bits & 0x0000000fu) {
-    ::memset(&r_, 0, static_cast<size_t>(
-        reinterpret_cast<char*>(&a_) -
-        reinterpret_cast<char*>(&r_)) + sizeof(a_));
-  }
-  _has_bits_.Clear();
-  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
+bool* UIElement::mutable_xc_selected() {
+  has_xc_selected_ = true;
+  return &xc_selected_;
 }
 
-const char* Color::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
-#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
-  _Internal::HasBits has_bits{};
-  ::PROTOBUF_NAMESPACE_ID::Arena* arena = GetArena(); (void)arena;
-  while (!ctx->Done(&ptr)) {
-    ::PROTOBUF_NAMESPACE_ID::uint32 tag;
-    ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
-    CHK_(ptr);
-    switch (tag >> 3) {
-      // float r = 1;
-      case 1:
-        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 13)) {
-          _Internal::set_has_r(&has_bits);
-          r_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<float>(ptr);
-          ptr += sizeof(float);
-        } else goto handle_unusual;
-        continue;
-      // float g = 2;
-      case 2:
-        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 21)) {
-          _Internal::set_has_g(&has_bits);
-          g_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<float>(ptr);
-          ptr += sizeof(float);
-        } else goto handle_unusual;
-        continue;
-      // float b = 3;
-      case 3:
-        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 29)) {
-          _Internal::set_has_b(&has_bits);
-          b_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<float>(ptr);
-          ptr += sizeof(float);
-        } else goto handle_unusual;
-        continue;
-      // float a = 4;
-      case 4:
-        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 37)) {
-          _Internal::set_has_a(&has_bits);
-          a_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<float>(ptr);
-          ptr += sizeof(float);
-        } else goto handle_unusual;
-        continue;
-      default: {
-      handle_unusual:
-        if ((tag & 7) == 4 || tag == 0) {
-          ctx->SetLastTag(tag);
-          goto success;
-        }
-        ptr = UnknownFieldParse(tag,
-            _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
-            ptr, ctx);
-        CHK_(ptr != nullptr);
-        continue;
-      }
-    }  // switch
-  }  // while
-success:
-  _has_bits_.Or(has_bits);
-  return ptr;
-failure:
-  ptr = nullptr;
-  goto success;
-#undef CHK_
+bool UIElement::xc_enabled() const {
+  return xc_enabled_;
 }
-
-::PROTOBUF_NAMESPACE_ID::uint8* Color::_InternalSerialize(
-    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
-  // @@protoc_insertion_point(serialize_to_array_start:gtxilib.oopclasses.protos.Color)
-  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
-  (void) cached_has_bits;
-
-  // float r = 1;
-  if (_internal_has_r()) {
-    target = stream->EnsureSpace(target);
-    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteFloatToArray(1, this->_internal_r(), target);
-  }
-
-  // float g = 2;
-  if (_internal_has_g()) {
-    target = stream->EnsureSpace(target);
-    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteFloatToArray(2, this->_internal_g(), target);
-  }
-
-  // float b = 3;
-  if (_internal_has_b()) {
-    target = stream->EnsureSpace(target);
-    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteFloatToArray(3, this->_internal_b(), target);
-  }
-
-  // float a = 4;
-  if (_internal_has_a()) {
-    target = stream->EnsureSpace(target);
-    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteFloatToArray(4, this->_internal_a(), target);
-  }
-
-  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
-    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
-        _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
-  }
-  // @@protoc_insertion_point(serialize_to_array_end:gtxilib.oopclasses.protos.Color)
-  return target;
+bool UIElement::has_xc_enabled() const {
+  return has_xc_enabled_;
 }
-
-size_t Color::ByteSizeLong() const {
-// @@protoc_insertion_point(message_byte_size_start:gtxilib.oopclasses.protos.Color)
-  size_t total_size = 0;
-
-  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
-  // Prevent compiler warnings about cached_has_bits being unused
-  (void) cached_has_bits;
-
-  cached_has_bits = _has_bits_[0];
-  if (cached_has_bits & 0x0000000fu) {
-    // float r = 1;
-    if (cached_has_bits & 0x00000001u) {
-      total_size += 1 + 4;
-    }
-
-    // float g = 2;
-    if (cached_has_bits & 0x00000002u) {
-      total_size += 1 + 4;
-    }
-
-    // float b = 3;
-    if (cached_has_bits & 0x00000004u) {
-      total_size += 1 + 4;
-    }
-
-    // float a = 4;
-    if (cached_has_bits & 0x00000008u) {
-      total_size += 1 + 4;
-    }
-
-  }
-  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
-    return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize(
-        _internal_metadata_, total_size, &_cached_size_);
-  }
-  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
-  SetCachedSize(cached_size);
-  return total_size;
+void UIElement::clear_xc_enabled() {
+  xc_enabled_ = bool();
+  has_xc_enabled_ = false;
 }
-
-void Color::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
-// @@protoc_insertion_point(generalized_merge_from_start:gtxilib.oopclasses.protos.Color)
-  GOOGLE_DCHECK_NE(&from, this);
-  const Color* source =
-      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<Color>(
-          &from);
-  if (source == nullptr) {
-  // @@protoc_insertion_point(generalized_merge_from_cast_fail:gtxilib.oopclasses.protos.Color)
-    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
-  } else {
-  // @@protoc_insertion_point(generalized_merge_from_cast_success:gtxilib.oopclasses.protos.Color)
-    MergeFrom(*source);
-  }
+void UIElement::set_xc_enabled(bool new_xc_enabled) {
+  xc_enabled_ = new_xc_enabled;
+  has_xc_enabled_ = true;
 }
-
-void Color::MergeFrom(const Color& from) {
-// @@protoc_insertion_point(class_specific_merge_from_start:gtxilib.oopclasses.protos.Color)
-  GOOGLE_DCHECK_NE(&from, this);
-  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
-  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
-  (void) cached_has_bits;
-
-  cached_has_bits = from._has_bits_[0];
-  if (cached_has_bits & 0x0000000fu) {
-    if (cached_has_bits & 0x00000001u) {
-      r_ = from.r_;
-    }
-    if (cached_has_bits & 0x00000002u) {
-      g_ = from.g_;
-    }
-    if (cached_has_bits & 0x00000004u) {
-      b_ = from.b_;
-    }
-    if (cached_has_bits & 0x00000008u) {
-      a_ = from.a_;
-    }
-    _has_bits_[0] |= cached_has_bits;
-  }
+bool* UIElement::mutable_xc_enabled() {
+  has_xc_enabled_ = true;
+  return &xc_enabled_;
 }
 
-void Color::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
-// @@protoc_insertion_point(generalized_copy_from_start:gtxilib.oopclasses.protos.Color)
-  if (&from == this) return;
-  Clear();
-  MergeFrom(from);
+ElementType_ElementTypeEnum UIElement::element_type() const {
+  return element_type_;
 }
-
-void Color::CopyFrom(const Color& from) {
-// @@protoc_insertion_point(class_specific_copy_from_start:gtxilib.oopclasses.protos.Color)
-  if (&from == this) return;
-  Clear();
-  MergeFrom(from);
+bool UIElement::has_element_type() const {
+  return has_element_type_;
 }
-
-bool Color::IsInitialized() const {
-  return true;
+void UIElement::clear_element_type() {
+  element_type_ = ElementType_ElementTypeEnum();
+  has_element_type_ = false;
 }
-
-void Color::InternalSwap(Color* other) {
-  using std::swap;
-  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
-  swap(_has_bits_[0], other->_has_bits_[0]);
-  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
-      PROTOBUF_FIELD_OFFSET(Color, a_)
-      + sizeof(Color::a_)
-      - PROTOBUF_FIELD_OFFSET(Color, r_)>(
-          reinterpret_cast<char*>(&r_),
-          reinterpret_cast<char*>(&other->r_));
+void UIElement::set_element_type(ElementType_ElementTypeEnum new_element_type) {
+  element_type_ = new_element_type;
+  has_element_type_ = true;
 }
-
-::PROTOBUF_NAMESPACE_ID::Metadata Color::GetMetadata() const {
-  return GetMetadataStatic();
+ElementType_ElementTypeEnum* UIElement::mutable_element_type() {
+  has_element_type_ = true;
+  return &element_type_;
 }
 
-
-// ===================================================================
-
-void UIElement::InitAsDefaultInstance() {
-  ::gtxilib::oopclasses::protos::_UIElement_default_instance_._instance.get_mutable()->ax_frame_ = const_cast< ::gtxilib::oopclasses::protos::Rect*>(
-      ::gtxilib::oopclasses::protos::Rect::internal_default_instance());
-  ::gtxilib::oopclasses::protos::_UIElement_default_instance_._instance.get_mutable()->background_color_ = const_cast< ::gtxilib::oopclasses::protos::Color*>(
-      ::gtxilib::oopclasses::protos::Color::internal_default_instance());
-  ::gtxilib::oopclasses::protos::_UIElement_default_instance_._instance.get_mutable()->tint_color_ = const_cast< ::gtxilib::oopclasses::protos::Color*>(
-      ::gtxilib::oopclasses::protos::Color::internal_default_instance());
-  ::gtxilib::oopclasses::protos::_UIElement_default_instance_._instance.get_mutable()->frame_ = const_cast< ::gtxilib::oopclasses::protos::Rect*>(
-      ::gtxilib::oopclasses::protos::Rect::internal_default_instance());
-  ::gtxilib::oopclasses::protos::_UIElement_default_instance_._instance.get_mutable()->bounds_ = const_cast< ::gtxilib::oopclasses::protos::Rect*>(
-      ::gtxilib::oopclasses::protos::Rect::internal_default_instance());
+std::string UIElement::class_names_hierarchy(int index) const {
+  return class_names_hierarchy_[index];
 }
-class UIElement::_Internal {
- public:
-  using HasBits = decltype(std::declval<UIElement>()._has_bits_);
-  static void set_has_id(HasBits* has_bits) {
-    (*has_bits)[0] |= 1024u;
-  }
-  static void set_has_parent_id(HasBits* has_bits) {
-    (*has_bits)[0] |= 2048u;
-  }
-  static void set_has_is_ax_element(HasBits* has_bits) {
-    (*has_bits)[0] |= 8192u;
-  }
-  static void set_has_ax_traits(HasBits* has_bits) {
-    (*has_bits)[0] |= 4096u;
-  }
-  static void set_has_ax_label(HasBits* has_bits) {
-    (*has_bits)[0] |= 1u;
-  }
-  static void set_has_ax_hint(HasBits* has_bits) {
-    (*has_bits)[0] |= 2u;
-  }
-  static const ::gtxilib::oopclasses::protos::Rect& ax_frame(const UIElement* msg);
-  static void set_has_ax_frame(HasBits* has_bits) {
-    (*has_bits)[0] |= 32u;
-  }
-  static void set_has_ax_identifier(HasBits* has_bits) {
-    (*has_bits)[0] |= 4u;
-  }
-  static void set_has_hittable(HasBits* has_bits) {
-    (*has_bits)[0] |= 16384u;
-  }
-  static void set_has_exists(HasBits* has_bits) {
-    (*has_bits)[0] |= 32768u;
-  }
-  static void set_has_xc_selected(HasBits* has_bits) {
-    (*has_bits)[0] |= 65536u;
-  }
-  static void set_has_xc_enabled(HasBits* has_bits) {
-    (*has_bits)[0] |= 524288u;
-  }
-  static void set_has_element_type(HasBits* has_bits) {
-    (*has_bits)[0] |= 131072u;
-  }
-  static const ::gtxilib::oopclasses::protos::Color& background_color(const UIElement* msg);
-  static void set_has_background_color(HasBits* has_bits) {
-    (*has_bits)[0] |= 64u;
-  }
-  static void set_has_hidden(HasBits* has_bits) {
-    (*has_bits)[0] |= 1048576u;
-  }
-  static void set_has_alpha(HasBits* has_bits) {
-    (*has_bits)[0] |= 262144u;
-  }
-  static void set_has_opaque(HasBits* has_bits) {
-    (*has_bits)[0] |= 2097152u;
-  }
-  static const ::gtxilib::oopclasses::protos::Color& tint_color(const UIElement* msg);
-  static void set_has_tint_color(HasBits* has_bits) {
-    (*has_bits)[0] |= 128u;
-  }
-  static void set_has_clips_to_bounds(HasBits* has_bits) {
-    (*has_bits)[0] |= 4194304u;
-  }
-  static void set_has_user_interaction_enabled(HasBits* has_bits) {
-    (*has_bits)[0] |= 16777216u;
-  }
-  static void set_has_multiple_touch_enabled(HasBits* has_bits) {
-    (*has_bits)[0] |= 33554432u;
-  }
-  static void set_has_exclusive_touch(HasBits* has_bits) {
-    (*has_bits)[0] |= 67108864u;
-  }
-  static const ::gtxilib::oopclasses::protos::Rect& frame(const UIElement* msg);
-  static void set_has_frame(HasBits* has_bits) {
-    (*has_bits)[0] |= 256u;
-  }
-  static const ::gtxilib::oopclasses::protos::Rect& bounds(const UIElement* msg);
-  static void set_has_bounds(HasBits* has_bits) {
-    (*has_bits)[0] |= 512u;
-  }
-  static void set_has_control_state(HasBits* has_bits) {
-    (*has_bits)[0] |= 8388608u;
-  }
-  static void set_has_enabled(HasBits* has_bits) {
-    (*has_bits)[0] |= 134217728u;
-  }
-  static void set_has_selected(HasBits* has_bits) {
-    (*has_bits)[0] |= 268435456u;
-  }
-  static void set_has_highlighted(HasBits* has_bits) {
-    (*has_bits)[0] |= 536870912u;
-  }
-  static void set_has_title(HasBits* has_bits) {
-    (*has_bits)[0] |= 8u;
-  }
-  static void set_has_text(HasBits* has_bits) {
-    (*has_bits)[0] |= 16u;
-  }
-  static void set_has_on(HasBits* has_bits) {
-    (*has_bits)[0] |= 1073741824u;
-  }
-  static void set_has_value(HasBits* has_bits) {
-    (*has_bits)[0] |= 2147483648u;
-  }
-};
-
-const ::gtxilib::oopclasses::protos::Rect&
-UIElement::_Internal::ax_frame(const UIElement* msg) {
-  return *msg->ax_frame_;
+const std::vector<std::string>& UIElement::class_names_hierarchy() const {
+  return class_names_hierarchy_;
 }
-const ::gtxilib::oopclasses::protos::Color&
-UIElement::_Internal::background_color(const UIElement* msg) {
-  return *msg->background_color_;
+bool UIElement::has_class_names_hierarchy() const {
+  return has_class_names_hierarchy_;
 }
-const ::gtxilib::oopclasses::protos::Color&
-UIElement::_Internal::tint_color(const UIElement* msg) {
-  return *msg->tint_color_;
+void UIElement::clear_class_names_hierarchy() {
+  class_names_hierarchy_.clear();
+  has_class_names_hierarchy_ = false;
 }
-const ::gtxilib::oopclasses::protos::Rect&
-UIElement::_Internal::frame(const UIElement* msg) {
-  return *msg->frame_;
+void UIElement::set_class_names_hierarchy(int index, std::string new_class_names_hierarchy) {
+  class_names_hierarchy_[index] = new_class_names_hierarchy;
+  has_class_names_hierarchy_ = true;
 }
-const ::gtxilib::oopclasses::protos::Rect&
-UIElement::_Internal::bounds(const UIElement* msg) {
-  return *msg->bounds_;
+std::string* UIElement::mutable_class_names_hierarchy(int index) {
+  has_class_names_hierarchy_ = true;
+  return &class_names_hierarchy_[index];
 }
-UIElement::UIElement(::PROTOBUF_NAMESPACE_ID::Arena* arena)
-  : ::PROTOBUF_NAMESPACE_ID::Message(arena),
-  child_ids_(arena),
-  class_names_hierarchy_(arena) {
-  SharedCtor();
-  RegisterArenaDtor(arena);
-  // @@protoc_insertion_point(arena_constructor:gtxilib.oopclasses.protos.UIElement)
+void UIElement::add_class_names_hierarchy(std::string new_class_names_hierarchy) {
+  class_names_hierarchy_.push_back(new_class_names_hierarchy);
+  has_class_names_hierarchy_ = true;
 }
-UIElement::UIElement(const UIElement& from)
-  : ::PROTOBUF_NAMESPACE_ID::Message(),
-      _has_bits_(from._has_bits_),
-      child_ids_(from.child_ids_),
-      class_names_hierarchy_(from.class_names_hierarchy_) {
-  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
-  ax_label_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
-  if (from._internal_has_ax_label()) {
-    ax_label_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), from._internal_ax_label(),
-      GetArena());
-  }
-  ax_hint_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
-  if (from._internal_has_ax_hint()) {
-    ax_hint_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), from._internal_ax_hint(),
-      GetArena());
-  }
-  ax_identifier_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
-  if (from._internal_has_ax_identifier()) {
-    ax_identifier_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), from._internal_ax_identifier(),
-      GetArena());
-  }
-  title_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
-  if (from._internal_has_title()) {
-    title_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), from._internal_title(),
-      GetArena());
-  }
-  text_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
-  if (from._internal_has_text()) {
-    text_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), from._internal_text(),
-      GetArena());
-  }
-  if (from._internal_has_ax_frame()) {
-    ax_frame_ = new ::gtxilib::oopclasses::protos::Rect(*from.ax_frame_);
-  } else {
-    ax_frame_ = nullptr;
-  }
-  if (from._internal_has_background_color()) {
-    background_color_ = new ::gtxilib::oopclasses::protos::Color(*from.background_color_);
-  } else {
-    background_color_ = nullptr;
-  }
-  if (from._internal_has_tint_color()) {
-    tint_color_ = new ::gtxilib::oopclasses::protos::Color(*from.tint_color_);
-  } else {
-    tint_color_ = nullptr;
-  }
-  if (from._internal_has_frame()) {
-    frame_ = new ::gtxilib::oopclasses::protos::Rect(*from.frame_);
-  } else {
-    frame_ = nullptr;
-  }
-  if (from._internal_has_bounds()) {
-    bounds_ = new ::gtxilib::oopclasses::protos::Rect(*from.bounds_);
-  } else {
-    bounds_ = nullptr;
-  }
-  ::memcpy(&id_, &from.id_,
-    static_cast<size_t>(reinterpret_cast<char*>(&value_) -
-    reinterpret_cast<char*>(&id_)) + sizeof(value_));
-  // @@protoc_insertion_point(copy_constructor:gtxilib.oopclasses.protos.UIElement)
+int UIElement::class_names_hierarchy_size() const {
+  return class_names_hierarchy_.size();
 }
 
-void UIElement::SharedCtor() {
-  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_UIElement_gtx_2eproto.base);
-  ax_label_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
-  ax_hint_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
-  ax_identifier_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
-  title_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
-  text_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
-  ::memset(&ax_frame_, 0, static_cast<size_t>(
-      reinterpret_cast<char*>(&value_) -
-      reinterpret_cast<char*>(&ax_frame_)) + sizeof(value_));
+const Color& UIElement::background_color() const {
+  return background_color_;
+}
+bool UIElement::has_background_color() const {
+  return has_background_color_;
+}
+void UIElement::clear_background_color() {
+  background_color_ = Color();
+  has_background_color_ = false;
+}
+void UIElement::set_background_color(const Color& new_background_color) {
+  background_color_ = new_background_color;
+  has_background_color_ = true;
+}
+Color* UIElement::mutable_background_color() {
+  has_background_color_ = true;
+  return &background_color_;
 }
 
-UIElement::~UIElement() {
-  // @@protoc_insertion_point(destructor:gtxilib.oopclasses.protos.UIElement)
-  SharedDtor();
-  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
+bool UIElement::hidden() const {
+  return hidden_;
+}
+bool UIElement::has_hidden() const {
+  return has_hidden_;
+}
+void UIElement::clear_hidden() {
+  hidden_ = bool();
+  has_hidden_ = false;
+}
+void UIElement::set_hidden(bool new_hidden) {
+  hidden_ = new_hidden;
+  has_hidden_ = true;
+}
+bool* UIElement::mutable_hidden() {
+  has_hidden_ = true;
+  return &hidden_;
 }
 
-void UIElement::SharedDtor() {
-  GOOGLE_DCHECK(GetArena() == nullptr);
-  ax_label_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
-  ax_hint_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
-  ax_identifier_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
-  title_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
-  text_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
-  if (this != internal_default_instance()) delete ax_frame_;
-  if (this != internal_default_instance()) delete background_color_;
-  if (this != internal_default_instance()) delete tint_color_;
-  if (this != internal_default_instance()) delete frame_;
-  if (this != internal_default_instance()) delete bounds_;
+float UIElement::alpha() const {
+  return alpha_;
+}
+bool UIElement::has_alpha() const {
+  return has_alpha_;
+}
+void UIElement::clear_alpha() {
+  alpha_ = float();
+  has_alpha_ = false;
+}
+void UIElement::set_alpha(float new_alpha) {
+  alpha_ = new_alpha;
+  has_alpha_ = true;
+}
+float* UIElement::mutable_alpha() {
+  has_alpha_ = true;
+  return &alpha_;
 }
 
-void UIElement::ArenaDtor(void* object) {
-  UIElement* _this = reinterpret_cast< UIElement* >(object);
-  (void)_this;
+bool UIElement::opaque() const {
+  return opaque_;
 }
-void UIElement::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
+bool UIElement::has_opaque() const {
+  return has_opaque_;
 }
-void UIElement::SetCachedSize(int size) const {
-  _cached_size_.Set(size);
+void UIElement::clear_opaque() {
+  opaque_ = bool();
+  has_opaque_ = false;
+}
+void UIElement::set_opaque(bool new_opaque) {
+  opaque_ = new_opaque;
+  has_opaque_ = true;
 }
-const UIElement& UIElement::default_instance() {
-  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_UIElement_gtx_2eproto.base);
-  return *internal_default_instance();
+bool* UIElement::mutable_opaque() {
+  has_opaque_ = true;
+  return &opaque_;
 }
 
+const Color& UIElement::tint_color() const {
+  return tint_color_;
+}
+bool UIElement::has_tint_color() const {
+  return has_tint_color_;
+}
+void UIElement::clear_tint_color() {
+  tint_color_ = Color();
+  has_tint_color_ = false;
+}
+void UIElement::set_tint_color(const Color& new_tint_color) {
+  tint_color_ = new_tint_color;
+  has_tint_color_ = true;
+}
+Color* UIElement::mutable_tint_color() {
+  has_tint_color_ = true;
+  return &tint_color_;
+}
 
-void UIElement::Clear() {
-// @@protoc_insertion_point(message_clear_start:gtxilib.oopclasses.protos.UIElement)
-  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
-  // Prevent compiler warnings about cached_has_bits being unused
-  (void) cached_has_bits;
+bool UIElement::clips_to_bounds() const {
+  return clips_to_bounds_;
+}
+bool UIElement::has_clips_to_bounds() const {
+  return has_clips_to_bounds_;
+}
+void UIElement::clear_clips_to_bounds() {
+  clips_to_bounds_ = bool();
+  has_clips_to_bounds_ = false;
+}
+void UIElement::set_clips_to_bounds(bool new_clips_to_bounds) {
+  clips_to_bounds_ = new_clips_to_bounds;
+  has_clips_to_bounds_ = true;
+}
+bool* UIElement::mutable_clips_to_bounds() {
+  has_clips_to_bounds_ = true;
+  return &clips_to_bounds_;
+}
 
-  child_ids_.Clear();
-  class_names_hierarchy_.Clear();
-  cached_has_bits = _has_bits_[0];
-  if (cached_has_bits & 0x000000ffu) {
-    if (cached_has_bits & 0x00000001u) {
-      ax_label_.ClearNonDefaultToEmpty();
-    }
-    if (cached_has_bits & 0x00000002u) {
-      ax_hint_.ClearNonDefaultToEmpty();
-    }
-    if (cached_has_bits & 0x00000004u) {
-      ax_identifier_.ClearNonDefaultToEmpty();
-    }
-    if (cached_has_bits & 0x00000008u) {
-      title_.ClearNonDefaultToEmpty();
-    }
-    if (cached_has_bits & 0x00000010u) {
-      text_.ClearNonDefaultToEmpty();
-    }
-    if (cached_has_bits & 0x00000020u) {
-      if (GetArena() == nullptr && ax_frame_ != nullptr) {
-        delete ax_frame_;
-      }
-      ax_frame_ = nullptr;
-    }
-    if (cached_has_bits & 0x00000040u) {
-      if (GetArena() == nullptr && background_color_ != nullptr) {
-        delete background_color_;
-      }
-      background_color_ = nullptr;
-    }
-    if (cached_has_bits & 0x00000080u) {
-      if (GetArena() == nullptr && tint_color_ != nullptr) {
-        delete tint_color_;
-      }
-      tint_color_ = nullptr;
-    }
-  }
-  if (cached_has_bits & 0x00000300u) {
-    if (cached_has_bits & 0x00000100u) {
-      if (GetArena() == nullptr && frame_ != nullptr) {
-        delete frame_;
-      }
-      frame_ = nullptr;
-    }
-    if (cached_has_bits & 0x00000200u) {
-      if (GetArena() == nullptr && bounds_ != nullptr) {
-        delete bounds_;
-      }
-      bounds_ = nullptr;
-    }
-  }
-  if (cached_has_bits & 0x0000fc00u) {
-    ::memset(&id_, 0, static_cast<size_t>(
-        reinterpret_cast<char*>(&exists_) -
-        reinterpret_cast<char*>(&id_)) + sizeof(exists_));
-  }
-  if (cached_has_bits & 0x00ff0000u) {
-    ::memset(&xc_selected_, 0, static_cast<size_t>(
-        reinterpret_cast<char*>(&control_state_) -
-        reinterpret_cast<char*>(&xc_selected_)) + sizeof(control_state_));
-  }
-  if (cached_has_bits & 0xff000000u) {
-    ::memset(&user_interaction_enabled_, 0, static_cast<size_t>(
-        reinterpret_cast<char*>(&value_) -
-        reinterpret_cast<char*>(&user_interaction_enabled_)) + sizeof(value_));
-  }
-  _has_bits_.Clear();
-  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
+bool UIElement::user_interaction_enabled() const {
+  return user_interaction_enabled_;
+}
+bool UIElement::has_user_interaction_enabled() const {
+  return has_user_interaction_enabled_;
+}
+void UIElement::clear_user_interaction_enabled() {
+  user_interaction_enabled_ = bool();
+  has_user_interaction_enabled_ = false;
+}
+void UIElement::set_user_interaction_enabled(bool new_user_interaction_enabled) {
+  user_interaction_enabled_ = new_user_interaction_enabled;
+  has_user_interaction_enabled_ = true;
+}
+bool* UIElement::mutable_user_interaction_enabled() {
+  has_user_interaction_enabled_ = true;
+  return &user_interaction_enabled_;
 }
 
-const char* UIElement::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
-#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
-  _Internal::HasBits has_bits{};
-  ::PROTOBUF_NAMESPACE_ID::Arena* arena = GetArena(); (void)arena;
-  while (!ctx->Done(&ptr)) {
-    ::PROTOBUF_NAMESPACE_ID::uint32 tag;
-    ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
-    CHK_(ptr);
-    switch (tag >> 3) {
-      // int32 id = 1;
-      case 1:
-        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 8)) {
-          _Internal::set_has_id(&has_bits);
-          id_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
-          CHK_(ptr);
-        } else goto handle_unusual;
-        continue;
-      // int32 parent_id = 2;
-      case 2:
-        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 16)) {
-          _Internal::set_has_parent_id(&has_bits);
-          parent_id_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
-          CHK_(ptr);
-        } else goto handle_unusual;
-        continue;
-      // repeated int32 child_ids = 3;
-      case 3:
-        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 26)) {
-          ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedInt32Parser(_internal_mutable_child_ids(), ptr, ctx);
-          CHK_(ptr);
-        } else if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 24) {
-          _internal_add_child_ids(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr));
-          CHK_(ptr);
-        } else goto handle_unusual;
-        continue;
-      // bool is_ax_element = 4;
-      case 4:
-        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 32)) {
-          _Internal::set_has_is_ax_element(&has_bits);
-          is_ax_element_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
-          CHK_(ptr);
-        } else goto handle_unusual;
-        continue;
-      // uint64 ax_traits = 5;
-      case 5:
-        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 40)) {
-          _Internal::set_has_ax_traits(&has_bits);
-          ax_traits_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
-          CHK_(ptr);
-        } else goto handle_unusual;
-        continue;
-      // string ax_label = 6;
-      case 6:
-        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 50)) {
-          auto str = _internal_mutable_ax_label();
-          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
-          CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "gtxilib.oopclasses.protos.UIElement.ax_label"));
-          CHK_(ptr);
-        } else goto handle_unusual;
-        continue;
-      // string ax_hint = 7;
-      case 7:
-        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 58)) {
-          auto str = _internal_mutable_ax_hint();
-          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
-          CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "gtxilib.oopclasses.protos.UIElement.ax_hint"));
-          CHK_(ptr);
-        } else goto handle_unusual;
-        continue;
-      // .gtxilib.oopclasses.protos.Rect ax_frame = 8;
-      case 8:
-        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 66)) {
-          ptr = ctx->ParseMessage(_internal_mutable_ax_frame(), ptr);
-          CHK_(ptr);
-        } else goto handle_unusual;
-        continue;
-      // string ax_identifier = 9;
-      case 9:
-        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 74)) {
-          auto str = _internal_mutable_ax_identifier();
-          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
-          CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "gtxilib.oopclasses.protos.UIElement.ax_identifier"));
-          CHK_(ptr);
-        } else goto handle_unusual;
-        continue;
-      // bool hittable = 10;
-      case 10:
-        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 80)) {
-          _Internal::set_has_hittable(&has_bits);
-          hittable_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
-          CHK_(ptr);
-        } else goto handle_unusual;
-        continue;
-      // bool exists = 11;
-      case 11:
-        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 88)) {
-          _Internal::set_has_exists(&has_bits);
-          exists_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
-          CHK_(ptr);
-        } else goto handle_unusual;
-        continue;
-      // bool xc_selected = 12;
-      case 12:
-        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 96)) {
-          _Internal::set_has_xc_selected(&has_bits);
-          xc_selected_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
-          CHK_(ptr);
-        } else goto handle_unusual;
-        continue;
-      // bool xc_enabled = 13;
-      case 13:
-        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 104)) {
-          _Internal::set_has_xc_enabled(&has_bits);
-          xc_enabled_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
-          CHK_(ptr);
-        } else goto handle_unusual;
-        continue;
-      // .gtxilib.oopclasses.protos.ElementType.ElementTypeEnum element_type = 14;
-      case 14:
-        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 112)) {
-          ::PROTOBUF_NAMESPACE_ID::uint64 val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
-          CHK_(ptr);
-          _internal_set_element_type(static_cast<::gtxilib::oopclasses::protos::ElementType_ElementTypeEnum>(val));
-        } else goto handle_unusual;
-        continue;
-      // repeated string class_names_hierarchy = 15;
-      case 15:
-        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 122)) {
-          ptr -= 1;
-          do {
-            ptr += 1;
-            auto str = _internal_add_class_names_hierarchy();
-            ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
-            CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "gtxilib.oopclasses.protos.UIElement.class_names_hierarchy"));
-            CHK_(ptr);
-            if (!ctx->DataAvailable(ptr)) break;
-          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<122>(ptr));
-        } else goto handle_unusual;
-        continue;
-      // .gtxilib.oopclasses.protos.Color background_color = 16;
-      case 16:
-        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 130)) {
-          ptr = ctx->ParseMessage(_internal_mutable_background_color(), ptr);
-          CHK_(ptr);
-        } else goto handle_unusual;
-        continue;
-      // bool hidden = 17;
-      case 17:
-        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 136)) {
-          _Internal::set_has_hidden(&has_bits);
-          hidden_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
-          CHK_(ptr);
-        } else goto handle_unusual;
-        continue;
-      // float alpha = 18;
-      case 18:
-        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 149)) {
-          _Internal::set_has_alpha(&has_bits);
-          alpha_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<float>(ptr);
-          ptr += sizeof(float);
-        } else goto handle_unusual;
-        continue;
-      // bool opaque = 20;
-      case 20:
-        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 160)) {
-          _Internal::set_has_opaque(&has_bits);
-          opaque_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
-          CHK_(ptr);
-        } else goto handle_unusual;
-        continue;
-      // .gtxilib.oopclasses.protos.Color tint_color = 21;
-      case 21:
-        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 170)) {
-          ptr = ctx->ParseMessage(_internal_mutable_tint_color(), ptr);
-          CHK_(ptr);
-        } else goto handle_unusual;
-        continue;
-      // bool clips_to_bounds = 22;
-      case 22:
-        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 176)) {
-          _Internal::set_has_clips_to_bounds(&has_bits);
-          clips_to_bounds_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
-          CHK_(ptr);
-        } else goto handle_unusual;
-        continue;
-      // bool user_interaction_enabled = 23;
-      case 23:
-        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 184)) {
-          _Internal::set_has_user_interaction_enabled(&has_bits);
-          user_interaction_enabled_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
-          CHK_(ptr);
-        } else goto handle_unusual;
-        continue;
-      // bool multiple_touch_enabled = 24;
-      case 24:
-        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 192)) {
-          _Internal::set_has_multiple_touch_enabled(&has_bits);
-          multiple_touch_enabled_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
-          CHK_(ptr);
-        } else goto handle_unusual;
-        continue;
-      // bool exclusive_touch = 25;
-      case 25:
-        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 200)) {
-          _Internal::set_has_exclusive_touch(&has_bits);
-          exclusive_touch_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
-          CHK_(ptr);
-        } else goto handle_unusual;
-        continue;
-      // .gtxilib.oopclasses.protos.Rect frame = 26;
-      case 26:
-        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 210)) {
-          ptr = ctx->ParseMessage(_internal_mutable_frame(), ptr);
-          CHK_(ptr);
-        } else goto handle_unusual;
-        continue;
-      // .gtxilib.oopclasses.protos.Rect bounds = 27;
-      case 27:
-        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 218)) {
-          ptr = ctx->ParseMessage(_internal_mutable_bounds(), ptr);
-          CHK_(ptr);
-        } else goto handle_unusual;
-        continue;
-      // uint64 control_state = 28;
-      case 28:
-        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 224)) {
-          _Internal::set_has_control_state(&has_bits);
-          control_state_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
-          CHK_(ptr);
-        } else goto handle_unusual;
-        continue;
-      // bool enabled = 29;
-      case 29:
-        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 232)) {
-          _Internal::set_has_enabled(&has_bits);
-          enabled_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
-          CHK_(ptr);
-        } else goto handle_unusual;
-        continue;
-      // bool selected = 30;
-      case 30:
-        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 240)) {
-          _Internal::set_has_selected(&has_bits);
-          selected_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
-          CHK_(ptr);
-        } else goto handle_unusual;
-        continue;
-      // bool highlighted = 31;
-      case 31:
-        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 248)) {
-          _Internal::set_has_highlighted(&has_bits);
-          highlighted_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
-          CHK_(ptr);
-        } else goto handle_unusual;
-        continue;
-      // string title = 32;
-      case 32:
-        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 2)) {
-          auto str = _internal_mutable_title();
-          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
-          CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "gtxilib.oopclasses.protos.UIElement.title"));
-          CHK_(ptr);
-        } else goto handle_unusual;
-        continue;
-      // string text = 33;
-      case 33:
-        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
-          auto str = _internal_mutable_text();
-          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
-          CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "gtxilib.oopclasses.protos.UIElement.text"));
-          CHK_(ptr);
-        } else goto handle_unusual;
-        continue;
-      // bool on = 34;
-      case 34:
-        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 16)) {
-          _Internal::set_has_on(&has_bits);
-          on_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
-          CHK_(ptr);
-        } else goto handle_unusual;
-        continue;
-      // float value = 35;
-      case 35:
-        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 29)) {
-          _Internal::set_has_value(&has_bits);
-          value_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<float>(ptr);
-          ptr += sizeof(float);
-        } else goto handle_unusual;
-        continue;
-      default: {
-      handle_unusual:
-        if ((tag & 7) == 4 || tag == 0) {
-          ctx->SetLastTag(tag);
-          goto success;
-        }
-        ptr = UnknownFieldParse(tag,
-            _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
-            ptr, ctx);
-        CHK_(ptr != nullptr);
-        continue;
-      }
-    }  // switch
-  }  // while
-success:
-  _has_bits_.Or(has_bits);
-  return ptr;
-failure:
-  ptr = nullptr;
-  goto success;
-#undef CHK_
+bool UIElement::multiple_touch_enabled() const {
+  return multiple_touch_enabled_;
+}
+bool UIElement::has_multiple_touch_enabled() const {
+  return has_multiple_touch_enabled_;
+}
+void UIElement::clear_multiple_touch_enabled() {
+  multiple_touch_enabled_ = bool();
+  has_multiple_touch_enabled_ = false;
+}
+void UIElement::set_multiple_touch_enabled(bool new_multiple_touch_enabled) {
+  multiple_touch_enabled_ = new_multiple_touch_enabled;
+  has_multiple_touch_enabled_ = true;
+}
+bool* UIElement::mutable_multiple_touch_enabled() {
+  has_multiple_touch_enabled_ = true;
+  return &multiple_touch_enabled_;
 }
 
-::PROTOBUF_NAMESPACE_ID::uint8* UIElement::_InternalSerialize(
-    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
-  // @@protoc_insertion_point(serialize_to_array_start:gtxilib.oopclasses.protos.UIElement)
-  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
-  (void) cached_has_bits;
-
-  // int32 id = 1;
-  if (_internal_has_id()) {
-    target = stream->EnsureSpace(target);
-    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(1, this->_internal_id(), target);
-  }
-
-  // int32 parent_id = 2;
-  if (_internal_has_parent_id()) {
-    target = stream->EnsureSpace(target);
-    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(2, this->_internal_parent_id(), target);
-  }
-
-  // repeated int32 child_ids = 3;
-  {
-    int byte_size = _child_ids_cached_byte_size_.load(std::memory_order_relaxed);
-    if (byte_size > 0) {
-      target = stream->WriteInt32Packed(
-          3, _internal_child_ids(), byte_size, target);
-    }
-  }
-
-  // bool is_ax_element = 4;
-  if (_internal_has_is_ax_element()) {
-    target = stream->EnsureSpace(target);
-    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(4, this->_internal_is_ax_element(), target);
-  }
-
-  // uint64 ax_traits = 5;
-  if (_internal_has_ax_traits()) {
-    target = stream->EnsureSpace(target);
-    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteUInt64ToArray(5, this->_internal_ax_traits(), target);
-  }
-
-  // string ax_label = 6;
-  if (_internal_has_ax_label()) {
-    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
-      this->_internal_ax_label().data(), static_cast<int>(this->_internal_ax_label().length()),
-      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
-      "gtxilib.oopclasses.protos.UIElement.ax_label");
-    target = stream->WriteStringMaybeAliased(
-        6, this->_internal_ax_label(), target);
-  }
-
-  // string ax_hint = 7;
-  if (_internal_has_ax_hint()) {
-    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
-      this->_internal_ax_hint().data(), static_cast<int>(this->_internal_ax_hint().length()),
-      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
-      "gtxilib.oopclasses.protos.UIElement.ax_hint");
-    target = stream->WriteStringMaybeAliased(
-        7, this->_internal_ax_hint(), target);
-  }
-
-  // .gtxilib.oopclasses.protos.Rect ax_frame = 8;
-  if (_internal_has_ax_frame()) {
-    target = stream->EnsureSpace(target);
-    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
-      InternalWriteMessage(
-        8, _Internal::ax_frame(this), target, stream);
-  }
-
-  // string ax_identifier = 9;
-  if (_internal_has_ax_identifier()) {
-    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
-      this->_internal_ax_identifier().data(), static_cast<int>(this->_internal_ax_identifier().length()),
-      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
-      "gtxilib.oopclasses.protos.UIElement.ax_identifier");
-    target = stream->WriteStringMaybeAliased(
-        9, this->_internal_ax_identifier(), target);
-  }
-
-  // bool hittable = 10;
-  if (_internal_has_hittable()) {
-    target = stream->EnsureSpace(target);
-    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(10, this->_internal_hittable(), target);
-  }
-
-  // bool exists = 11;
-  if (_internal_has_exists()) {
-    target = stream->EnsureSpace(target);
-    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(11, this->_internal_exists(), target);
-  }
-
-  // bool xc_selected = 12;
-  if (_internal_has_xc_selected()) {
-    target = stream->EnsureSpace(target);
-    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(12, this->_internal_xc_selected(), target);
-  }
-
-  // bool xc_enabled = 13;
-  if (_internal_has_xc_enabled()) {
-    target = stream->EnsureSpace(target);
-    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(13, this->_internal_xc_enabled(), target);
-  }
-
-  // .gtxilib.oopclasses.protos.ElementType.ElementTypeEnum element_type = 14;
-  if (_internal_has_element_type()) {
-    target = stream->EnsureSpace(target);
-    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
-      14, this->_internal_element_type(), target);
-  }
-
-  // repeated string class_names_hierarchy = 15;
-  for (int i = 0, n = this->_internal_class_names_hierarchy_size(); i < n; i++) {
-    const auto& s = this->_internal_class_names_hierarchy(i);
-    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
-      s.data(), static_cast<int>(s.length()),
-      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
-      "gtxilib.oopclasses.protos.UIElement.class_names_hierarchy");
-    target = stream->WriteString(15, s, target);
-  }
-
-  // .gtxilib.oopclasses.protos.Color background_color = 16;
-  if (_internal_has_background_color()) {
-    target = stream->EnsureSpace(target);
-    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
-      InternalWriteMessage(
-        16, _Internal::background_color(this), target, stream);
-  }
-
-  // bool hidden = 17;
-  if (_internal_has_hidden()) {
-    target = stream->EnsureSpace(target);
-    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(17, this->_internal_hidden(), target);
-  }
-
-  // float alpha = 18;
-  if (_internal_has_alpha()) {
-    target = stream->EnsureSpace(target);
-    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteFloatToArray(18, this->_internal_alpha(), target);
-  }
-
-  // bool opaque = 20;
-  if (_internal_has_opaque()) {
-    target = stream->EnsureSpace(target);
-    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(20, this->_internal_opaque(), target);
-  }
-
-  // .gtxilib.oopclasses.protos.Color tint_color = 21;
-  if (_internal_has_tint_color()) {
-    target = stream->EnsureSpace(target);
-    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
-      InternalWriteMessage(
-        21, _Internal::tint_color(this), target, stream);
-  }
-
-  // bool clips_to_bounds = 22;
-  if (_internal_has_clips_to_bounds()) {
-    target = stream->EnsureSpace(target);
-    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(22, this->_internal_clips_to_bounds(), target);
-  }
-
-  // bool user_interaction_enabled = 23;
-  if (_internal_has_user_interaction_enabled()) {
-    target = stream->EnsureSpace(target);
-    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(23, this->_internal_user_interaction_enabled(), target);
-  }
-
-  // bool multiple_touch_enabled = 24;
-  if (_internal_has_multiple_touch_enabled()) {
-    target = stream->EnsureSpace(target);
-    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(24, this->_internal_multiple_touch_enabled(), target);
-  }
-
-  // bool exclusive_touch = 25;
-  if (_internal_has_exclusive_touch()) {
-    target = stream->EnsureSpace(target);
-    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(25, this->_internal_exclusive_touch(), target);
-  }
-
-  // .gtxilib.oopclasses.protos.Rect frame = 26;
-  if (_internal_has_frame()) {
-    target = stream->EnsureSpace(target);
-    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
-      InternalWriteMessage(
-        26, _Internal::frame(this), target, stream);
-  }
-
-  // .gtxilib.oopclasses.protos.Rect bounds = 27;
-  if (_internal_has_bounds()) {
-    target = stream->EnsureSpace(target);
-    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
-      InternalWriteMessage(
-        27, _Internal::bounds(this), target, stream);
-  }
-
-  // uint64 control_state = 28;
-  if (_internal_has_control_state()) {
-    target = stream->EnsureSpace(target);
-    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteUInt64ToArray(28, this->_internal_control_state(), target);
-  }
-
-  // bool enabled = 29;
-  if (_internal_has_enabled()) {
-    target = stream->EnsureSpace(target);
-    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(29, this->_internal_enabled(), target);
-  }
-
-  // bool selected = 30;
-  if (_internal_has_selected()) {
-    target = stream->EnsureSpace(target);
-    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(30, this->_internal_selected(), target);
-  }
-
-  // bool highlighted = 31;
-  if (_internal_has_highlighted()) {
-    target = stream->EnsureSpace(target);
-    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(31, this->_internal_highlighted(), target);
-  }
-
-  // string title = 32;
-  if (_internal_has_title()) {
-    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
-      this->_internal_title().data(), static_cast<int>(this->_internal_title().length()),
-      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
-      "gtxilib.oopclasses.protos.UIElement.title");
-    target = stream->WriteStringMaybeAliased(
-        32, this->_internal_title(), target);
-  }
-
-  // string text = 33;
-  if (_internal_has_text()) {
-    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
-      this->_internal_text().data(), static_cast<int>(this->_internal_text().length()),
-      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
-      "gtxilib.oopclasses.protos.UIElement.text");
-    target = stream->WriteStringMaybeAliased(
-        33, this->_internal_text(), target);
-  }
-
-  // bool on = 34;
-  if (_internal_has_on()) {
-    target = stream->EnsureSpace(target);
-    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(34, this->_internal_on(), target);
-  }
-
-  // float value = 35;
-  if (_internal_has_value()) {
-    target = stream->EnsureSpace(target);
-    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteFloatToArray(35, this->_internal_value(), target);
-  }
-
-  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
-    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
-        _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
-  }
-  // @@protoc_insertion_point(serialize_to_array_end:gtxilib.oopclasses.protos.UIElement)
-  return target;
+bool UIElement::exclusive_touch() const {
+  return exclusive_touch_;
 }
-
-size_t UIElement::ByteSizeLong() const {
-// @@protoc_insertion_point(message_byte_size_start:gtxilib.oopclasses.protos.UIElement)
-  size_t total_size = 0;
-
-  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
-  // Prevent compiler warnings about cached_has_bits being unused
-  (void) cached_has_bits;
-
-  // repeated int32 child_ids = 3;
-  {
-    size_t data_size = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
-      Int32Size(this->child_ids_);
-    if (data_size > 0) {
-      total_size += 1 +
-        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
-            static_cast<::PROTOBUF_NAMESPACE_ID::int32>(data_size));
-    }
-    int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(data_size);
-    _child_ids_cached_byte_size_.store(cached_size,
-                                    std::memory_order_relaxed);
-    total_size += data_size;
-  }
-
-  // repeated string class_names_hierarchy = 15;
-  total_size += 1 *
-      ::PROTOBUF_NAMESPACE_ID::internal::FromIntSize(class_names_hierarchy_.size());
-  for (int i = 0, n = class_names_hierarchy_.size(); i < n; i++) {
-    total_size += ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
-      class_names_hierarchy_.Get(i));
-  }
-
-  cached_has_bits = _has_bits_[0];
-  if (cached_has_bits & 0x000000ffu) {
-    // string ax_label = 6;
-    if (cached_has_bits & 0x00000001u) {
-      total_size += 1 +
-        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
-          this->_internal_ax_label());
-    }
-
-    // string ax_hint = 7;
-    if (cached_has_bits & 0x00000002u) {
-      total_size += 1 +
-        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
-          this->_internal_ax_hint());
-    }
-
-    // string ax_identifier = 9;
-    if (cached_has_bits & 0x00000004u) {
-      total_size += 1 +
-        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
-          this->_internal_ax_identifier());
-    }
-
-    // string title = 32;
-    if (cached_has_bits & 0x00000008u) {
-      total_size += 2 +
-        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
-          this->_internal_title());
-    }
-
-    // string text = 33;
-    if (cached_has_bits & 0x00000010u) {
-      total_size += 2 +
-        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
-          this->_internal_text());
-    }
-
-    // .gtxilib.oopclasses.protos.Rect ax_frame = 8;
-    if (cached_has_bits & 0x00000020u) {
-      total_size += 1 +
-        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
-          *ax_frame_);
-    }
-
-    // .gtxilib.oopclasses.protos.Color background_color = 16;
-    if (cached_has_bits & 0x00000040u) {
-      total_size += 2 +
-        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
-          *background_color_);
-    }
-
-    // .gtxilib.oopclasses.protos.Color tint_color = 21;
-    if (cached_has_bits & 0x00000080u) {
-      total_size += 2 +
-        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
-          *tint_color_);
-    }
-
-  }
-  if (cached_has_bits & 0x0000ff00u) {
-    // .gtxilib.oopclasses.protos.Rect frame = 26;
-    if (cached_has_bits & 0x00000100u) {
-      total_size += 2 +
-        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
-          *frame_);
-    }
-
-    // .gtxilib.oopclasses.protos.Rect bounds = 27;
-    if (cached_has_bits & 0x00000200u) {
-      total_size += 2 +
-        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
-          *bounds_);
-    }
-
-    // int32 id = 1;
-    if (cached_has_bits & 0x00000400u) {
-      total_size += 1 +
-        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
-          this->_internal_id());
-    }
-
-    // int32 parent_id = 2;
-    if (cached_has_bits & 0x00000800u) {
-      total_size += 1 +
-        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
-          this->_internal_parent_id());
-    }
-
-    // uint64 ax_traits = 5;
-    if (cached_has_bits & 0x00001000u) {
-      total_size += 1 +
-        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::UInt64Size(
-          this->_internal_ax_traits());
-    }
-
-    // bool is_ax_element = 4;
-    if (cached_has_bits & 0x00002000u) {
-      total_size += 1 + 1;
-    }
-
-    // bool hittable = 10;
-    if (cached_has_bits & 0x00004000u) {
-      total_size += 1 + 1;
-    }
-
-    // bool exists = 11;
-    if (cached_has_bits & 0x00008000u) {
-      total_size += 1 + 1;
-    }
-
-  }
-  if (cached_has_bits & 0x00ff0000u) {
-    // bool xc_selected = 12;
-    if (cached_has_bits & 0x00010000u) {
-      total_size += 1 + 1;
-    }
-
-    // .gtxilib.oopclasses.protos.ElementType.ElementTypeEnum element_type = 14;
-    if (cached_has_bits & 0x00020000u) {
-      total_size += 1 +
-        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_element_type());
-    }
-
-    // float alpha = 18;
-    if (cached_has_bits & 0x00040000u) {
-      total_size += 2 + 4;
-    }
-
-    // bool xc_enabled = 13;
-    if (cached_has_bits & 0x00080000u) {
-      total_size += 1 + 1;
-    }
-
-    // bool hidden = 17;
-    if (cached_has_bits & 0x00100000u) {
-      total_size += 2 + 1;
-    }
-
-    // bool opaque = 20;
-    if (cached_has_bits & 0x00200000u) {
-      total_size += 2 + 1;
-    }
-
-    // bool clips_to_bounds = 22;
-    if (cached_has_bits & 0x00400000u) {
-      total_size += 2 + 1;
-    }
-
-    // uint64 control_state = 28;
-    if (cached_has_bits & 0x00800000u) {
-      total_size += 2 +
-        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::UInt64Size(
-          this->_internal_control_state());
-    }
-
-  }
-  if (cached_has_bits & 0xff000000u) {
-    // bool user_interaction_enabled = 23;
-    if (cached_has_bits & 0x01000000u) {
-      total_size += 2 + 1;
-    }
-
-    // bool multiple_touch_enabled = 24;
-    if (cached_has_bits & 0x02000000u) {
-      total_size += 2 + 1;
-    }
-
-    // bool exclusive_touch = 25;
-    if (cached_has_bits & 0x04000000u) {
-      total_size += 2 + 1;
-    }
-
-    // bool enabled = 29;
-    if (cached_has_bits & 0x08000000u) {
-      total_size += 2 + 1;
-    }
-
-    // bool selected = 30;
-    if (cached_has_bits & 0x10000000u) {
-      total_size += 2 + 1;
-    }
-
-    // bool highlighted = 31;
-    if (cached_has_bits & 0x20000000u) {
-      total_size += 2 + 1;
-    }
-
-    // bool on = 34;
-    if (cached_has_bits & 0x40000000u) {
-      total_size += 2 + 1;
-    }
-
-    // float value = 35;
-    if (cached_has_bits & 0x80000000u) {
-      total_size += 2 + 4;
-    }
-
-  }
-  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
-    return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize(
-        _internal_metadata_, total_size, &_cached_size_);
-  }
-  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
-  SetCachedSize(cached_size);
-  return total_size;
+bool UIElement::has_exclusive_touch() const {
+  return has_exclusive_touch_;
 }
-
-void UIElement::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
-// @@protoc_insertion_point(generalized_merge_from_start:gtxilib.oopclasses.protos.UIElement)
-  GOOGLE_DCHECK_NE(&from, this);
-  const UIElement* source =
-      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<UIElement>(
-          &from);
-  if (source == nullptr) {
-  // @@protoc_insertion_point(generalized_merge_from_cast_fail:gtxilib.oopclasses.protos.UIElement)
-    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
-  } else {
-  // @@protoc_insertion_point(generalized_merge_from_cast_success:gtxilib.oopclasses.protos.UIElement)
-    MergeFrom(*source);
-  }
+void UIElement::clear_exclusive_touch() {
+  exclusive_touch_ = bool();
+  has_exclusive_touch_ = false;
 }
-
-void UIElement::MergeFrom(const UIElement& from) {
-// @@protoc_insertion_point(class_specific_merge_from_start:gtxilib.oopclasses.protos.UIElement)
-  GOOGLE_DCHECK_NE(&from, this);
-  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
-  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
-  (void) cached_has_bits;
-
-  child_ids_.MergeFrom(from.child_ids_);
-  class_names_hierarchy_.MergeFrom(from.class_names_hierarchy_);
-  cached_has_bits = from._has_bits_[0];
-  if (cached_has_bits & 0x000000ffu) {
-    if (cached_has_bits & 0x00000001u) {
-      _internal_set_ax_label(from._internal_ax_label());
-    }
-    if (cached_has_bits & 0x00000002u) {
-      _internal_set_ax_hint(from._internal_ax_hint());
-    }
-    if (cached_has_bits & 0x00000004u) {
-      _internal_set_ax_identifier(from._internal_ax_identifier());
-    }
-    if (cached_has_bits & 0x00000008u) {
-      _internal_set_title(from._internal_title());
-    }
-    if (cached_has_bits & 0x00000010u) {
-      _internal_set_text(from._internal_text());
-    }
-    if (cached_has_bits & 0x00000020u) {
-      _internal_mutable_ax_frame()->::gtxilib::oopclasses::protos::Rect::MergeFrom(from._internal_ax_frame());
-    }
-    if (cached_has_bits & 0x00000040u) {
-      _internal_mutable_background_color()->::gtxilib::oopclasses::protos::Color::MergeFrom(from._internal_background_color());
-    }
-    if (cached_has_bits & 0x00000080u) {
-      _internal_mutable_tint_color()->::gtxilib::oopclasses::protos::Color::MergeFrom(from._internal_tint_color());
-    }
-  }
-  if (cached_has_bits & 0x0000ff00u) {
-    if (cached_has_bits & 0x00000100u) {
-      _internal_mutable_frame()->::gtxilib::oopclasses::protos::Rect::MergeFrom(from._internal_frame());
-    }
-    if (cached_has_bits & 0x00000200u) {
-      _internal_mutable_bounds()->::gtxilib::oopclasses::protos::Rect::MergeFrom(from._internal_bounds());
-    }
-    if (cached_has_bits & 0x00000400u) {
-      id_ = from.id_;
-    }
-    if (cached_has_bits & 0x00000800u) {
-      parent_id_ = from.parent_id_;
-    }
-    if (cached_has_bits & 0x00001000u) {
-      ax_traits_ = from.ax_traits_;
-    }
-    if (cached_has_bits & 0x00002000u) {
-      is_ax_element_ = from.is_ax_element_;
-    }
-    if (cached_has_bits & 0x00004000u) {
-      hittable_ = from.hittable_;
-    }
-    if (cached_has_bits & 0x00008000u) {
-      exists_ = from.exists_;
-    }
-    _has_bits_[0] |= cached_has_bits;
-  }
-  if (cached_has_bits & 0x00ff0000u) {
-    if (cached_has_bits & 0x00010000u) {
-      xc_selected_ = from.xc_selected_;
-    }
-    if (cached_has_bits & 0x00020000u) {
-      element_type_ = from.element_type_;
-    }
-    if (cached_has_bits & 0x00040000u) {
-      alpha_ = from.alpha_;
-    }
-    if (cached_has_bits & 0x00080000u) {
-      xc_enabled_ = from.xc_enabled_;
-    }
-    if (cached_has_bits & 0x00100000u) {
-      hidden_ = from.hidden_;
-    }
-    if (cached_has_bits & 0x00200000u) {
-      opaque_ = from.opaque_;
-    }
-    if (cached_has_bits & 0x00400000u) {
-      clips_to_bounds_ = from.clips_to_bounds_;
-    }
-    if (cached_has_bits & 0x00800000u) {
-      control_state_ = from.control_state_;
-    }
-    _has_bits_[0] |= cached_has_bits;
-  }
-  if (cached_has_bits & 0xff000000u) {
-    if (cached_has_bits & 0x01000000u) {
-      user_interaction_enabled_ = from.user_interaction_enabled_;
-    }
-    if (cached_has_bits & 0x02000000u) {
-      multiple_touch_enabled_ = from.multiple_touch_enabled_;
-    }
-    if (cached_has_bits & 0x04000000u) {
-      exclusive_touch_ = from.exclusive_touch_;
-    }
-    if (cached_has_bits & 0x08000000u) {
-      enabled_ = from.enabled_;
-    }
-    if (cached_has_bits & 0x10000000u) {
-      selected_ = from.selected_;
-    }
-    if (cached_has_bits & 0x20000000u) {
-      highlighted_ = from.highlighted_;
-    }
-    if (cached_has_bits & 0x40000000u) {
-      on_ = from.on_;
-    }
-    if (cached_has_bits & 0x80000000u) {
-      value_ = from.value_;
-    }
-    _has_bits_[0] |= cached_has_bits;
-  }
+void UIElement::set_exclusive_touch(bool new_exclusive_touch) {
+  exclusive_touch_ = new_exclusive_touch;
+  has_exclusive_touch_ = true;
 }
-
-void UIElement::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
-// @@protoc_insertion_point(generalized_copy_from_start:gtxilib.oopclasses.protos.UIElement)
-  if (&from == this) return;
-  Clear();
-  MergeFrom(from);
+bool* UIElement::mutable_exclusive_touch() {
+  has_exclusive_touch_ = true;
+  return &exclusive_touch_;
 }
 
-void UIElement::CopyFrom(const UIElement& from) {
-// @@protoc_insertion_point(class_specific_copy_from_start:gtxilib.oopclasses.protos.UIElement)
-  if (&from == this) return;
-  Clear();
-  MergeFrom(from);
+const Rect& UIElement::frame() const {
+  return frame_;
 }
-
-bool UIElement::IsInitialized() const {
-  return true;
+bool UIElement::has_frame() const {
+  return has_frame_;
 }
-
-void UIElement::InternalSwap(UIElement* other) {
-  using std::swap;
-  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
-  swap(_has_bits_[0], other->_has_bits_[0]);
-  child_ids_.InternalSwap(&other->child_ids_);
-  class_names_hierarchy_.InternalSwap(&other->class_names_hierarchy_);
-  ax_label_.Swap(&other->ax_label_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
-  ax_hint_.Swap(&other->ax_hint_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
-  ax_identifier_.Swap(&other->ax_identifier_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
-  title_.Swap(&other->title_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
-  text_.Swap(&other->text_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
-  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
-      PROTOBUF_FIELD_OFFSET(UIElement, value_)
-      + sizeof(UIElement::value_)
-      - PROTOBUF_FIELD_OFFSET(UIElement, ax_frame_)>(
-          reinterpret_cast<char*>(&ax_frame_),
-          reinterpret_cast<char*>(&other->ax_frame_));
+void UIElement::clear_frame() {
+  frame_ = Rect();
+  has_frame_ = false;
 }
-
-::PROTOBUF_NAMESPACE_ID::Metadata UIElement::GetMetadata() const {
-  return GetMetadataStatic();
+void UIElement::set_frame(const Rect& new_frame) {
+  frame_ = new_frame;
+  has_frame_ = true;
 }
-
-
-// ===================================================================
-
-void DeviceState::InitAsDefaultInstance() {
-  ::gtxilib::oopclasses::protos::_DeviceState_default_instance_._instance.get_mutable()->display_metrics_ = const_cast< ::gtxilib::oopclasses::protos::DisplayMetrics*>(
-      ::gtxilib::oopclasses::protos::DisplayMetrics::internal_default_instance());
+Rect* UIElement::mutable_frame() {
+  has_frame_ = true;
+  return &frame_;
 }
-class DeviceState::_Internal {
- public:
-  using HasBits = decltype(std::declval<DeviceState>()._has_bits_);
-  static const ::gtxilib::oopclasses::protos::DisplayMetrics& display_metrics(const DeviceState* msg);
-  static void set_has_display_metrics(HasBits* has_bits) {
-    (*has_bits)[0] |= 2u;
-  }
-  static void set_has_ios_version(HasBits* has_bits) {
-    (*has_bits)[0] |= 1u;
-  }
-};
 
-const ::gtxilib::oopclasses::protos::DisplayMetrics&
-DeviceState::_Internal::display_metrics(const DeviceState* msg) {
-  return *msg->display_metrics_;
+const Rect& UIElement::bounds() const {
+  return bounds_;
 }
-DeviceState::DeviceState(::PROTOBUF_NAMESPACE_ID::Arena* arena)
-  : ::PROTOBUF_NAMESPACE_ID::Message(arena) {
-  SharedCtor();
-  RegisterArenaDtor(arena);
-  // @@protoc_insertion_point(arena_constructor:gtxilib.oopclasses.protos.DeviceState)
+bool UIElement::has_bounds() const {
+  return has_bounds_;
 }
-DeviceState::DeviceState(const DeviceState& from)
-  : ::PROTOBUF_NAMESPACE_ID::Message(),
-      _has_bits_(from._has_bits_) {
-  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
-  ios_version_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
-  if (from._internal_has_ios_version()) {
-    ios_version_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), from._internal_ios_version(),
-      GetArena());
-  }
-  if (from._internal_has_display_metrics()) {
-    display_metrics_ = new ::gtxilib::oopclasses::protos::DisplayMetrics(*from.display_metrics_);
-  } else {
-    display_metrics_ = nullptr;
-  }
-  // @@protoc_insertion_point(copy_constructor:gtxilib.oopclasses.protos.DeviceState)
+void UIElement::clear_bounds() {
+  bounds_ = Rect();
+  has_bounds_ = false;
 }
-
-void DeviceState::SharedCtor() {
-  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_DeviceState_gtx_2eproto.base);
-  ios_version_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
-  display_metrics_ = nullptr;
+void UIElement::set_bounds(const Rect& new_bounds) {
+  bounds_ = new_bounds;
+  has_bounds_ = true;
 }
-
-DeviceState::~DeviceState() {
-  // @@protoc_insertion_point(destructor:gtxilib.oopclasses.protos.DeviceState)
-  SharedDtor();
-  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
+Rect* UIElement::mutable_bounds() {
+  has_bounds_ = true;
+  return &bounds_;
 }
 
-void DeviceState::SharedDtor() {
-  GOOGLE_DCHECK(GetArena() == nullptr);
-  ios_version_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
-  if (this != internal_default_instance()) delete display_metrics_;
+uint64_t UIElement::control_state() const {
+  return control_state_;
 }
-
-void DeviceState::ArenaDtor(void* object) {
-  DeviceState* _this = reinterpret_cast< DeviceState* >(object);
-  (void)_this;
+bool UIElement::has_control_state() const {
+  return has_control_state_;
 }
-void DeviceState::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
+void UIElement::clear_control_state() {
+  control_state_ = uint64_t();
+  has_control_state_ = false;
 }
-void DeviceState::SetCachedSize(int size) const {
-  _cached_size_.Set(size);
+void UIElement::set_control_state(uint64_t new_control_state) {
+  control_state_ = new_control_state;
+  has_control_state_ = true;
 }
-const DeviceState& DeviceState::default_instance() {
-  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_DeviceState_gtx_2eproto.base);
-  return *internal_default_instance();
+uint64_t* UIElement::mutable_control_state() {
+  has_control_state_ = true;
+  return &control_state_;
 }
 
-
-void DeviceState::Clear() {
-// @@protoc_insertion_point(message_clear_start:gtxilib.oopclasses.protos.DeviceState)
-  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
-  // Prevent compiler warnings about cached_has_bits being unused
-  (void) cached_has_bits;
-
-  cached_has_bits = _has_bits_[0];
-  if (cached_has_bits & 0x00000003u) {
-    if (cached_has_bits & 0x00000001u) {
-      ios_version_.ClearNonDefaultToEmpty();
-    }
-    if (cached_has_bits & 0x00000002u) {
-      if (GetArena() == nullptr && display_metrics_ != nullptr) {
-        delete display_metrics_;
-      }
-      display_metrics_ = nullptr;
-    }
-  }
-  _has_bits_.Clear();
-  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
+bool UIElement::enabled() const {
+  return enabled_;
 }
-
-const char* DeviceState::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
-#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
-  _Internal::HasBits has_bits{};
-  ::PROTOBUF_NAMESPACE_ID::Arena* arena = GetArena(); (void)arena;
-  while (!ctx->Done(&ptr)) {
-    ::PROTOBUF_NAMESPACE_ID::uint32 tag;
-    ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
-    CHK_(ptr);
-    switch (tag >> 3) {
-      // .gtxilib.oopclasses.protos.DisplayMetrics display_metrics = 1;
-      case 1:
-        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
-          ptr = ctx->ParseMessage(_internal_mutable_display_metrics(), ptr);
-          CHK_(ptr);
-        } else goto handle_unusual;
-        continue;
-      // string ios_version = 2;
-      case 2:
-        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) {
-          auto str = _internal_mutable_ios_version();
-          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
-          CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "gtxilib.oopclasses.protos.DeviceState.ios_version"));
-          CHK_(ptr);
-        } else goto handle_unusual;
-        continue;
-      default: {
-      handle_unusual:
-        if ((tag & 7) == 4 || tag == 0) {
-          ctx->SetLastTag(tag);
-          goto success;
-        }
-        ptr = UnknownFieldParse(tag,
-            _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
-            ptr, ctx);
-        CHK_(ptr != nullptr);
-        continue;
-      }
-    }  // switch
-  }  // while
-success:
-  _has_bits_.Or(has_bits);
-  return ptr;
-failure:
-  ptr = nullptr;
-  goto success;
-#undef CHK_
+bool UIElement::has_enabled() const {
+  return has_enabled_;
+}
+void UIElement::clear_enabled() {
+  enabled_ = bool();
+  has_enabled_ = false;
+}
+void UIElement::set_enabled(bool new_enabled) {
+  enabled_ = new_enabled;
+  has_enabled_ = true;
+}
+bool* UIElement::mutable_enabled() {
+  has_enabled_ = true;
+  return &enabled_;
 }
 
-::PROTOBUF_NAMESPACE_ID::uint8* DeviceState::_InternalSerialize(
-    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
-  // @@protoc_insertion_point(serialize_to_array_start:gtxilib.oopclasses.protos.DeviceState)
-  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
-  (void) cached_has_bits;
-
-  // .gtxilib.oopclasses.protos.DisplayMetrics display_metrics = 1;
-  if (_internal_has_display_metrics()) {
-    target = stream->EnsureSpace(target);
-    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
-      InternalWriteMessage(
-        1, _Internal::display_metrics(this), target, stream);
-  }
-
-  // string ios_version = 2;
-  if (_internal_has_ios_version()) {
-    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
-      this->_internal_ios_version().data(), static_cast<int>(this->_internal_ios_version().length()),
-      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
-      "gtxilib.oopclasses.protos.DeviceState.ios_version");
-    target = stream->WriteStringMaybeAliased(
-        2, this->_internal_ios_version(), target);
-  }
-
-  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
-    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
-        _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
-  }
-  // @@protoc_insertion_point(serialize_to_array_end:gtxilib.oopclasses.protos.DeviceState)
-  return target;
+bool UIElement::selected() const {
+  return selected_;
 }
-
-size_t DeviceState::ByteSizeLong() const {
-// @@protoc_insertion_point(message_byte_size_start:gtxilib.oopclasses.protos.DeviceState)
-  size_t total_size = 0;
-
-  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
-  // Prevent compiler warnings about cached_has_bits being unused
-  (void) cached_has_bits;
-
-  cached_has_bits = _has_bits_[0];
-  if (cached_has_bits & 0x00000003u) {
-    // string ios_version = 2;
-    if (cached_has_bits & 0x00000001u) {
-      total_size += 1 +
-        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
-          this->_internal_ios_version());
-    }
-
-    // .gtxilib.oopclasses.protos.DisplayMetrics display_metrics = 1;
-    if (cached_has_bits & 0x00000002u) {
-      total_size += 1 +
-        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
-          *display_metrics_);
-    }
-
-  }
-  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
-    return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize(
-        _internal_metadata_, total_size, &_cached_size_);
-  }
-  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
-  SetCachedSize(cached_size);
-  return total_size;
+bool UIElement::has_selected() const {
+  return has_selected_;
 }
-
-void DeviceState::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
-// @@protoc_insertion_point(generalized_merge_from_start:gtxilib.oopclasses.protos.DeviceState)
-  GOOGLE_DCHECK_NE(&from, this);
-  const DeviceState* source =
-      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<DeviceState>(
-          &from);
-  if (source == nullptr) {
-  // @@protoc_insertion_point(generalized_merge_from_cast_fail:gtxilib.oopclasses.protos.DeviceState)
-    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
-  } else {
-  // @@protoc_insertion_point(generalized_merge_from_cast_success:gtxilib.oopclasses.protos.DeviceState)
-    MergeFrom(*source);
-  }
+void UIElement::clear_selected() {
+  selected_ = bool();
+  has_selected_ = false;
 }
-
-void DeviceState::MergeFrom(const DeviceState& from) {
-// @@protoc_insertion_point(class_specific_merge_from_start:gtxilib.oopclasses.protos.DeviceState)
-  GOOGLE_DCHECK_NE(&from, this);
-  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
-  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
-  (void) cached_has_bits;
-
-  cached_has_bits = from._has_bits_[0];
-  if (cached_has_bits & 0x00000003u) {
-    if (cached_has_bits & 0x00000001u) {
-      _internal_set_ios_version(from._internal_ios_version());
-    }
-    if (cached_has_bits & 0x00000002u) {
-      _internal_mutable_display_metrics()->::gtxilib::oopclasses::protos::DisplayMetrics::MergeFrom(from._internal_display_metrics());
-    }
-  }
+void UIElement::set_selected(bool new_selected) {
+  selected_ = new_selected;
+  has_selected_ = true;
 }
-
-void DeviceState::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
-// @@protoc_insertion_point(generalized_copy_from_start:gtxilib.oopclasses.protos.DeviceState)
-  if (&from == this) return;
-  Clear();
-  MergeFrom(from);
+bool* UIElement::mutable_selected() {
+  has_selected_ = true;
+  return &selected_;
 }
 
-void DeviceState::CopyFrom(const DeviceState& from) {
-// @@protoc_insertion_point(class_specific_copy_from_start:gtxilib.oopclasses.protos.DeviceState)
-  if (&from == this) return;
-  Clear();
-  MergeFrom(from);
+bool UIElement::highlighted() const {
+  return highlighted_;
 }
-
-bool DeviceState::IsInitialized() const {
-  return true;
+bool UIElement::has_highlighted() const {
+  return has_highlighted_;
 }
-
-void DeviceState::InternalSwap(DeviceState* other) {
-  using std::swap;
-  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
-  swap(_has_bits_[0], other->_has_bits_[0]);
-  ios_version_.Swap(&other->ios_version_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
-  swap(display_metrics_, other->display_metrics_);
+void UIElement::clear_highlighted() {
+  highlighted_ = bool();
+  has_highlighted_ = false;
 }
-
-::PROTOBUF_NAMESPACE_ID::Metadata DeviceState::GetMetadata() const {
-  return GetMetadataStatic();
+void UIElement::set_highlighted(bool new_highlighted) {
+  highlighted_ = new_highlighted;
+  has_highlighted_ = true;
 }
-
-
-// ===================================================================
-
-void DisplayMetrics::InitAsDefaultInstance() {
+bool* UIElement::mutable_highlighted() {
+  has_highlighted_ = true;
+  return &highlighted_;
 }
-class DisplayMetrics::_Internal {
- public:
-  using HasBits = decltype(std::declval<DisplayMetrics>()._has_bits_);
-  static void set_has_screen_width(HasBits* has_bits) {
-    (*has_bits)[0] |= 1u;
-  }
-  static void set_has_screen_height(HasBits* has_bits) {
-    (*has_bits)[0] |= 2u;
-  }
-  static void set_has_screen_scale(HasBits* has_bits) {
-    (*has_bits)[0] |= 4u;
-  }
-};
 
-DisplayMetrics::DisplayMetrics(::PROTOBUF_NAMESPACE_ID::Arena* arena)
-  : ::PROTOBUF_NAMESPACE_ID::Message(arena) {
-  SharedCtor();
-  RegisterArenaDtor(arena);
-  // @@protoc_insertion_point(arena_constructor:gtxilib.oopclasses.protos.DisplayMetrics)
+std::string UIElement::title() const {
+  return title_;
 }
-DisplayMetrics::DisplayMetrics(const DisplayMetrics& from)
-  : ::PROTOBUF_NAMESPACE_ID::Message(),
-      _has_bits_(from._has_bits_) {
-  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
-  ::memcpy(&screen_width_, &from.screen_width_,
-    static_cast<size_t>(reinterpret_cast<char*>(&screen_scale_) -
-    reinterpret_cast<char*>(&screen_width_)) + sizeof(screen_scale_));
-  // @@protoc_insertion_point(copy_constructor:gtxilib.oopclasses.protos.DisplayMetrics)
+bool UIElement::has_title() const {
+  return has_title_;
 }
-
-void DisplayMetrics::SharedCtor() {
-  ::memset(&screen_width_, 0, static_cast<size_t>(
-      reinterpret_cast<char*>(&screen_scale_) -
-      reinterpret_cast<char*>(&screen_width_)) + sizeof(screen_scale_));
+void UIElement::clear_title() {
+  title_ = std::string();
+  has_title_ = false;
 }
-
-DisplayMetrics::~DisplayMetrics() {
-  // @@protoc_insertion_point(destructor:gtxilib.oopclasses.protos.DisplayMetrics)
-  SharedDtor();
-  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
+void UIElement::set_title(std::string new_title) {
+  title_ = new_title;
+  has_title_ = true;
 }
-
-void DisplayMetrics::SharedDtor() {
-  GOOGLE_DCHECK(GetArena() == nullptr);
+std::string* UIElement::mutable_title() {
+  has_title_ = true;
+  return &title_;
 }
 
-void DisplayMetrics::ArenaDtor(void* object) {
-  DisplayMetrics* _this = reinterpret_cast< DisplayMetrics* >(object);
-  (void)_this;
+std::string UIElement::text() const {
+  return text_;
 }
-void DisplayMetrics::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
+bool UIElement::has_text() const {
+  return has_text_;
 }
-void DisplayMetrics::SetCachedSize(int size) const {
-  _cached_size_.Set(size);
+void UIElement::clear_text() {
+  text_ = std::string();
+  has_text_ = false;
 }
-const DisplayMetrics& DisplayMetrics::default_instance() {
-  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_DisplayMetrics_gtx_2eproto.base);
-  return *internal_default_instance();
+void UIElement::set_text(std::string new_text) {
+  text_ = new_text;
+  has_text_ = true;
 }
-
-
-void DisplayMetrics::Clear() {
-// @@protoc_insertion_point(message_clear_start:gtxilib.oopclasses.protos.DisplayMetrics)
-  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
-  // Prevent compiler warnings about cached_has_bits being unused
-  (void) cached_has_bits;
-
-  cached_has_bits = _has_bits_[0];
-  if (cached_has_bits & 0x00000007u) {
-    ::memset(&screen_width_, 0, static_cast<size_t>(
-        reinterpret_cast<char*>(&screen_scale_) -
-        reinterpret_cast<char*>(&screen_width_)) + sizeof(screen_scale_));
-  }
-  _has_bits_.Clear();
-  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
+std::string* UIElement::mutable_text() {
+  has_text_ = true;
+  return &text_;
 }
 
-const char* DisplayMetrics::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
-#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
-  _Internal::HasBits has_bits{};
-  ::PROTOBUF_NAMESPACE_ID::Arena* arena = GetArena(); (void)arena;
-  while (!ctx->Done(&ptr)) {
-    ::PROTOBUF_NAMESPACE_ID::uint32 tag;
-    ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
-    CHK_(ptr);
-    switch (tag >> 3) {
-      // int32 screen_width = 1;
-      case 1:
-        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 8)) {
-          _Internal::set_has_screen_width(&has_bits);
-          screen_width_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
-          CHK_(ptr);
-        } else goto handle_unusual;
-        continue;
-      // int32 screen_height = 2;
-      case 2:
-        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 16)) {
-          _Internal::set_has_screen_height(&has_bits);
-          screen_height_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
-          CHK_(ptr);
-        } else goto handle_unusual;
-        continue;
-      // float screen_scale = 3;
-      case 3:
-        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 29)) {
-          _Internal::set_has_screen_scale(&has_bits);
-          screen_scale_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<float>(ptr);
-          ptr += sizeof(float);
-        } else goto handle_unusual;
-        continue;
-      default: {
-      handle_unusual:
-        if ((tag & 7) == 4 || tag == 0) {
-          ctx->SetLastTag(tag);
-          goto success;
-        }
-        ptr = UnknownFieldParse(tag,
-            _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
-            ptr, ctx);
-        CHK_(ptr != nullptr);
-        continue;
-      }
-    }  // switch
-  }  // while
-success:
-  _has_bits_.Or(has_bits);
-  return ptr;
-failure:
-  ptr = nullptr;
-  goto success;
-#undef CHK_
+bool UIElement::on() const {
+  return on_;
 }
-
-::PROTOBUF_NAMESPACE_ID::uint8* DisplayMetrics::_InternalSerialize(
-    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
-  // @@protoc_insertion_point(serialize_to_array_start:gtxilib.oopclasses.protos.DisplayMetrics)
-  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
-  (void) cached_has_bits;
-
-  // int32 screen_width = 1;
-  if (_internal_has_screen_width()) {
-    target = stream->EnsureSpace(target);
-    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(1, this->_internal_screen_width(), target);
-  }
-
-  // int32 screen_height = 2;
-  if (_internal_has_screen_height()) {
-    target = stream->EnsureSpace(target);
-    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(2, this->_internal_screen_height(), target);
-  }
-
-  // float screen_scale = 3;
-  if (_internal_has_screen_scale()) {
-    target = stream->EnsureSpace(target);
-    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteFloatToArray(3, this->_internal_screen_scale(), target);
-  }
-
-  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
-    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
-        _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
-  }
-  // @@protoc_insertion_point(serialize_to_array_end:gtxilib.oopclasses.protos.DisplayMetrics)
-  return target;
+bool UIElement::has_on() const {
+  return has_on_;
 }
-
-size_t DisplayMetrics::ByteSizeLong() const {
-// @@protoc_insertion_point(message_byte_size_start:gtxilib.oopclasses.protos.DisplayMetrics)
-  size_t total_size = 0;
-
-  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
-  // Prevent compiler warnings about cached_has_bits being unused
-  (void) cached_has_bits;
-
-  cached_has_bits = _has_bits_[0];
-  if (cached_has_bits & 0x00000007u) {
-    // int32 screen_width = 1;
-    if (cached_has_bits & 0x00000001u) {
-      total_size += 1 +
-        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
-          this->_internal_screen_width());
-    }
-
-    // int32 screen_height = 2;
-    if (cached_has_bits & 0x00000002u) {
-      total_size += 1 +
-        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
-          this->_internal_screen_height());
-    }
-
-    // float screen_scale = 3;
-    if (cached_has_bits & 0x00000004u) {
-      total_size += 1 + 4;
-    }
-
-  }
-  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
-    return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize(
-        _internal_metadata_, total_size, &_cached_size_);
-  }
-  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
-  SetCachedSize(cached_size);
-  return total_size;
+void UIElement::clear_on() {
+  on_ = bool();
+  has_on_ = false;
 }
-
-void DisplayMetrics::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
-// @@protoc_insertion_point(generalized_merge_from_start:gtxilib.oopclasses.protos.DisplayMetrics)
-  GOOGLE_DCHECK_NE(&from, this);
-  const DisplayMetrics* source =
-      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<DisplayMetrics>(
-          &from);
-  if (source == nullptr) {
-  // @@protoc_insertion_point(generalized_merge_from_cast_fail:gtxilib.oopclasses.protos.DisplayMetrics)
-    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
-  } else {
-  // @@protoc_insertion_point(generalized_merge_from_cast_success:gtxilib.oopclasses.protos.DisplayMetrics)
-    MergeFrom(*source);
-  }
+void UIElement::set_on(bool new_on) {
+  on_ = new_on;
+  has_on_ = true;
 }
-
-void DisplayMetrics::MergeFrom(const DisplayMetrics& from) {
-// @@protoc_insertion_point(class_specific_merge_from_start:gtxilib.oopclasses.protos.DisplayMetrics)
-  GOOGLE_DCHECK_NE(&from, this);
-  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
-  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
-  (void) cached_has_bits;
-
-  cached_has_bits = from._has_bits_[0];
-  if (cached_has_bits & 0x00000007u) {
-    if (cached_has_bits & 0x00000001u) {
-      screen_width_ = from.screen_width_;
-    }
-    if (cached_has_bits & 0x00000002u) {
-      screen_height_ = from.screen_height_;
-    }
-    if (cached_has_bits & 0x00000004u) {
-      screen_scale_ = from.screen_scale_;
-    }
-    _has_bits_[0] |= cached_has_bits;
-  }
+bool* UIElement::mutable_on() {
+  has_on_ = true;
+  return &on_;
 }
 
-void DisplayMetrics::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
-// @@protoc_insertion_point(generalized_copy_from_start:gtxilib.oopclasses.protos.DisplayMetrics)
-  if (&from == this) return;
-  Clear();
-  MergeFrom(from);
+float UIElement::value() const {
+  return value_;
 }
-
-void DisplayMetrics::CopyFrom(const DisplayMetrics& from) {
-// @@protoc_insertion_point(class_specific_copy_from_start:gtxilib.oopclasses.protos.DisplayMetrics)
-  if (&from == this) return;
-  Clear();
-  MergeFrom(from);
+bool UIElement::has_value() const {
+  return has_value_;
 }
-
-bool DisplayMetrics::IsInitialized() const {
-  return true;
+void UIElement::clear_value() {
+  value_ = float();
+  has_value_ = false;
 }
-
-void DisplayMetrics::InternalSwap(DisplayMetrics* other) {
-  using std::swap;
-  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
-  swap(_has_bits_[0], other->_has_bits_[0]);
-  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
-      PROTOBUF_FIELD_OFFSET(DisplayMetrics, screen_scale_)
-      + sizeof(DisplayMetrics::screen_scale_)
-      - PROTOBUF_FIELD_OFFSET(DisplayMetrics, screen_width_)>(
-          reinterpret_cast<char*>(&screen_width_),
-          reinterpret_cast<char*>(&other->screen_width_));
+void UIElement::set_value(float new_value) {
+  value_ = new_value;
+  has_value_ = true;
 }
-
-::PROTOBUF_NAMESPACE_ID::Metadata DisplayMetrics::GetMetadata() const {
-  return GetMetadataStatic();
+float* UIElement::mutable_value() {
+  has_value_ = true;
+  return &value_;
 }
 
 
-// ===================================================================
-
-void AccessibilityHierarchy::InitAsDefaultInstance() {
-  ::gtxilib::oopclasses::protos::_AccessibilityHierarchy_default_instance_._instance.get_mutable()->device_state_ = const_cast< ::gtxilib::oopclasses::protos::DeviceState*>(
-      ::gtxilib::oopclasses::protos::DeviceState::internal_default_instance());
+int32_t DisplayMetrics::screen_width() const {
+  return screen_width_;
+}
+bool DisplayMetrics::has_screen_width() const {
+  return has_screen_width_;
+}
+void DisplayMetrics::clear_screen_width() {
+  screen_width_ = int32_t();
+  has_screen_width_ = false;
+}
+void DisplayMetrics::set_screen_width(int32_t new_screen_width) {
+  screen_width_ = new_screen_width;
+  has_screen_width_ = true;
+}
+int32_t* DisplayMetrics::mutable_screen_width() {
+  has_screen_width_ = true;
+  return &screen_width_;
 }
-class AccessibilityHierarchy::_Internal {
- public:
-  using HasBits = decltype(std::declval<AccessibilityHierarchy>()._has_bits_);
-  static const ::gtxilib::oopclasses::protos::DeviceState& device_state(const AccessibilityHierarchy* msg);
-  static void set_has_device_state(HasBits* has_bits) {
-    (*has_bits)[0] |= 1u;
-  }
-};
 
-const ::gtxilib::oopclasses::protos::DeviceState&
-AccessibilityHierarchy::_Internal::device_state(const AccessibilityHierarchy* msg) {
-  return *msg->device_state_;
+int32_t DisplayMetrics::screen_height() const {
+  return screen_height_;
 }
-AccessibilityHierarchy::AccessibilityHierarchy(::PROTOBUF_NAMESPACE_ID::Arena* arena)
-  : ::PROTOBUF_NAMESPACE_ID::Message(arena),
-  elements_(arena) {
-  SharedCtor();
-  RegisterArenaDtor(arena);
-  // @@protoc_insertion_point(arena_constructor:gtxilib.oopclasses.protos.AccessibilityHierarchy)
+bool DisplayMetrics::has_screen_height() const {
+  return has_screen_height_;
 }
-AccessibilityHierarchy::AccessibilityHierarchy(const AccessibilityHierarchy& from)
-  : ::PROTOBUF_NAMESPACE_ID::Message(),
-      _has_bits_(from._has_bits_),
-      elements_(from.elements_) {
-  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
-  if (from._internal_has_device_state()) {
-    device_state_ = new ::gtxilib::oopclasses::protos::DeviceState(*from.device_state_);
-  } else {
-    device_state_ = nullptr;
-  }
-  // @@protoc_insertion_point(copy_constructor:gtxilib.oopclasses.protos.AccessibilityHierarchy)
+void DisplayMetrics::clear_screen_height() {
+  screen_height_ = int32_t();
+  has_screen_height_ = false;
 }
-
-void AccessibilityHierarchy::SharedCtor() {
-  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_AccessibilityHierarchy_gtx_2eproto.base);
-  device_state_ = nullptr;
+void DisplayMetrics::set_screen_height(int32_t new_screen_height) {
+  screen_height_ = new_screen_height;
+  has_screen_height_ = true;
 }
-
-AccessibilityHierarchy::~AccessibilityHierarchy() {
-  // @@protoc_insertion_point(destructor:gtxilib.oopclasses.protos.AccessibilityHierarchy)
-  SharedDtor();
-  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
+int32_t* DisplayMetrics::mutable_screen_height() {
+  has_screen_height_ = true;
+  return &screen_height_;
 }
 
-void AccessibilityHierarchy::SharedDtor() {
-  GOOGLE_DCHECK(GetArena() == nullptr);
-  if (this != internal_default_instance()) delete device_state_;
+float DisplayMetrics::screen_scale() const {
+  return screen_scale_;
 }
-
-void AccessibilityHierarchy::ArenaDtor(void* object) {
-  AccessibilityHierarchy* _this = reinterpret_cast< AccessibilityHierarchy* >(object);
-  (void)_this;
+bool DisplayMetrics::has_screen_scale() const {
+  return has_screen_scale_;
 }
-void AccessibilityHierarchy::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
+void DisplayMetrics::clear_screen_scale() {
+  screen_scale_ = float();
+  has_screen_scale_ = false;
 }
-void AccessibilityHierarchy::SetCachedSize(int size) const {
-  _cached_size_.Set(size);
+void DisplayMetrics::set_screen_scale(float new_screen_scale) {
+  screen_scale_ = new_screen_scale;
+  has_screen_scale_ = true;
 }
-const AccessibilityHierarchy& AccessibilityHierarchy::default_instance() {
-  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_AccessibilityHierarchy_gtx_2eproto.base);
-  return *internal_default_instance();
+float* DisplayMetrics::mutable_screen_scale() {
+  has_screen_scale_ = true;
+  return &screen_scale_;
 }
 
 
-void AccessibilityHierarchy::Clear() {
-// @@protoc_insertion_point(message_clear_start:gtxilib.oopclasses.protos.AccessibilityHierarchy)
-  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
-  // Prevent compiler warnings about cached_has_bits being unused
-  (void) cached_has_bits;
+const DisplayMetrics& DeviceState::display_metrics() const {
+  return display_metrics_;
+}
+bool DeviceState::has_display_metrics() const {
+  return has_display_metrics_;
+}
+void DeviceState::clear_display_metrics() {
+  display_metrics_ = DisplayMetrics();
+  has_display_metrics_ = false;
+}
+void DeviceState::set_display_metrics(const DisplayMetrics& new_display_metrics) {
+  display_metrics_ = new_display_metrics;
+  has_display_metrics_ = true;
+}
+DisplayMetrics* DeviceState::mutable_display_metrics() {
+  has_display_metrics_ = true;
+  return &display_metrics_;
+}
 
-  elements_.Clear();
-  cached_has_bits = _has_bits_[0];
-  if (cached_has_bits & 0x00000001u) {
-    if (GetArena() == nullptr && device_state_ != nullptr) {
-      delete device_state_;
-    }
-    device_state_ = nullptr;
-  }
-  _has_bits_.Clear();
-  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
+std::string DeviceState::ios_version() const {
+  return ios_version_;
 }
-
-const char* AccessibilityHierarchy::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
-#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
-  _Internal::HasBits has_bits{};
-  ::PROTOBUF_NAMESPACE_ID::Arena* arena = GetArena(); (void)arena;
-  while (!ctx->Done(&ptr)) {
-    ::PROTOBUF_NAMESPACE_ID::uint32 tag;
-    ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
-    CHK_(ptr);
-    switch (tag >> 3) {
-      // .gtxilib.oopclasses.protos.DeviceState device_state = 1;
-      case 1:
-        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
-          ptr = ctx->ParseMessage(_internal_mutable_device_state(), ptr);
-          CHK_(ptr);
-        } else goto handle_unusual;
-        continue;
-      // repeated .gtxilib.oopclasses.protos.UIElement elements = 2;
-      case 2:
-        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) {
-          ptr -= 1;
-          do {
-            ptr += 1;
-            ptr = ctx->ParseMessage(_internal_add_elements(), ptr);
-            CHK_(ptr);
-            if (!ctx->DataAvailable(ptr)) break;
-          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<18>(ptr));
-        } else goto handle_unusual;
-        continue;
-      default: {
-      handle_unusual:
-        if ((tag & 7) == 4 || tag == 0) {
-          ctx->SetLastTag(tag);
-          goto success;
-        }
-        ptr = UnknownFieldParse(tag,
-            _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
-            ptr, ctx);
-        CHK_(ptr != nullptr);
-        continue;
-      }
-    }  // switch
-  }  // while
-success:
-  _has_bits_.Or(has_bits);
-  return ptr;
-failure:
-  ptr = nullptr;
-  goto success;
-#undef CHK_
+bool DeviceState::has_ios_version() const {
+  return has_ios_version_;
 }
-
-::PROTOBUF_NAMESPACE_ID::uint8* AccessibilityHierarchy::_InternalSerialize(
-    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
-  // @@protoc_insertion_point(serialize_to_array_start:gtxilib.oopclasses.protos.AccessibilityHierarchy)
-  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
-  (void) cached_has_bits;
-
-  // .gtxilib.oopclasses.protos.DeviceState device_state = 1;
-  if (_internal_has_device_state()) {
-    target = stream->EnsureSpace(target);
-    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
-      InternalWriteMessage(
-        1, _Internal::device_state(this), target, stream);
-  }
-
-  // repeated .gtxilib.oopclasses.protos.UIElement elements = 2;
-  for (unsigned int i = 0,
-      n = static_cast<unsigned int>(this->_internal_elements_size()); i < n; i++) {
-    target = stream->EnsureSpace(target);
-    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
-      InternalWriteMessage(2, this->_internal_elements(i), target, stream);
-  }
-
-  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
-    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
-        _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
-  }
-  // @@protoc_insertion_point(serialize_to_array_end:gtxilib.oopclasses.protos.AccessibilityHierarchy)
-  return target;
+void DeviceState::clear_ios_version() {
+  ios_version_ = std::string();
+  has_ios_version_ = false;
 }
-
-size_t AccessibilityHierarchy::ByteSizeLong() const {
-// @@protoc_insertion_point(message_byte_size_start:gtxilib.oopclasses.protos.AccessibilityHierarchy)
-  size_t total_size = 0;
-
-  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
-  // Prevent compiler warnings about cached_has_bits being unused
-  (void) cached_has_bits;
-
-  // repeated .gtxilib.oopclasses.protos.UIElement elements = 2;
-  total_size += 1UL * this->_internal_elements_size();
-  for (const auto& msg : this->elements_) {
-    total_size +=
-      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
-  }
-
-  // .gtxilib.oopclasses.protos.DeviceState device_state = 1;
-  cached_has_bits = _has_bits_[0];
-  if (cached_has_bits & 0x00000001u) {
-    total_size += 1 +
-      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
-        *device_state_);
-  }
-
-  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
-    return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize(
-        _internal_metadata_, total_size, &_cached_size_);
-  }
-  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
-  SetCachedSize(cached_size);
-  return total_size;
+void DeviceState::set_ios_version(std::string new_ios_version) {
+  ios_version_ = new_ios_version;
+  has_ios_version_ = true;
 }
-
-void AccessibilityHierarchy::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
-// @@protoc_insertion_point(generalized_merge_from_start:gtxilib.oopclasses.protos.AccessibilityHierarchy)
-  GOOGLE_DCHECK_NE(&from, this);
-  const AccessibilityHierarchy* source =
-      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<AccessibilityHierarchy>(
-          &from);
-  if (source == nullptr) {
-  // @@protoc_insertion_point(generalized_merge_from_cast_fail:gtxilib.oopclasses.protos.AccessibilityHierarchy)
-    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
-  } else {
-  // @@protoc_insertion_point(generalized_merge_from_cast_success:gtxilib.oopclasses.protos.AccessibilityHierarchy)
-    MergeFrom(*source);
-  }
+std::string* DeviceState::mutable_ios_version() {
+  has_ios_version_ = true;
+  return &ios_version_;
 }
 
-void AccessibilityHierarchy::MergeFrom(const AccessibilityHierarchy& from) {
-// @@protoc_insertion_point(class_specific_merge_from_start:gtxilib.oopclasses.protos.AccessibilityHierarchy)
-  GOOGLE_DCHECK_NE(&from, this);
-  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
-  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
-  (void) cached_has_bits;
 
-  elements_.MergeFrom(from.elements_);
-  if (from._internal_has_device_state()) {
-    _internal_mutable_device_state()->::gtxilib::oopclasses::protos::DeviceState::MergeFrom(from._internal_device_state());
-  }
-}
-
-void AccessibilityHierarchy::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
-// @@protoc_insertion_point(generalized_copy_from_start:gtxilib.oopclasses.protos.AccessibilityHierarchy)
-  if (&from == this) return;
-  Clear();
-  MergeFrom(from);
+const DeviceState& AccessibilityHierarchy::device_state() const {
+  return device_state_;
 }
-
-void AccessibilityHierarchy::CopyFrom(const AccessibilityHierarchy& from) {
-// @@protoc_insertion_point(class_specific_copy_from_start:gtxilib.oopclasses.protos.AccessibilityHierarchy)
-  if (&from == this) return;
-  Clear();
-  MergeFrom(from);
+bool AccessibilityHierarchy::has_device_state() const {
+  return has_device_state_;
 }
-
-bool AccessibilityHierarchy::IsInitialized() const {
-  return true;
+void AccessibilityHierarchy::clear_device_state() {
+  device_state_ = DeviceState();
+  has_device_state_ = false;
 }
-
-void AccessibilityHierarchy::InternalSwap(AccessibilityHierarchy* other) {
-  using std::swap;
-  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
-  swap(_has_bits_[0], other->_has_bits_[0]);
-  elements_.InternalSwap(&other->elements_);
-  swap(device_state_, other->device_state_);
+void AccessibilityHierarchy::set_device_state(const DeviceState& new_device_state) {
+  device_state_ = new_device_state;
+  has_device_state_ = true;
 }
-
-::PROTOBUF_NAMESPACE_ID::Metadata AccessibilityHierarchy::GetMetadata() const {
-  return GetMetadataStatic();
+DeviceState* AccessibilityHierarchy::mutable_device_state() {
+  has_device_state_ = true;
+  return &device_state_;
 }
 
-
-// @@protoc_insertion_point(namespace_scope)
-}  // namespace protos
-}  // namespace oopclasses
-}  // namespace gtxilib
-PROTOBUF_NAMESPACE_OPEN
-template<> PROTOBUF_NOINLINE ::gtxilib::oopclasses::protos::Point* Arena::CreateMaybeMessage< ::gtxilib::oopclasses::protos::Point >(Arena* arena) {
-  return Arena::CreateMessageInternal< ::gtxilib::oopclasses::protos::Point >(arena);
+const UIElement& AccessibilityHierarchy::elements(int index) const {
+  return elements_[index];
 }
-template<> PROTOBUF_NOINLINE ::gtxilib::oopclasses::protos::Size* Arena::CreateMaybeMessage< ::gtxilib::oopclasses::protos::Size >(Arena* arena) {
-  return Arena::CreateMessageInternal< ::gtxilib::oopclasses::protos::Size >(arena);
+const std::vector<UIElement>& AccessibilityHierarchy::elements() const {
+  return elements_;
 }
-template<> PROTOBUF_NOINLINE ::gtxilib::oopclasses::protos::Rect* Arena::CreateMaybeMessage< ::gtxilib::oopclasses::protos::Rect >(Arena* arena) {
-  return Arena::CreateMessageInternal< ::gtxilib::oopclasses::protos::Rect >(arena);
+bool AccessibilityHierarchy::has_elements() const {
+  return has_elements_;
 }
-template<> PROTOBUF_NOINLINE ::gtxilib::oopclasses::protos::Color* Arena::CreateMaybeMessage< ::gtxilib::oopclasses::protos::Color >(Arena* arena) {
-  return Arena::CreateMessageInternal< ::gtxilib::oopclasses::protos::Color >(arena);
+void AccessibilityHierarchy::clear_elements() {
+  elements_.clear();
+  has_elements_ = false;
 }
-template<> PROTOBUF_NOINLINE ::gtxilib::oopclasses::protos::UIElement* Arena::CreateMaybeMessage< ::gtxilib::oopclasses::protos::UIElement >(Arena* arena) {
-  return Arena::CreateMessageInternal< ::gtxilib::oopclasses::protos::UIElement >(arena);
+void AccessibilityHierarchy::set_elements(int index, const UIElement& new_elements) {
+  elements_[index] = new_elements;
+  has_elements_ = true;
 }
-template<> PROTOBUF_NOINLINE ::gtxilib::oopclasses::protos::DeviceState* Arena::CreateMaybeMessage< ::gtxilib::oopclasses::protos::DeviceState >(Arena* arena) {
-  return Arena::CreateMessageInternal< ::gtxilib::oopclasses::protos::DeviceState >(arena);
+UIElement* AccessibilityHierarchy::mutable_elements(int index) {
+  has_elements_ = true;
+  return &elements_[index];
 }
-template<> PROTOBUF_NOINLINE ::gtxilib::oopclasses::protos::DisplayMetrics* Arena::CreateMaybeMessage< ::gtxilib::oopclasses::protos::DisplayMetrics >(Arena* arena) {
-  return Arena::CreateMessageInternal< ::gtxilib::oopclasses::protos::DisplayMetrics >(arena);
+UIElement* AccessibilityHierarchy::add_elements() {
+  elements_.emplace_back();
+  has_elements_ = true;
+  return &elements_.back();
 }
-template<> PROTOBUF_NOINLINE ::gtxilib::oopclasses::protos::AccessibilityHierarchy* Arena::CreateMaybeMessage< ::gtxilib::oopclasses::protos::AccessibilityHierarchy >(Arena* arena) {
-  return Arena::CreateMessageInternal< ::gtxilib::oopclasses::protos::AccessibilityHierarchy >(arena);
+int AccessibilityHierarchy::elements_size() const {
+  return elements_.size();
 }
-PROTOBUF_NAMESPACE_CLOSE
 
-// @@protoc_insertion_point(global_scope)
-#include <google/protobuf/port_undef.inc>
+}  // GTXiLib
+}  // OOPClasses
+}  // Protos
diff --git a/OOPClasses/Protos/gtx.pb.h b/OOPClasses/Protos/gtx.pb.h
old mode 100644
new mode 100755
index 66f18cd..494e4e2
--- a/OOPClasses/Protos/gtx.pb.h
+++ b/OOPClasses/Protos/gtx.pb.h
@@ -1,4364 +1,510 @@
-// Generated by the protocol buffer compiler.  DO NOT EDIT!
-// source: gtx.proto
+#ifndef THIRD_PARTY_OBJECTIVE_C_GTXILIB_OOPCLASSES_PROTOS_GTX_PB_H
+#define THIRD_PARTY_OBJECTIVE_C_GTXILIB_OOPCLASSES_PROTOS_GTX_PB_H
 
-#ifndef GOOGLE_PROTOBUF_INCLUDED_gtx_2eproto
-#define GOOGLE_PROTOBUF_INCLUDED_gtx_2eproto
-
-#include <limits>
+#include <map>
 #include <string>
+#include <stdlib.h>
+#include <vector>
 
-#include <google/protobuf/port_def.inc>
-#if PROTOBUF_VERSION < 3013000
-#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 3013000 < 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/port_undef.inc>
-#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/inlined_string_field.h>
-#include <google/protobuf/metadata_lite.h>
-#include <google/protobuf/generated_message_reflection.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 "enums.pb.h"
-// @@protoc_insertion_point(includes)
-#include <google/protobuf/port_def.inc>
-#define PROTOBUF_INTERNAL_EXPORT_gtx_2eproto
-PROTOBUF_NAMESPACE_OPEN
-namespace internal {
-class AnyMetadata;
-}  // namespace internal
-PROTOBUF_NAMESPACE_CLOSE
 
-// Internal implementation detail -- do not use these members.
-struct TableStruct_gtx_2eproto {
-  static const ::PROTOBUF_NAMESPACE_ID::internal::ParseTableField entries[]
-    PROTOBUF_SECTION_VARIABLE(protodesc_cold);
-  static const ::PROTOBUF_NAMESPACE_ID::internal::AuxiliaryParseTableField aux[]
-    PROTOBUF_SECTION_VARIABLE(protodesc_cold);
-  static const ::PROTOBUF_NAMESPACE_ID::internal::ParseTable schema[8]
-    PROTOBUF_SECTION_VARIABLE(protodesc_cold);
-  static const ::PROTOBUF_NAMESPACE_ID::internal::FieldMetadata field_metadata[];
-  static const ::PROTOBUF_NAMESPACE_ID::internal::SerializationTable serialization_table[];
-  static const ::PROTOBUF_NAMESPACE_ID::uint32 offsets[];
-};
-extern const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable descriptor_table_gtx_2eproto;
-namespace gtxilib {
-namespace oopclasses {
-namespace protos {
-class AccessibilityHierarchy;
-class AccessibilityHierarchyDefaultTypeInternal;
-extern AccessibilityHierarchyDefaultTypeInternal _AccessibilityHierarchy_default_instance_;
-class Color;
-class ColorDefaultTypeInternal;
-extern ColorDefaultTypeInternal _Color_default_instance_;
-class DeviceState;
-class DeviceStateDefaultTypeInternal;
-extern DeviceStateDefaultTypeInternal _DeviceState_default_instance_;
-class DisplayMetrics;
-class DisplayMetricsDefaultTypeInternal;
-extern DisplayMetricsDefaultTypeInternal _DisplayMetrics_default_instance_;
-class Point;
-class PointDefaultTypeInternal;
-extern PointDefaultTypeInternal _Point_default_instance_;
-class Rect;
-class RectDefaultTypeInternal;
-extern RectDefaultTypeInternal _Rect_default_instance_;
-class Size;
-class SizeDefaultTypeInternal;
-extern SizeDefaultTypeInternal _Size_default_instance_;
-class UIElement;
-class UIElementDefaultTypeInternal;
-extern UIElementDefaultTypeInternal _UIElement_default_instance_;
-}  // namespace protos
-}  // namespace oopclasses
-}  // namespace gtxilib
-PROTOBUF_NAMESPACE_OPEN
-template<> ::gtxilib::oopclasses::protos::AccessibilityHierarchy* Arena::CreateMaybeMessage<::gtxilib::oopclasses::protos::AccessibilityHierarchy>(Arena*);
-template<> ::gtxilib::oopclasses::protos::Color* Arena::CreateMaybeMessage<::gtxilib::oopclasses::protos::Color>(Arena*);
-template<> ::gtxilib::oopclasses::protos::DeviceState* Arena::CreateMaybeMessage<::gtxilib::oopclasses::protos::DeviceState>(Arena*);
-template<> ::gtxilib::oopclasses::protos::DisplayMetrics* Arena::CreateMaybeMessage<::gtxilib::oopclasses::protos::DisplayMetrics>(Arena*);
-template<> ::gtxilib::oopclasses::protos::Point* Arena::CreateMaybeMessage<::gtxilib::oopclasses::protos::Point>(Arena*);
-template<> ::gtxilib::oopclasses::protos::Rect* Arena::CreateMaybeMessage<::gtxilib::oopclasses::protos::Rect>(Arena*);
-template<> ::gtxilib::oopclasses::protos::Size* Arena::CreateMaybeMessage<::gtxilib::oopclasses::protos::Size>(Arena*);
-template<> ::gtxilib::oopclasses::protos::UIElement* Arena::CreateMaybeMessage<::gtxilib::oopclasses::protos::UIElement>(Arena*);
-PROTOBUF_NAMESPACE_CLOSE
 namespace gtxilib {
 namespace oopclasses {
 namespace protos {
 
-// ===================================================================
 
-class Point PROTOBUF_FINAL :
-    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:gtxilib.oopclasses.protos.Point) */ {
- public:
-  inline Point() : Point(nullptr) {}
-  virtual ~Point();
 
-  Point(const Point& from);
-  Point(Point&& from) noexcept
-    : Point() {
-    *this = ::std::move(from);
-  }
 
-  inline Point& operator=(const Point& from) {
-    CopyFrom(from);
-    return *this;
-  }
-  inline Point& operator=(Point&& from) noexcept {
-    if (GetArena() == from.GetArena()) {
-      if (this != &from) InternalSwap(&from);
-    } else {
-      CopyFrom(from);
-    }
-    return *this;
-  }
+class Point {
 
-  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
-    return GetDescriptor();
-  }
-  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
-    return GetMetadataStatic().descriptor;
-  }
-  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
-    return GetMetadataStatic().reflection;
-  }
-  static const Point& default_instance();
+public:
 
-  static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
-  static inline const Point* internal_default_instance() {
-    return reinterpret_cast<const Point*>(
-               &_Point_default_instance_);
-  }
-  static constexpr int kIndexInFileMessages =
-    0;
 
-  friend void swap(Point& a, Point& b) {
-    a.Swap(&b);
-  }
-  inline void Swap(Point* other) {
-    if (other == this) return;
-    if (GetArena() == other->GetArena()) {
-      InternalSwap(other);
-    } else {
-      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
-    }
-  }
-  void UnsafeArenaSwap(Point* other) {
-    if (other == this) return;
-    GOOGLE_DCHECK(GetArena() == other->GetArena());
-    InternalSwap(other);
-  }
-
-  // implements Message ----------------------------------------------
-
-  inline Point* New() const final {
-    return CreateMaybeMessage<Point>(nullptr);
-  }
-
-  Point* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
-    return CreateMaybeMessage<Point>(arena);
-  }
-  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
-  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
-  void CopyFrom(const Point& from);
-  void MergeFrom(const Point& from);
-  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
-  bool IsInitialized() const final;
-
-  size_t ByteSizeLong() const final;
-  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
-  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
-      ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
-  int GetCachedSize() const final { return _cached_size_.Get(); }
-
-  private:
-  inline void SharedCtor();
-  inline void SharedDtor();
-  void SetCachedSize(int size) const final;
-  void InternalSwap(Point* other);
-  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
-  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
-    return "gtxilib.oopclasses.protos.Point";
-  }
-  protected:
-  explicit Point(::PROTOBUF_NAMESPACE_ID::Arena* arena);
-  private:
-  static void ArenaDtor(void* object);
-  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
-  public:
-
-  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
-  private:
-  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
-    ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_gtx_2eproto);
-    return ::descriptor_table_gtx_2eproto.file_level_metadata[kIndexInFileMessages];
-  }
-
-  public:
-
-  // nested types ----------------------------------------------------
-
-  // accessors -------------------------------------------------------
-
-  enum : int {
-    kXFieldNumber = 1,
-    kYFieldNumber = 2,
-  };
-  // float x = 1;
-  bool has_x() const;
-  private:
-  bool _internal_has_x() const;
-  public:
-  void clear_x();
   float x() const;
-  void set_x(float value);
-  private:
-  float _internal_x() const;
-  void _internal_set_x(float value);
-  public:
+  bool has_x() const;
+  void clear_x();
+  void set_x(float new_x);
+  float* mutable_x();
 
-  // float y = 2;
-  bool has_y() const;
-  private:
-  bool _internal_has_y() const;
-  public:
-  void clear_y();
   float y() const;
-  void set_y(float value);
-  private:
-  float _internal_y() const;
-  void _internal_set_y(float value);
-  public:
+  bool has_y() const;
+  void clear_y();
+  void set_y(float new_y);
+  float* mutable_y();
 
-  // @@protoc_insertion_point(class_scope:gtxilib.oopclasses.protos.Point)
- private:
-  class _Internal;
-
-  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
-  typedef void InternalArenaConstructable_;
-  typedef void DestructorSkippable_;
-  ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
-  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
-  float x_;
-  float y_;
-  friend struct ::TableStruct_gtx_2eproto;
+private:
+  float x_ = float();
+  bool has_x_ = false;
+  float y_ = float();
+  bool has_y_ = false;
 };
-// -------------------------------------------------------------------
 
-class Size PROTOBUF_FINAL :
-    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:gtxilib.oopclasses.protos.Size) */ {
- public:
-  inline Size() : Size(nullptr) {}
-  virtual ~Size();
 
-  Size(const Size& from);
-  Size(Size&& from) noexcept
-    : Size() {
-    *this = ::std::move(from);
-  }
+class Size {
 
-  inline Size& operator=(const Size& from) {
-    CopyFrom(from);
-    return *this;
-  }
-  inline Size& operator=(Size&& from) noexcept {
-    if (GetArena() == from.GetArena()) {
-      if (this != &from) InternalSwap(&from);
-    } else {
-      CopyFrom(from);
-    }
-    return *this;
-  }
+public:
 
-  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
-    return GetDescriptor();
-  }
-  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
-    return GetMetadataStatic().descriptor;
-  }
-  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
-    return GetMetadataStatic().reflection;
-  }
-  static const Size& default_instance();
 
-  static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
-  static inline const Size* internal_default_instance() {
-    return reinterpret_cast<const Size*>(
-               &_Size_default_instance_);
-  }
-  static constexpr int kIndexInFileMessages =
-    1;
-
-  friend void swap(Size& a, Size& b) {
-    a.Swap(&b);
-  }
-  inline void Swap(Size* other) {
-    if (other == this) return;
-    if (GetArena() == other->GetArena()) {
-      InternalSwap(other);
-    } else {
-      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
-    }
-  }
-  void UnsafeArenaSwap(Size* other) {
-    if (other == this) return;
-    GOOGLE_DCHECK(GetArena() == other->GetArena());
-    InternalSwap(other);
-  }
-
-  // implements Message ----------------------------------------------
-
-  inline Size* New() const final {
-    return CreateMaybeMessage<Size>(nullptr);
-  }
-
-  Size* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
-    return CreateMaybeMessage<Size>(arena);
-  }
-  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
-  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
-  void CopyFrom(const Size& from);
-  void MergeFrom(const Size& from);
-  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
-  bool IsInitialized() const final;
-
-  size_t ByteSizeLong() const final;
-  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
-  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
-      ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
-  int GetCachedSize() const final { return _cached_size_.Get(); }
-
-  private:
-  inline void SharedCtor();
-  inline void SharedDtor();
-  void SetCachedSize(int size) const final;
-  void InternalSwap(Size* other);
-  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
-  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
-    return "gtxilib.oopclasses.protos.Size";
-  }
-  protected:
-  explicit Size(::PROTOBUF_NAMESPACE_ID::Arena* arena);
-  private:
-  static void ArenaDtor(void* object);
-  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
-  public:
-
-  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
-  private:
-  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
-    ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_gtx_2eproto);
-    return ::descriptor_table_gtx_2eproto.file_level_metadata[kIndexInFileMessages];
-  }
-
-  public:
-
-  // nested types ----------------------------------------------------
-
-  // accessors -------------------------------------------------------
-
-  enum : int {
-    kWidthFieldNumber = 1,
-    kHeightFieldNumber = 2,
-  };
-  // float width = 1;
-  bool has_width() const;
-  private:
-  bool _internal_has_width() const;
-  public:
-  void clear_width();
   float width() const;
-  void set_width(float value);
-  private:
-  float _internal_width() const;
-  void _internal_set_width(float value);
-  public:
+  bool has_width() const;
+  void clear_width();
+  void set_width(float new_width);
+  float* mutable_width();
 
-  // float height = 2;
-  bool has_height() const;
-  private:
-  bool _internal_has_height() const;
-  public:
-  void clear_height();
   float height() const;
-  void set_height(float value);
-  private:
-  float _internal_height() const;
-  void _internal_set_height(float value);
-  public:
+  bool has_height() const;
+  void clear_height();
+  void set_height(float new_height);
+  float* mutable_height();
 
-  // @@protoc_insertion_point(class_scope:gtxilib.oopclasses.protos.Size)
- private:
-  class _Internal;
-
-  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
-  typedef void InternalArenaConstructable_;
-  typedef void DestructorSkippable_;
-  ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
-  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
-  float width_;
-  float height_;
-  friend struct ::TableStruct_gtx_2eproto;
+private:
+  float width_ = float();
+  bool has_width_ = false;
+  float height_ = float();
+  bool has_height_ = false;
 };
-// -------------------------------------------------------------------
 
-class Rect PROTOBUF_FINAL :
-    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:gtxilib.oopclasses.protos.Rect) */ {
- public:
-  inline Rect() : Rect(nullptr) {}
-  virtual ~Rect();
 
-  Rect(const Rect& from);
-  Rect(Rect&& from) noexcept
-    : Rect() {
-    *this = ::std::move(from);
-  }
+class Rect {
 
-  inline Rect& operator=(const Rect& from) {
-    CopyFrom(from);
-    return *this;
-  }
-  inline Rect& operator=(Rect&& from) noexcept {
-    if (GetArena() == from.GetArena()) {
-      if (this != &from) InternalSwap(&from);
-    } else {
-      CopyFrom(from);
-    }
-    return *this;
-  }
+public:
 
-  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
-    return GetDescriptor();
-  }
-  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
-    return GetMetadataStatic().descriptor;
-  }
-  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
-    return GetMetadataStatic().reflection;
-  }
-  static const Rect& default_instance();
 
-  static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
-  static inline const Rect* internal_default_instance() {
-    return reinterpret_cast<const Rect*>(
-               &_Rect_default_instance_);
-  }
-  static constexpr int kIndexInFileMessages =
-    2;
-
-  friend void swap(Rect& a, Rect& b) {
-    a.Swap(&b);
-  }
-  inline void Swap(Rect* other) {
-    if (other == this) return;
-    if (GetArena() == other->GetArena()) {
-      InternalSwap(other);
-    } else {
-      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
-    }
-  }
-  void UnsafeArenaSwap(Rect* other) {
-    if (other == this) return;
-    GOOGLE_DCHECK(GetArena() == other->GetArena());
-    InternalSwap(other);
-  }
-
-  // implements Message ----------------------------------------------
-
-  inline Rect* New() const final {
-    return CreateMaybeMessage<Rect>(nullptr);
-  }
-
-  Rect* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
-    return CreateMaybeMessage<Rect>(arena);
-  }
-  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
-  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
-  void CopyFrom(const Rect& from);
-  void MergeFrom(const Rect& from);
-  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
-  bool IsInitialized() const final;
-
-  size_t ByteSizeLong() const final;
-  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
-  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
-      ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
-  int GetCachedSize() const final { return _cached_size_.Get(); }
-
-  private:
-  inline void SharedCtor();
-  inline void SharedDtor();
-  void SetCachedSize(int size) const final;
-  void InternalSwap(Rect* other);
-  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
-  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
-    return "gtxilib.oopclasses.protos.Rect";
-  }
-  protected:
-  explicit Rect(::PROTOBUF_NAMESPACE_ID::Arena* arena);
-  private:
-  static void ArenaDtor(void* object);
-  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
-  public:
-
-  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
-  private:
-  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
-    ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_gtx_2eproto);
-    return ::descriptor_table_gtx_2eproto.file_level_metadata[kIndexInFileMessages];
-  }
-
-  public:
-
-  // nested types ----------------------------------------------------
-
-  // accessors -------------------------------------------------------
-
-  enum : int {
-    kOriginFieldNumber = 1,
-    kSizeFieldNumber = 2,
-  };
-  // .gtxilib.oopclasses.protos.Point origin = 1;
+  const Point& origin() const;
   bool has_origin() const;
-  private:
-  bool _internal_has_origin() const;
-  public:
   void clear_origin();
-  const ::gtxilib::oopclasses::protos::Point& origin() const;
-  ::gtxilib::oopclasses::protos::Point* release_origin();
-  ::gtxilib::oopclasses::protos::Point* mutable_origin();
-  void set_allocated_origin(::gtxilib::oopclasses::protos::Point* origin);
-  private:
-  const ::gtxilib::oopclasses::protos::Point& _internal_origin() const;
-  ::gtxilib::oopclasses::protos::Point* _internal_mutable_origin();
-  public:
-  void unsafe_arena_set_allocated_origin(
-      ::gtxilib::oopclasses::protos::Point* origin);
-  ::gtxilib::oopclasses::protos::Point* unsafe_arena_release_origin();
+  void set_origin(const Point& new_origin);
+  Point* mutable_origin();
 
-  // .gtxilib.oopclasses.protos.Size size = 2;
+  const Size& size() const;
   bool has_size() const;
-  private:
-  bool _internal_has_size() const;
-  public:
   void clear_size();
-  const ::gtxilib::oopclasses::protos::Size& size() const;
-  ::gtxilib::oopclasses::protos::Size* release_size();
-  ::gtxilib::oopclasses::protos::Size* mutable_size();
-  void set_allocated_size(::gtxilib::oopclasses::protos::Size* size);
-  private:
-  const ::gtxilib::oopclasses::protos::Size& _internal_size() const;
-  ::gtxilib::oopclasses::protos::Size* _internal_mutable_size();
-  public:
-  void unsafe_arena_set_allocated_size(
-      ::gtxilib::oopclasses::protos::Size* size);
-  ::gtxilib::oopclasses::protos::Size* unsafe_arena_release_size();
+  void set_size(const Size& new_size);
+  Size* mutable_size();
 
-  // @@protoc_insertion_point(class_scope:gtxilib.oopclasses.protos.Rect)
- private:
-  class _Internal;
-
-  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
-  typedef void InternalArenaConstructable_;
-  typedef void DestructorSkippable_;
-  ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
-  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
-  ::gtxilib::oopclasses::protos::Point* origin_;
-  ::gtxilib::oopclasses::protos::Size* size_;
-  friend struct ::TableStruct_gtx_2eproto;
+private:
+  Point origin_ = Point();
+  bool has_origin_ = false;
+  Size size_ = Size();
+  bool has_size_ = false;
 };
-// -------------------------------------------------------------------
 
-class Color PROTOBUF_FINAL :
-    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:gtxilib.oopclasses.protos.Color) */ {
- public:
-  inline Color() : Color(nullptr) {}
-  virtual ~Color();
 
-  Color(const Color& from);
-  Color(Color&& from) noexcept
-    : Color() {
-    *this = ::std::move(from);
-  }
+class Color {
 
-  inline Color& operator=(const Color& from) {
-    CopyFrom(from);
-    return *this;
-  }
-  inline Color& operator=(Color&& from) noexcept {
-    if (GetArena() == from.GetArena()) {
-      if (this != &from) InternalSwap(&from);
-    } else {
-      CopyFrom(from);
-    }
-    return *this;
-  }
+public:
 
-  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
-    return GetDescriptor();
-  }
-  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
-    return GetMetadataStatic().descriptor;
-  }
-  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
-    return GetMetadataStatic().reflection;
-  }
-  static const Color& default_instance();
 
-  static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
-  static inline const Color* internal_default_instance() {
-    return reinterpret_cast<const Color*>(
-               &_Color_default_instance_);
-  }
-  static constexpr int kIndexInFileMessages =
-    3;
-
-  friend void swap(Color& a, Color& b) {
-    a.Swap(&b);
-  }
-  inline void Swap(Color* other) {
-    if (other == this) return;
-    if (GetArena() == other->GetArena()) {
-      InternalSwap(other);
-    } else {
-      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
-    }
-  }
-  void UnsafeArenaSwap(Color* other) {
-    if (other == this) return;
-    GOOGLE_DCHECK(GetArena() == other->GetArena());
-    InternalSwap(other);
-  }
-
-  // implements Message ----------------------------------------------
-
-  inline Color* New() const final {
-    return CreateMaybeMessage<Color>(nullptr);
-  }
-
-  Color* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
-    return CreateMaybeMessage<Color>(arena);
-  }
-  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
-  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
-  void CopyFrom(const Color& from);
-  void MergeFrom(const Color& from);
-  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
-  bool IsInitialized() const final;
-
-  size_t ByteSizeLong() const final;
-  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
-  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
-      ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
-  int GetCachedSize() const final { return _cached_size_.Get(); }
-
-  private:
-  inline void SharedCtor();
-  inline void SharedDtor();
-  void SetCachedSize(int size) const final;
-  void InternalSwap(Color* other);
-  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
-  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
-    return "gtxilib.oopclasses.protos.Color";
-  }
-  protected:
-  explicit Color(::PROTOBUF_NAMESPACE_ID::Arena* arena);
-  private:
-  static void ArenaDtor(void* object);
-  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
-  public:
-
-  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
-  private:
-  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
-    ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_gtx_2eproto);
-    return ::descriptor_table_gtx_2eproto.file_level_metadata[kIndexInFileMessages];
-  }
-
-  public:
-
-  // nested types ----------------------------------------------------
-
-  // accessors -------------------------------------------------------
-
-  enum : int {
-    kRFieldNumber = 1,
-    kGFieldNumber = 2,
-    kBFieldNumber = 3,
-    kAFieldNumber = 4,
-  };
-  // float r = 1;
-  bool has_r() const;
-  private:
-  bool _internal_has_r() const;
-  public:
-  void clear_r();
   float r() const;
-  void set_r(float value);
-  private:
-  float _internal_r() const;
-  void _internal_set_r(float value);
-  public:
+  bool has_r() const;
+  void clear_r();
+  void set_r(float new_r);
+  float* mutable_r();
 
-  // float g = 2;
-  bool has_g() const;
-  private:
-  bool _internal_has_g() const;
-  public:
-  void clear_g();
   float g() const;
-  void set_g(float value);
-  private:
-  float _internal_g() const;
-  void _internal_set_g(float value);
-  public:
+  bool has_g() const;
+  void clear_g();
+  void set_g(float new_g);
+  float* mutable_g();
 
-  // float b = 3;
-  bool has_b() const;
-  private:
-  bool _internal_has_b() const;
-  public:
-  void clear_b();
   float b() const;
-  void set_b(float value);
-  private:
-  float _internal_b() const;
-  void _internal_set_b(float value);
-  public:
+  bool has_b() const;
+  void clear_b();
+  void set_b(float new_b);
+  float* mutable_b();
 
-  // float a = 4;
-  bool has_a() const;
-  private:
-  bool _internal_has_a() const;
-  public:
-  void clear_a();
   float a() const;
-  void set_a(float value);
-  private:
-  float _internal_a() const;
-  void _internal_set_a(float value);
-  public:
+  bool has_a() const;
+  void clear_a();
+  void set_a(float new_a);
+  float* mutable_a();
 
-  // @@protoc_insertion_point(class_scope:gtxilib.oopclasses.protos.Color)
- private:
-  class _Internal;
-
-  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
-  typedef void InternalArenaConstructable_;
-  typedef void DestructorSkippable_;
-  ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
-  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
-  float r_;
-  float g_;
-  float b_;
-  float a_;
-  friend struct ::TableStruct_gtx_2eproto;
+private:
+  float r_ = float();
+  bool has_r_ = false;
+  float g_ = float();
+  bool has_g_ = false;
+  float b_ = float();
+  bool has_b_ = false;
+  float a_ = float();
+  bool has_a_ = false;
 };
-// -------------------------------------------------------------------
 
-class UIElement PROTOBUF_FINAL :
-    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:gtxilib.oopclasses.protos.UIElement) */ {
- public:
-  inline UIElement() : UIElement(nullptr) {}
-  virtual ~UIElement();
 
-  UIElement(const UIElement& from);
-  UIElement(UIElement&& from) noexcept
-    : UIElement() {
-    *this = ::std::move(from);
-  }
+class UIElement {
 
-  inline UIElement& operator=(const UIElement& from) {
-    CopyFrom(from);
-    return *this;
-  }
-  inline UIElement& operator=(UIElement&& from) noexcept {
-    if (GetArena() == from.GetArena()) {
-      if (this != &from) InternalSwap(&from);
-    } else {
-      CopyFrom(from);
-    }
-    return *this;
-  }
+public:
 
-  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
-    return GetDescriptor();
-  }
-  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
-    return GetMetadataStatic().descriptor;
-  }
-  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
-    return GetMetadataStatic().reflection;
-  }
-  static const UIElement& default_instance();
 
-  static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
-  static inline const UIElement* internal_default_instance() {
-    return reinterpret_cast<const UIElement*>(
-               &_UIElement_default_instance_);
-  }
-  static constexpr int kIndexInFileMessages =
-    4;
-
-  friend void swap(UIElement& a, UIElement& b) {
-    a.Swap(&b);
-  }
-  inline void Swap(UIElement* other) {
-    if (other == this) return;
-    if (GetArena() == other->GetArena()) {
-      InternalSwap(other);
-    } else {
-      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
-    }
-  }
-  void UnsafeArenaSwap(UIElement* other) {
-    if (other == this) return;
-    GOOGLE_DCHECK(GetArena() == other->GetArena());
-    InternalSwap(other);
-  }
-
-  // implements Message ----------------------------------------------
-
-  inline UIElement* New() const final {
-    return CreateMaybeMessage<UIElement>(nullptr);
-  }
-
-  UIElement* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
-    return CreateMaybeMessage<UIElement>(arena);
-  }
-  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
-  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
-  void CopyFrom(const UIElement& from);
-  void MergeFrom(const UIElement& from);
-  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
-  bool IsInitialized() const final;
-
-  size_t ByteSizeLong() const final;
-  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
-  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
-      ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
-  int GetCachedSize() const final { return _cached_size_.Get(); }
-
-  private:
-  inline void SharedCtor();
-  inline void SharedDtor();
-  void SetCachedSize(int size) const final;
-  void InternalSwap(UIElement* other);
-  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
-  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
-    return "gtxilib.oopclasses.protos.UIElement";
-  }
-  protected:
-  explicit UIElement(::PROTOBUF_NAMESPACE_ID::Arena* arena);
-  private:
-  static void ArenaDtor(void* object);
-  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
-  public:
-
-  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
-  private:
-  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
-    ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_gtx_2eproto);
-    return ::descriptor_table_gtx_2eproto.file_level_metadata[kIndexInFileMessages];
-  }
-
-  public:
-
-  // nested types ----------------------------------------------------
-
-  // accessors -------------------------------------------------------
-
-  enum : int {
-    kChildIdsFieldNumber = 3,
-    kClassNamesHierarchyFieldNumber = 15,
-    kAxLabelFieldNumber = 6,
-    kAxHintFieldNumber = 7,
-    kAxIdentifierFieldNumber = 9,
-    kTitleFieldNumber = 32,
-    kTextFieldNumber = 33,
-    kAxFrameFieldNumber = 8,
-    kBackgroundColorFieldNumber = 16,
-    kTintColorFieldNumber = 21,
-    kFrameFieldNumber = 26,
-    kBoundsFieldNumber = 27,
-    kIdFieldNumber = 1,
-    kParentIdFieldNumber = 2,
-    kAxTraitsFieldNumber = 5,
-    kIsAxElementFieldNumber = 4,
-    kHittableFieldNumber = 10,
-    kExistsFieldNumber = 11,
-    kXcSelectedFieldNumber = 12,
-    kElementTypeFieldNumber = 14,
-    kAlphaFieldNumber = 18,
-    kXcEnabledFieldNumber = 13,
-    kHiddenFieldNumber = 17,
-    kOpaqueFieldNumber = 20,
-    kClipsToBoundsFieldNumber = 22,
-    kControlStateFieldNumber = 28,
-    kUserInteractionEnabledFieldNumber = 23,
-    kMultipleTouchEnabledFieldNumber = 24,
-    kExclusiveTouchFieldNumber = 25,
-    kEnabledFieldNumber = 29,
-    kSelectedFieldNumber = 30,
-    kHighlightedFieldNumber = 31,
-    kOnFieldNumber = 34,
-    kValueFieldNumber = 35,
-  };
-  // repeated int32 child_ids = 3;
-  int child_ids_size() const;
-  private:
-  int _internal_child_ids_size() const;
-  public:
-  void clear_child_ids();
-  private:
-  ::PROTOBUF_NAMESPACE_ID::int32 _internal_child_ids(int index) const;
-  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
-      _internal_child_ids() const;
-  void _internal_add_child_ids(::PROTOBUF_NAMESPACE_ID::int32 value);
-  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
-      _internal_mutable_child_ids();
-  public:
-  ::PROTOBUF_NAMESPACE_ID::int32 child_ids(int index) const;
-  void set_child_ids(int index, ::PROTOBUF_NAMESPACE_ID::int32 value);
-  void add_child_ids(::PROTOBUF_NAMESPACE_ID::int32 value);
-  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
-      child_ids() const;
-  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
-      mutable_child_ids();
-
-  // repeated string class_names_hierarchy = 15;
-  int class_names_hierarchy_size() const;
-  private:
-  int _internal_class_names_hierarchy_size() const;
-  public:
-  void clear_class_names_hierarchy();
-  const std::string& class_names_hierarchy(int index) const;
-  std::string* mutable_class_names_hierarchy(int index);
-  void set_class_names_hierarchy(int index, const std::string& value);
-  void set_class_names_hierarchy(int index, std::string&& value);
-  void set_class_names_hierarchy(int index, const char* value);
-  void set_class_names_hierarchy(int index, const char* value, size_t size);
-  std::string* add_class_names_hierarchy();
-  void add_class_names_hierarchy(const std::string& value);
-  void add_class_names_hierarchy(std::string&& value);
-  void add_class_names_hierarchy(const char* value);
-  void add_class_names_hierarchy(const char* value, size_t size);
-  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>& class_names_hierarchy() const;
-  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>* mutable_class_names_hierarchy();
-  private:
-  const std::string& _internal_class_names_hierarchy(int index) const;
-  std::string* _internal_add_class_names_hierarchy();
-  public:
-
-  // string ax_label = 6;
-  bool has_ax_label() const;
-  private:
-  bool _internal_has_ax_label() const;
-  public:
-  void clear_ax_label();
-  const std::string& ax_label() const;
-  void set_ax_label(const std::string& value);
-  void set_ax_label(std::string&& value);
-  void set_ax_label(const char* value);
-  void set_ax_label(const char* value, size_t size);
-  std::string* mutable_ax_label();
-  std::string* release_ax_label();
-  void set_allocated_ax_label(std::string* ax_label);
-  private:
-  const std::string& _internal_ax_label() const;
-  void _internal_set_ax_label(const std::string& value);
-  std::string* _internal_mutable_ax_label();
-  public:
-
-  // string ax_hint = 7;
-  bool has_ax_hint() const;
-  private:
-  bool _internal_has_ax_hint() const;
-  public:
-  void clear_ax_hint();
-  const std::string& ax_hint() const;
-  void set_ax_hint(const std::string& value);
-  void set_ax_hint(std::string&& value);
-  void set_ax_hint(const char* value);
-  void set_ax_hint(const char* value, size_t size);
-  std::string* mutable_ax_hint();
-  std::string* release_ax_hint();
-  void set_allocated_ax_hint(std::string* ax_hint);
-  private:
-  const std::string& _internal_ax_hint() const;
-  void _internal_set_ax_hint(const std::string& value);
-  std::string* _internal_mutable_ax_hint();
-  public:
-
-  // string ax_identifier = 9;
-  bool has_ax_identifier() const;
-  private:
-  bool _internal_has_ax_identifier() const;
-  public:
-  void clear_ax_identifier();
-  const std::string& ax_identifier() const;
-  void set_ax_identifier(const std::string& value);
-  void set_ax_identifier(std::string&& value);
-  void set_ax_identifier(const char* value);
-  void set_ax_identifier(const char* value, size_t size);
-  std::string* mutable_ax_identifier();
-  std::string* release_ax_identifier();
-  void set_allocated_ax_identifier(std::string* ax_identifier);
-  private:
-  const std::string& _internal_ax_identifier() const;
-  void _internal_set_ax_identifier(const std::string& value);
-  std::string* _internal_mutable_ax_identifier();
-  public:
-
-  // string title = 32;
-  bool has_title() const;
-  private:
-  bool _internal_has_title() const;
-  public:
-  void clear_title();
-  const std::string& title() const;
-  void set_title(const std::string& value);
-  void set_title(std::string&& value);
-  void set_title(const char* value);
-  void set_title(const char* value, size_t size);
-  std::string* mutable_title();
-  std::string* release_title();
-  void set_allocated_title(std::string* title);
-  private:
-  const std::string& _internal_title() const;
-  void _internal_set_title(const std::string& value);
-  std::string* _internal_mutable_title();
-  public:
-
-  // string text = 33;
-  bool has_text() const;
-  private:
-  bool _internal_has_text() const;
-  public:
-  void clear_text();
-  const std::string& text() const;
-  void set_text(const std::string& value);
-  void set_text(std::string&& value);
-  void set_text(const char* value);
-  void set_text(const char* value, size_t size);
-  std::string* mutable_text();
-  std::string* release_text();
-  void set_allocated_text(std::string* text);
-  private:
-  const std::string& _internal_text() const;
-  void _internal_set_text(const std::string& value);
-  std::string* _internal_mutable_text();
-  public:
-
-  // .gtxilib.oopclasses.protos.Rect ax_frame = 8;
-  bool has_ax_frame() const;
-  private:
-  bool _internal_has_ax_frame() const;
-  public:
-  void clear_ax_frame();
-  const ::gtxilib::oopclasses::protos::Rect& ax_frame() const;
-  ::gtxilib::oopclasses::protos::Rect* release_ax_frame();
-  ::gtxilib::oopclasses::protos::Rect* mutable_ax_frame();
-  void set_allocated_ax_frame(::gtxilib::oopclasses::protos::Rect* ax_frame);
-  private:
-  const ::gtxilib::oopclasses::protos::Rect& _internal_ax_frame() const;
-  ::gtxilib::oopclasses::protos::Rect* _internal_mutable_ax_frame();
-  public:
-  void unsafe_arena_set_allocated_ax_frame(
-      ::gtxilib::oopclasses::protos::Rect* ax_frame);
-  ::gtxilib::oopclasses::protos::Rect* unsafe_arena_release_ax_frame();
-
-  // .gtxilib.oopclasses.protos.Color background_color = 16;
-  bool has_background_color() const;
-  private:
-  bool _internal_has_background_color() const;
-  public:
-  void clear_background_color();
-  const ::gtxilib::oopclasses::protos::Color& background_color() const;
-  ::gtxilib::oopclasses::protos::Color* release_background_color();
-  ::gtxilib::oopclasses::protos::Color* mutable_background_color();
-  void set_allocated_background_color(::gtxilib::oopclasses::protos::Color* background_color);
-  private:
-  const ::gtxilib::oopclasses::protos::Color& _internal_background_color() const;
-  ::gtxilib::oopclasses::protos::Color* _internal_mutable_background_color();
-  public:
-  void unsafe_arena_set_allocated_background_color(
-      ::gtxilib::oopclasses::protos::Color* background_color);
-  ::gtxilib::oopclasses::protos::Color* unsafe_arena_release_background_color();
-
-  // .gtxilib.oopclasses.protos.Color tint_color = 21;
-  bool has_tint_color() const;
-  private:
-  bool _internal_has_tint_color() const;
-  public:
-  void clear_tint_color();
-  const ::gtxilib::oopclasses::protos::Color& tint_color() const;
-  ::gtxilib::oopclasses::protos::Color* release_tint_color();
-  ::gtxilib::oopclasses::protos::Color* mutable_tint_color();
-  void set_allocated_tint_color(::gtxilib::oopclasses::protos::Color* tint_color);
-  private:
-  const ::gtxilib::oopclasses::protos::Color& _internal_tint_color() const;
-  ::gtxilib::oopclasses::protos::Color* _internal_mutable_tint_color();
-  public:
-  void unsafe_arena_set_allocated_tint_color(
-      ::gtxilib::oopclasses::protos::Color* tint_color);
-  ::gtxilib::oopclasses::protos::Color* unsafe_arena_release_tint_color();
-
-  // .gtxilib.oopclasses.protos.Rect frame = 26;
-  bool has_frame() const;
-  private:
-  bool _internal_has_frame() const;
-  public:
-  void clear_frame();
-  const ::gtxilib::oopclasses::protos::Rect& frame() const;
-  ::gtxilib::oopclasses::protos::Rect* release_frame();
-  ::gtxilib::oopclasses::protos::Rect* mutable_frame();
-  void set_allocated_frame(::gtxilib::oopclasses::protos::Rect* frame);
-  private:
-  const ::gtxilib::oopclasses::protos::Rect& _internal_frame() const;
-  ::gtxilib::oopclasses::protos::Rect* _internal_mutable_frame();
-  public:
-  void unsafe_arena_set_allocated_frame(
-      ::gtxilib::oopclasses::protos::Rect* frame);
-  ::gtxilib::oopclasses::protos::Rect* unsafe_arena_release_frame();
-
-  // .gtxilib.oopclasses.protos.Rect bounds = 27;
-  bool has_bounds() const;
-  private:
-  bool _internal_has_bounds() const;
-  public:
-  void clear_bounds();
-  const ::gtxilib::oopclasses::protos::Rect& bounds() const;
-  ::gtxilib::oopclasses::protos::Rect* release_bounds();
-  ::gtxilib::oopclasses::protos::Rect* mutable_bounds();
-  void set_allocated_bounds(::gtxilib::oopclasses::protos::Rect* bounds);
-  private:
-  const ::gtxilib::oopclasses::protos::Rect& _internal_bounds() const;
-  ::gtxilib::oopclasses::protos::Rect* _internal_mutable_bounds();
-  public:
-  void unsafe_arena_set_allocated_bounds(
-      ::gtxilib::oopclasses::protos::Rect* bounds);
-  ::gtxilib::oopclasses::protos::Rect* unsafe_arena_release_bounds();
-
-  // int32 id = 1;
+  int32_t id() const;
   bool has_id() const;
-  private:
-  bool _internal_has_id() const;
-  public:
   void clear_id();
-  ::PROTOBUF_NAMESPACE_ID::int32 id() const;
-  void set_id(::PROTOBUF_NAMESPACE_ID::int32 value);
-  private:
-  ::PROTOBUF_NAMESPACE_ID::int32 _internal_id() const;
-  void _internal_set_id(::PROTOBUF_NAMESPACE_ID::int32 value);
-  public:
+  void set_id(int32_t new_id);
+  int32_t* mutable_id();
 
-  // int32 parent_id = 2;
+  int32_t parent_id() const;
   bool has_parent_id() const;
-  private:
-  bool _internal_has_parent_id() const;
-  public:
   void clear_parent_id();
-  ::PROTOBUF_NAMESPACE_ID::int32 parent_id() const;
-  void set_parent_id(::PROTOBUF_NAMESPACE_ID::int32 value);
-  private:
-  ::PROTOBUF_NAMESPACE_ID::int32 _internal_parent_id() const;
-  void _internal_set_parent_id(::PROTOBUF_NAMESPACE_ID::int32 value);
-  public:
+  void set_parent_id(int32_t new_parent_id);
+  int32_t* mutable_parent_id();
 
-  // uint64 ax_traits = 5;
-  bool has_ax_traits() const;
-  private:
-  bool _internal_has_ax_traits() const;
-  public:
-  void clear_ax_traits();
-  ::PROTOBUF_NAMESPACE_ID::uint64 ax_traits() const;
-  void set_ax_traits(::PROTOBUF_NAMESPACE_ID::uint64 value);
-  private:
-  ::PROTOBUF_NAMESPACE_ID::uint64 _internal_ax_traits() const;
-  void _internal_set_ax_traits(::PROTOBUF_NAMESPACE_ID::uint64 value);
-  public:
+  int32_t child_ids(int index) const;
+  const std::vector<int32_t>& child_ids() const;
+  bool has_child_ids() const;
+  void clear_child_ids();
+  void set_child_ids(int index, int32_t new_child_ids);
+  int32_t* mutable_child_ids(int index);
+  void add_child_ids(int32_t new_child_ids);
+  int child_ids_size() const;
 
-  // bool is_ax_element = 4;
-  bool has_is_ax_element() const;
-  private:
-  bool _internal_has_is_ax_element() const;
-  public:
-  void clear_is_ax_element();
   bool is_ax_element() const;
-  void set_is_ax_element(bool value);
-  private:
-  bool _internal_is_ax_element() const;
-  void _internal_set_is_ax_element(bool value);
-  public:
+  bool has_is_ax_element() const;
+  void clear_is_ax_element();
+  void set_is_ax_element(bool new_is_ax_element);
+  bool* mutable_is_ax_element();
 
-  // bool hittable = 10;
-  bool has_hittable() const;
-  private:
-  bool _internal_has_hittable() const;
-  public:
-  void clear_hittable();
+  uint64_t ax_traits() const;
+  bool has_ax_traits() const;
+  void clear_ax_traits();
+  void set_ax_traits(uint64_t new_ax_traits);
+  uint64_t* mutable_ax_traits();
+
+  std::string ax_label() const;
+  bool has_ax_label() const;
+  void clear_ax_label();
+  void set_ax_label(std::string new_ax_label);
+  std::string* mutable_ax_label();
+
+  std::string ax_hint() const;
+  bool has_ax_hint() const;
+  void clear_ax_hint();
+  void set_ax_hint(std::string new_ax_hint);
+  std::string* mutable_ax_hint();
+
+  const Rect& ax_frame() const;
+  bool has_ax_frame() const;
+  void clear_ax_frame();
+  void set_ax_frame(const Rect& new_ax_frame);
+  Rect* mutable_ax_frame();
+
+  std::string ax_identifier() const;
+  bool has_ax_identifier() const;
+  void clear_ax_identifier();
+  void set_ax_identifier(std::string new_ax_identifier);
+  std::string* mutable_ax_identifier();
+
   bool hittable() const;
-  void set_hittable(bool value);
-  private:
-  bool _internal_hittable() const;
-  void _internal_set_hittable(bool value);
-  public:
+  bool has_hittable() const;
+  void clear_hittable();
+  void set_hittable(bool new_hittable);
+  bool* mutable_hittable();
 
-  // bool exists = 11;
-  bool has_exists() const;
-  private:
-  bool _internal_has_exists() const;
-  public:
-  void clear_exists();
   bool exists() const;
-  void set_exists(bool value);
-  private:
-  bool _internal_exists() const;
-  void _internal_set_exists(bool value);
-  public:
+  bool has_exists() const;
+  void clear_exists();
+  void set_exists(bool new_exists);
+  bool* mutable_exists();
 
-  // bool xc_selected = 12;
-  bool has_xc_selected() const;
-  private:
-  bool _internal_has_xc_selected() const;
-  public:
-  void clear_xc_selected();
   bool xc_selected() const;
-  void set_xc_selected(bool value);
-  private:
-  bool _internal_xc_selected() const;
-  void _internal_set_xc_selected(bool value);
-  public:
+  bool has_xc_selected() const;
+  void clear_xc_selected();
+  void set_xc_selected(bool new_xc_selected);
+  bool* mutable_xc_selected();
 
-  // .gtxilib.oopclasses.protos.ElementType.ElementTypeEnum element_type = 14;
-  bool has_element_type() const;
-  private:
-  bool _internal_has_element_type() const;
-  public:
-  void clear_element_type();
-  ::gtxilib::oopclasses::protos::ElementType_ElementTypeEnum element_type() const;
-  void set_element_type(::gtxilib::oopclasses::protos::ElementType_ElementTypeEnum value);
-  private:
-  ::gtxilib::oopclasses::protos::ElementType_ElementTypeEnum _internal_element_type() const;
-  void _internal_set_element_type(::gtxilib::oopclasses::protos::ElementType_ElementTypeEnum value);
-  public:
-
-  // float alpha = 18;
-  bool has_alpha() const;
-  private:
-  bool _internal_has_alpha() const;
-  public:
-  void clear_alpha();
-  float alpha() const;
-  void set_alpha(float value);
-  private:
-  float _internal_alpha() const;
-  void _internal_set_alpha(float value);
-  public:
-
-  // bool xc_enabled = 13;
-  bool has_xc_enabled() const;
-  private:
-  bool _internal_has_xc_enabled() const;
-  public:
-  void clear_xc_enabled();
   bool xc_enabled() const;
-  void set_xc_enabled(bool value);
-  private:
-  bool _internal_xc_enabled() const;
-  void _internal_set_xc_enabled(bool value);
-  public:
+  bool has_xc_enabled() const;
+  void clear_xc_enabled();
+  void set_xc_enabled(bool new_xc_enabled);
+  bool* mutable_xc_enabled();
 
-  // bool hidden = 17;
-  bool has_hidden() const;
-  private:
-  bool _internal_has_hidden() const;
-  public:
-  void clear_hidden();
+  ElementType_ElementTypeEnum element_type() const;
+  bool has_element_type() const;
+  void clear_element_type();
+  void set_element_type(ElementType_ElementTypeEnum new_element_type);
+  ElementType_ElementTypeEnum* mutable_element_type();
+
+  std::string class_names_hierarchy(int index) const;
+  const std::vector<std::string>& class_names_hierarchy() const;
+  bool has_class_names_hierarchy() const;
+  void clear_class_names_hierarchy();
+  void set_class_names_hierarchy(int index, std::string new_class_names_hierarchy);
+  std::string* mutable_class_names_hierarchy(int index);
+  void add_class_names_hierarchy(std::string new_class_names_hierarchy);
+  int class_names_hierarchy_size() const;
+
+  const Color& background_color() const;
+  bool has_background_color() const;
+  void clear_background_color();
+  void set_background_color(const Color& new_background_color);
+  Color* mutable_background_color();
+
   bool hidden() const;
-  void set_hidden(bool value);
-  private:
-  bool _internal_hidden() const;
-  void _internal_set_hidden(bool value);
-  public:
+  bool has_hidden() const;
+  void clear_hidden();
+  void set_hidden(bool new_hidden);
+  bool* mutable_hidden();
 
-  // bool opaque = 20;
-  bool has_opaque() const;
-  private:
-  bool _internal_has_opaque() const;
-  public:
-  void clear_opaque();
+  float alpha() const;
+  bool has_alpha() const;
+  void clear_alpha();
+  void set_alpha(float new_alpha);
+  float* mutable_alpha();
+
   bool opaque() const;
-  void set_opaque(bool value);
-  private:
-  bool _internal_opaque() const;
-  void _internal_set_opaque(bool value);
-  public:
+  bool has_opaque() const;
+  void clear_opaque();
+  void set_opaque(bool new_opaque);
+  bool* mutable_opaque();
 
-  // bool clips_to_bounds = 22;
-  bool has_clips_to_bounds() const;
-  private:
-  bool _internal_has_clips_to_bounds() const;
-  public:
-  void clear_clips_to_bounds();
+  const Color& tint_color() const;
+  bool has_tint_color() const;
+  void clear_tint_color();
+  void set_tint_color(const Color& new_tint_color);
+  Color* mutable_tint_color();
+
   bool clips_to_bounds() const;
-  void set_clips_to_bounds(bool value);
-  private:
-  bool _internal_clips_to_bounds() const;
-  void _internal_set_clips_to_bounds(bool value);
-  public:
+  bool has_clips_to_bounds() const;
+  void clear_clips_to_bounds();
+  void set_clips_to_bounds(bool new_clips_to_bounds);
+  bool* mutable_clips_to_bounds();
 
-  // uint64 control_state = 28;
-  bool has_control_state() const;
-  private:
-  bool _internal_has_control_state() const;
-  public:
-  void clear_control_state();
-  ::PROTOBUF_NAMESPACE_ID::uint64 control_state() const;
-  void set_control_state(::PROTOBUF_NAMESPACE_ID::uint64 value);
-  private:
-  ::PROTOBUF_NAMESPACE_ID::uint64 _internal_control_state() const;
-  void _internal_set_control_state(::PROTOBUF_NAMESPACE_ID::uint64 value);
-  public:
-
-  // bool user_interaction_enabled = 23;
-  bool has_user_interaction_enabled() const;
-  private:
-  bool _internal_has_user_interaction_enabled() const;
-  public:
-  void clear_user_interaction_enabled();
   bool user_interaction_enabled() const;
-  void set_user_interaction_enabled(bool value);
-  private:
-  bool _internal_user_interaction_enabled() const;
-  void _internal_set_user_interaction_enabled(bool value);
-  public:
+  bool has_user_interaction_enabled() const;
+  void clear_user_interaction_enabled();
+  void set_user_interaction_enabled(bool new_user_interaction_enabled);
+  bool* mutable_user_interaction_enabled();
 
-  // bool multiple_touch_enabled = 24;
-  bool has_multiple_touch_enabled() const;
-  private:
-  bool _internal_has_multiple_touch_enabled() const;
-  public:
-  void clear_multiple_touch_enabled();
   bool multiple_touch_enabled() const;
-  void set_multiple_touch_enabled(bool value);
-  private:
-  bool _internal_multiple_touch_enabled() const;
-  void _internal_set_multiple_touch_enabled(bool value);
-  public:
+  bool has_multiple_touch_enabled() const;
+  void clear_multiple_touch_enabled();
+  void set_multiple_touch_enabled(bool new_multiple_touch_enabled);
+  bool* mutable_multiple_touch_enabled();
 
-  // bool exclusive_touch = 25;
-  bool has_exclusive_touch() const;
-  private:
-  bool _internal_has_exclusive_touch() const;
-  public:
-  void clear_exclusive_touch();
   bool exclusive_touch() const;
-  void set_exclusive_touch(bool value);
-  private:
-  bool _internal_exclusive_touch() const;
-  void _internal_set_exclusive_touch(bool value);
-  public:
+  bool has_exclusive_touch() const;
+  void clear_exclusive_touch();
+  void set_exclusive_touch(bool new_exclusive_touch);
+  bool* mutable_exclusive_touch();
 
-  // bool enabled = 29;
-  bool has_enabled() const;
-  private:
-  bool _internal_has_enabled() const;
-  public:
-  void clear_enabled();
+  const Rect& frame() const;
+  bool has_frame() const;
+  void clear_frame();
+  void set_frame(const Rect& new_frame);
+  Rect* mutable_frame();
+
+  const Rect& bounds() const;
+  bool has_bounds() const;
+  void clear_bounds();
+  void set_bounds(const Rect& new_bounds);
+  Rect* mutable_bounds();
+
+  uint64_t control_state() const;
+  bool has_control_state() const;
+  void clear_control_state();
+  void set_control_state(uint64_t new_control_state);
+  uint64_t* mutable_control_state();
+
   bool enabled() const;
-  void set_enabled(bool value);
-  private:
-  bool _internal_enabled() const;
-  void _internal_set_enabled(bool value);
-  public:
+  bool has_enabled() const;
+  void clear_enabled();
+  void set_enabled(bool new_enabled);
+  bool* mutable_enabled();
 
-  // bool selected = 30;
-  bool has_selected() const;
-  private:
-  bool _internal_has_selected() const;
-  public:
-  void clear_selected();
   bool selected() const;
-  void set_selected(bool value);
-  private:
-  bool _internal_selected() const;
-  void _internal_set_selected(bool value);
-  public:
+  bool has_selected() const;
+  void clear_selected();
+  void set_selected(bool new_selected);
+  bool* mutable_selected();
 
-  // bool highlighted = 31;
-  bool has_highlighted() const;
-  private:
-  bool _internal_has_highlighted() const;
-  public:
-  void clear_highlighted();
   bool highlighted() const;
-  void set_highlighted(bool value);
-  private:
-  bool _internal_highlighted() const;
-  void _internal_set_highlighted(bool value);
-  public:
+  bool has_highlighted() const;
+  void clear_highlighted();
+  void set_highlighted(bool new_highlighted);
+  bool* mutable_highlighted();
 
-  // bool on = 34;
-  bool has_on() const;
-  private:
-  bool _internal_has_on() const;
-  public:
-  void clear_on();
+  std::string title() const;
+  bool has_title() const;
+  void clear_title();
+  void set_title(std::string new_title);
+  std::string* mutable_title();
+
+  std::string text() const;
+  bool has_text() const;
+  void clear_text();
+  void set_text(std::string new_text);
+  std::string* mutable_text();
+
   bool on() const;
-  void set_on(bool value);
-  private:
-  bool _internal_on() const;
-  void _internal_set_on(bool value);
-  public:
+  bool has_on() const;
+  void clear_on();
+  void set_on(bool new_on);
+  bool* mutable_on();
 
-  // float value = 35;
-  bool has_value() const;
-  private:
-  bool _internal_has_value() const;
-  public:
-  void clear_value();
   float value() const;
-  void set_value(float value);
-  private:
-  float _internal_value() const;
-  void _internal_set_value(float value);
-  public:
+  bool has_value() const;
+  void clear_value();
+  void set_value(float new_value);
+  float* mutable_value();
 
-  // @@protoc_insertion_point(class_scope:gtxilib.oopclasses.protos.UIElement)
- private:
-  class _Internal;
-
-  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
-  typedef void InternalArenaConstructable_;
-  typedef void DestructorSkippable_;
-  ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
-  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
-  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > child_ids_;
-  mutable std::atomic<int> _child_ids_cached_byte_size_;
-  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string> class_names_hierarchy_;
-  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr ax_label_;
-  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr ax_hint_;
-  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr ax_identifier_;
-  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr title_;
-  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr text_;
-  ::gtxilib::oopclasses::protos::Rect* ax_frame_;
-  ::gtxilib::oopclasses::protos::Color* background_color_;
-  ::gtxilib::oopclasses::protos::Color* tint_color_;
-  ::gtxilib::oopclasses::protos::Rect* frame_;
-  ::gtxilib::oopclasses::protos::Rect* bounds_;
-  ::PROTOBUF_NAMESPACE_ID::int32 id_;
-  ::PROTOBUF_NAMESPACE_ID::int32 parent_id_;
-  ::PROTOBUF_NAMESPACE_ID::uint64 ax_traits_;
-  bool is_ax_element_;
-  bool hittable_;
-  bool exists_;
-  bool xc_selected_;
-  int element_type_;
-  float alpha_;
-  bool xc_enabled_;
-  bool hidden_;
-  bool opaque_;
-  bool clips_to_bounds_;
-  ::PROTOBUF_NAMESPACE_ID::uint64 control_state_;
-  bool user_interaction_enabled_;
-  bool multiple_touch_enabled_;
-  bool exclusive_touch_;
-  bool enabled_;
-  bool selected_;
-  bool highlighted_;
-  bool on_;
-  float value_;
-  friend struct ::TableStruct_gtx_2eproto;
+private:
+  int32_t id_ = int32_t();
+  bool has_id_ = false;
+  int32_t parent_id_ = int32_t();
+  bool has_parent_id_ = false;
+  std::vector<int32_t> child_ids_ = std::vector<int32_t>();
+  bool has_child_ids_ = false;
+  bool is_ax_element_ = bool();
+  bool has_is_ax_element_ = false;
+  uint64_t ax_traits_ = uint64_t();
+  bool has_ax_traits_ = false;
+  std::string ax_label_ = std::string();
+  bool has_ax_label_ = false;
+  std::string ax_hint_ = std::string();
+  bool has_ax_hint_ = false;
+  Rect ax_frame_ = Rect();
+  bool has_ax_frame_ = false;
+  std::string ax_identifier_ = std::string();
+  bool has_ax_identifier_ = false;
+  bool hittable_ = bool();
+  bool has_hittable_ = false;
+  bool exists_ = bool();
+  bool has_exists_ = false;
+  bool xc_selected_ = bool();
+  bool has_xc_selected_ = false;
+  bool xc_enabled_ = bool();
+  bool has_xc_enabled_ = false;
+  ElementType_ElementTypeEnum element_type_ = ElementType_ElementTypeEnum();
+  bool has_element_type_ = false;
+  std::vector<std::string> class_names_hierarchy_ = std::vector<std::string>();
+  bool has_class_names_hierarchy_ = false;
+  Color background_color_ = Color();
+  bool has_background_color_ = false;
+  bool hidden_ = bool();
+  bool has_hidden_ = false;
+  float alpha_ = float();
+  bool has_alpha_ = false;
+  bool opaque_ = bool();
+  bool has_opaque_ = false;
+  Color tint_color_ = Color();
+  bool has_tint_color_ = false;
+  bool clips_to_bounds_ = bool();
+  bool has_clips_to_bounds_ = false;
+  bool user_interaction_enabled_ = bool();
+  bool has_user_interaction_enabled_ = false;
+  bool multiple_touch_enabled_ = bool();
+  bool has_multiple_touch_enabled_ = false;
+  bool exclusive_touch_ = bool();
+  bool has_exclusive_touch_ = false;
+  Rect frame_ = Rect();
+  bool has_frame_ = false;
+  Rect bounds_ = Rect();
+  bool has_bounds_ = false;
+  uint64_t control_state_ = uint64_t();
+  bool has_control_state_ = false;
+  bool enabled_ = bool();
+  bool has_enabled_ = false;
+  bool selected_ = bool();
+  bool has_selected_ = false;
+  bool highlighted_ = bool();
+  bool has_highlighted_ = false;
+  std::string title_ = std::string();
+  bool has_title_ = false;
+  std::string text_ = std::string();
+  bool has_text_ = false;
+  bool on_ = bool();
+  bool has_on_ = false;
+  float value_ = float();
+  bool has_value_ = false;
 };
-// -------------------------------------------------------------------
 
-class DeviceState PROTOBUF_FINAL :
-    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:gtxilib.oopclasses.protos.DeviceState) */ {
- public:
-  inline DeviceState() : DeviceState(nullptr) {}
-  virtual ~DeviceState();
 
-  DeviceState(const DeviceState& from);
-  DeviceState(DeviceState&& from) noexcept
-    : DeviceState() {
-    *this = ::std::move(from);
-  }
+class DisplayMetrics {
 
-  inline DeviceState& operator=(const DeviceState& from) {
-    CopyFrom(from);
-    return *this;
-  }
-  inline DeviceState& operator=(DeviceState&& from) noexcept {
-    if (GetArena() == from.GetArena()) {
-      if (this != &from) InternalSwap(&from);
-    } else {
-      CopyFrom(from);
-    }
-    return *this;
-  }
+public:
 
-  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
-    return GetDescriptor();
-  }
-  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
-    return GetMetadataStatic().descriptor;
-  }
-  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
-    return GetMetadataStatic().reflection;
-  }
-  static const DeviceState& default_instance();
 
-  static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
-  static inline const DeviceState* internal_default_instance() {
-    return reinterpret_cast<const DeviceState*>(
-               &_DeviceState_default_instance_);
-  }
-  static constexpr int kIndexInFileMessages =
-    5;
-
-  friend void swap(DeviceState& a, DeviceState& b) {
-    a.Swap(&b);
-  }
-  inline void Swap(DeviceState* other) {
-    if (other == this) return;
-    if (GetArena() == other->GetArena()) {
-      InternalSwap(other);
-    } else {
-      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
-    }
-  }
-  void UnsafeArenaSwap(DeviceState* other) {
-    if (other == this) return;
-    GOOGLE_DCHECK(GetArena() == other->GetArena());
-    InternalSwap(other);
-  }
-
-  // implements Message ----------------------------------------------
-
-  inline DeviceState* New() const final {
-    return CreateMaybeMessage<DeviceState>(nullptr);
-  }
-
-  DeviceState* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
-    return CreateMaybeMessage<DeviceState>(arena);
-  }
-  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
-  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
-  void CopyFrom(const DeviceState& from);
-  void MergeFrom(const DeviceState& from);
-  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
-  bool IsInitialized() const final;
-
-  size_t ByteSizeLong() const final;
-  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
-  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
-      ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
-  int GetCachedSize() const final { return _cached_size_.Get(); }
-
-  private:
-  inline void SharedCtor();
-  inline void SharedDtor();
-  void SetCachedSize(int size) const final;
-  void InternalSwap(DeviceState* other);
-  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
-  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
-    return "gtxilib.oopclasses.protos.DeviceState";
-  }
-  protected:
-  explicit DeviceState(::PROTOBUF_NAMESPACE_ID::Arena* arena);
-  private:
-  static void ArenaDtor(void* object);
-  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
-  public:
-
-  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
-  private:
-  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
-    ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_gtx_2eproto);
-    return ::descriptor_table_gtx_2eproto.file_level_metadata[kIndexInFileMessages];
-  }
-
-  public:
-
-  // nested types ----------------------------------------------------
-
-  // accessors -------------------------------------------------------
-
-  enum : int {
-    kIosVersionFieldNumber = 2,
-    kDisplayMetricsFieldNumber = 1,
-  };
-  // string ios_version = 2;
-  bool has_ios_version() const;
-  private:
-  bool _internal_has_ios_version() const;
-  public:
-  void clear_ios_version();
-  const std::string& ios_version() const;
-  void set_ios_version(const std::string& value);
-  void set_ios_version(std::string&& value);
-  void set_ios_version(const char* value);
-  void set_ios_version(const char* value, size_t size);
-  std::string* mutable_ios_version();
-  std::string* release_ios_version();
-  void set_allocated_ios_version(std::string* ios_version);
-  private:
-  const std::string& _internal_ios_version() const;
-  void _internal_set_ios_version(const std::string& value);
-  std::string* _internal_mutable_ios_version();
-  public:
-
-  // .gtxilib.oopclasses.protos.DisplayMetrics display_metrics = 1;
-  bool has_display_metrics() const;
-  private:
-  bool _internal_has_display_metrics() const;
-  public:
-  void clear_display_metrics();
-  const ::gtxilib::oopclasses::protos::DisplayMetrics& display_metrics() const;
-  ::gtxilib::oopclasses::protos::DisplayMetrics* release_display_metrics();
-  ::gtxilib::oopclasses::protos::DisplayMetrics* mutable_display_metrics();
-  void set_allocated_display_metrics(::gtxilib::oopclasses::protos::DisplayMetrics* display_metrics);
-  private:
-  const ::gtxilib::oopclasses::protos::DisplayMetrics& _internal_display_metrics() const;
-  ::gtxilib::oopclasses::protos::DisplayMetrics* _internal_mutable_display_metrics();
-  public:
-  void unsafe_arena_set_allocated_display_metrics(
-      ::gtxilib::oopclasses::protos::DisplayMetrics* display_metrics);
-  ::gtxilib::oopclasses::protos::DisplayMetrics* unsafe_arena_release_display_metrics();
-
-  // @@protoc_insertion_point(class_scope:gtxilib.oopclasses.protos.DeviceState)
- private:
-  class _Internal;
-
-  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
-  typedef void InternalArenaConstructable_;
-  typedef void DestructorSkippable_;
-  ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
-  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
-  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr ios_version_;
-  ::gtxilib::oopclasses::protos::DisplayMetrics* display_metrics_;
-  friend struct ::TableStruct_gtx_2eproto;
-};
-// -------------------------------------------------------------------
-
-class DisplayMetrics PROTOBUF_FINAL :
-    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:gtxilib.oopclasses.protos.DisplayMetrics) */ {
- public:
-  inline DisplayMetrics() : DisplayMetrics(nullptr) {}
-  virtual ~DisplayMetrics();
-
-  DisplayMetrics(const DisplayMetrics& from);
-  DisplayMetrics(DisplayMetrics&& from) noexcept
-    : DisplayMetrics() {
-    *this = ::std::move(from);
-  }
-
-  inline DisplayMetrics& operator=(const DisplayMetrics& from) {
-    CopyFrom(from);
-    return *this;
-  }
-  inline DisplayMetrics& operator=(DisplayMetrics&& from) noexcept {
-    if (GetArena() == from.GetArena()) {
-      if (this != &from) InternalSwap(&from);
-    } else {
-      CopyFrom(from);
-    }
-    return *this;
-  }
-
-  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
-    return GetDescriptor();
-  }
-  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
-    return GetMetadataStatic().descriptor;
-  }
-  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
-    return GetMetadataStatic().reflection;
-  }
-  static const DisplayMetrics& default_instance();
-
-  static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
-  static inline const DisplayMetrics* internal_default_instance() {
-    return reinterpret_cast<const DisplayMetrics*>(
-               &_DisplayMetrics_default_instance_);
-  }
-  static constexpr int kIndexInFileMessages =
-    6;
-
-  friend void swap(DisplayMetrics& a, DisplayMetrics& b) {
-    a.Swap(&b);
-  }
-  inline void Swap(DisplayMetrics* other) {
-    if (other == this) return;
-    if (GetArena() == other->GetArena()) {
-      InternalSwap(other);
-    } else {
-      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
-    }
-  }
-  void UnsafeArenaSwap(DisplayMetrics* other) {
-    if (other == this) return;
-    GOOGLE_DCHECK(GetArena() == other->GetArena());
-    InternalSwap(other);
-  }
-
-  // implements Message ----------------------------------------------
-
-  inline DisplayMetrics* New() const final {
-    return CreateMaybeMessage<DisplayMetrics>(nullptr);
-  }
-
-  DisplayMetrics* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
-    return CreateMaybeMessage<DisplayMetrics>(arena);
-  }
-  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
-  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
-  void CopyFrom(const DisplayMetrics& from);
-  void MergeFrom(const DisplayMetrics& from);
-  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
-  bool IsInitialized() const final;
-
-  size_t ByteSizeLong() const final;
-  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
-  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
-      ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
-  int GetCachedSize() const final { return _cached_size_.Get(); }
-
-  private:
-  inline void SharedCtor();
-  inline void SharedDtor();
-  void SetCachedSize(int size) const final;
-  void InternalSwap(DisplayMetrics* other);
-  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
-  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
-    return "gtxilib.oopclasses.protos.DisplayMetrics";
-  }
-  protected:
-  explicit DisplayMetrics(::PROTOBUF_NAMESPACE_ID::Arena* arena);
-  private:
-  static void ArenaDtor(void* object);
-  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
-  public:
-
-  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
-  private:
-  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
-    ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_gtx_2eproto);
-    return ::descriptor_table_gtx_2eproto.file_level_metadata[kIndexInFileMessages];
-  }
-
-  public:
-
-  // nested types ----------------------------------------------------
-
-  // accessors -------------------------------------------------------
-
-  enum : int {
-    kScreenWidthFieldNumber = 1,
-    kScreenHeightFieldNumber = 2,
-    kScreenScaleFieldNumber = 3,
-  };
-  // int32 screen_width = 1;
+  int32_t screen_width() const;
   bool has_screen_width() const;
-  private:
-  bool _internal_has_screen_width() const;
-  public:
   void clear_screen_width();
-  ::PROTOBUF_NAMESPACE_ID::int32 screen_width() const;
-  void set_screen_width(::PROTOBUF_NAMESPACE_ID::int32 value);
-  private:
-  ::PROTOBUF_NAMESPACE_ID::int32 _internal_screen_width() const;
-  void _internal_set_screen_width(::PROTOBUF_NAMESPACE_ID::int32 value);
-  public:
+  void set_screen_width(int32_t new_screen_width);
+  int32_t* mutable_screen_width();
 
-  // int32 screen_height = 2;
+  int32_t screen_height() const;
   bool has_screen_height() const;
-  private:
-  bool _internal_has_screen_height() const;
-  public:
   void clear_screen_height();
-  ::PROTOBUF_NAMESPACE_ID::int32 screen_height() const;
-  void set_screen_height(::PROTOBUF_NAMESPACE_ID::int32 value);
-  private:
-  ::PROTOBUF_NAMESPACE_ID::int32 _internal_screen_height() const;
-  void _internal_set_screen_height(::PROTOBUF_NAMESPACE_ID::int32 value);
-  public:
+  void set_screen_height(int32_t new_screen_height);
+  int32_t* mutable_screen_height();
 
-  // float screen_scale = 3;
-  bool has_screen_scale() const;
-  private:
-  bool _internal_has_screen_scale() const;
-  public:
-  void clear_screen_scale();
   float screen_scale() const;
-  void set_screen_scale(float value);
-  private:
-  float _internal_screen_scale() const;
-  void _internal_set_screen_scale(float value);
-  public:
+  bool has_screen_scale() const;
+  void clear_screen_scale();
+  void set_screen_scale(float new_screen_scale);
+  float* mutable_screen_scale();
 
-  // @@protoc_insertion_point(class_scope:gtxilib.oopclasses.protos.DisplayMetrics)
- private:
-  class _Internal;
-
-  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
-  typedef void InternalArenaConstructable_;
-  typedef void DestructorSkippable_;
-  ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
-  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
-  ::PROTOBUF_NAMESPACE_ID::int32 screen_width_;
-  ::PROTOBUF_NAMESPACE_ID::int32 screen_height_;
-  float screen_scale_;
-  friend struct ::TableStruct_gtx_2eproto;
+private:
+  int32_t screen_width_ = int32_t();
+  bool has_screen_width_ = false;
+  int32_t screen_height_ = int32_t();
+  bool has_screen_height_ = false;
+  float screen_scale_ = float();
+  bool has_screen_scale_ = false;
 };
-// -------------------------------------------------------------------
 
-class AccessibilityHierarchy PROTOBUF_FINAL :
-    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:gtxilib.oopclasses.protos.AccessibilityHierarchy) */ {
- public:
-  inline AccessibilityHierarchy() : AccessibilityHierarchy(nullptr) {}
-  virtual ~AccessibilityHierarchy();
 
-  AccessibilityHierarchy(const AccessibilityHierarchy& from);
-  AccessibilityHierarchy(AccessibilityHierarchy&& from) noexcept
-    : AccessibilityHierarchy() {
-    *this = ::std::move(from);
-  }
+class DeviceState {
 
-  inline AccessibilityHierarchy& operator=(const AccessibilityHierarchy& from) {
-    CopyFrom(from);
-    return *this;
-  }
-  inline AccessibilityHierarchy& operator=(AccessibilityHierarchy&& from) noexcept {
-    if (GetArena() == from.GetArena()) {
-      if (this != &from) InternalSwap(&from);
-    } else {
-      CopyFrom(from);
-    }
-    return *this;
-  }
+public:
 
-  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
-    return GetDescriptor();
-  }
-  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
-    return GetMetadataStatic().descriptor;
-  }
-  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
-    return GetMetadataStatic().reflection;
-  }
-  static const AccessibilityHierarchy& default_instance();
 
-  static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
-  static inline const AccessibilityHierarchy* internal_default_instance() {
-    return reinterpret_cast<const AccessibilityHierarchy*>(
-               &_AccessibilityHierarchy_default_instance_);
-  }
-  static constexpr int kIndexInFileMessages =
-    7;
+  const DisplayMetrics& display_metrics() const;
+  bool has_display_metrics() const;
+  void clear_display_metrics();
+  void set_display_metrics(const DisplayMetrics& new_display_metrics);
+  DisplayMetrics* mutable_display_metrics();
 
-  friend void swap(AccessibilityHierarchy& a, AccessibilityHierarchy& b) {
-    a.Swap(&b);
-  }
-  inline void Swap(AccessibilityHierarchy* other) {
-    if (other == this) return;
-    if (GetArena() == other->GetArena()) {
-      InternalSwap(other);
-    } else {
-      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
-    }
-  }
-  void UnsafeArenaSwap(AccessibilityHierarchy* other) {
-    if (other == this) return;
-    GOOGLE_DCHECK(GetArena() == other->GetArena());
-    InternalSwap(other);
-  }
+  std::string ios_version() const;
+  bool has_ios_version() const;
+  void clear_ios_version();
+  void set_ios_version(std::string new_ios_version);
+  std::string* mutable_ios_version();
 
-  // implements Message ----------------------------------------------
+private:
+  DisplayMetrics display_metrics_ = DisplayMetrics();
+  bool has_display_metrics_ = false;
+  std::string ios_version_ = std::string();
+  bool has_ios_version_ = false;
+};
 
-  inline AccessibilityHierarchy* New() const final {
-    return CreateMaybeMessage<AccessibilityHierarchy>(nullptr);
-  }
 
-  AccessibilityHierarchy* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
-    return CreateMaybeMessage<AccessibilityHierarchy>(arena);
-  }
-  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
-  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
-  void CopyFrom(const AccessibilityHierarchy& from);
-  void MergeFrom(const AccessibilityHierarchy& from);
-  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
-  bool IsInitialized() const final;
+class AccessibilityHierarchy {
 
-  size_t ByteSizeLong() const final;
-  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
-  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
-      ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
-  int GetCachedSize() const final { return _cached_size_.Get(); }
+public:
 
-  private:
-  inline void SharedCtor();
-  inline void SharedDtor();
-  void SetCachedSize(int size) const final;
-  void InternalSwap(AccessibilityHierarchy* other);
-  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
-  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
-    return "gtxilib.oopclasses.protos.AccessibilityHierarchy";
-  }
-  protected:
-  explicit AccessibilityHierarchy(::PROTOBUF_NAMESPACE_ID::Arena* arena);
-  private:
-  static void ArenaDtor(void* object);
-  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
-  public:
 
-  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
-  private:
-  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
-    ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_gtx_2eproto);
-    return ::descriptor_table_gtx_2eproto.file_level_metadata[kIndexInFileMessages];
-  }
-
-  public:
-
-  // nested types ----------------------------------------------------
-
-  // accessors -------------------------------------------------------
-
-  enum : int {
-    kElementsFieldNumber = 2,
-    kDeviceStateFieldNumber = 1,
-  };
-  // repeated .gtxilib.oopclasses.protos.UIElement elements = 2;
-  int elements_size() const;
-  private:
-  int _internal_elements_size() const;
-  public:
-  void clear_elements();
-  ::gtxilib::oopclasses::protos::UIElement* mutable_elements(int index);
-  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::gtxilib::oopclasses::protos::UIElement >*
-      mutable_elements();
-  private:
-  const ::gtxilib::oopclasses::protos::UIElement& _internal_elements(int index) const;
-  ::gtxilib::oopclasses::protos::UIElement* _internal_add_elements();
-  public:
-  const ::gtxilib::oopclasses::protos::UIElement& elements(int index) const;
-  ::gtxilib::oopclasses::protos::UIElement* add_elements();
-  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::gtxilib::oopclasses::protos::UIElement >&
-      elements() const;
-
-  // .gtxilib.oopclasses.protos.DeviceState device_state = 1;
+  const DeviceState& device_state() const;
   bool has_device_state() const;
-  private:
-  bool _internal_has_device_state() const;
-  public:
   void clear_device_state();
-  const ::gtxilib::oopclasses::protos::DeviceState& device_state() const;
-  ::gtxilib::oopclasses::protos::DeviceState* release_device_state();
-  ::gtxilib::oopclasses::protos::DeviceState* mutable_device_state();
-  void set_allocated_device_state(::gtxilib::oopclasses::protos::DeviceState* device_state);
-  private:
-  const ::gtxilib::oopclasses::protos::DeviceState& _internal_device_state() const;
-  ::gtxilib::oopclasses::protos::DeviceState* _internal_mutable_device_state();
-  public:
-  void unsafe_arena_set_allocated_device_state(
-      ::gtxilib::oopclasses::protos::DeviceState* device_state);
-  ::gtxilib::oopclasses::protos::DeviceState* unsafe_arena_release_device_state();
+  void set_device_state(const DeviceState& new_device_state);
+  DeviceState* mutable_device_state();
 
-  // @@protoc_insertion_point(class_scope:gtxilib.oopclasses.protos.AccessibilityHierarchy)
- private:
-  class _Internal;
+  const UIElement& elements(int index) const;
+  const std::vector<UIElement>& elements() const;
+  bool has_elements() const;
+  void clear_elements();
+  void set_elements(int index, const UIElement& new_elements);
+  UIElement* mutable_elements(int index);
+  UIElement* add_elements();
+  int elements_size() const;
 
-  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
-  typedef void InternalArenaConstructable_;
-  typedef void DestructorSkippable_;
-  ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
-  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
-  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::gtxilib::oopclasses::protos::UIElement > elements_;
-  ::gtxilib::oopclasses::protos::DeviceState* device_state_;
-  friend struct ::TableStruct_gtx_2eproto;
+private:
+  DeviceState device_state_ = DeviceState();
+  bool has_device_state_ = false;
+  std::vector<UIElement> elements_ = std::vector<UIElement>();
+  bool has_elements_ = false;
 };
-// ===================================================================
 
+}  // GTXiLib
+}  // OOPClasses
+}  // Protos
 
-// ===================================================================
-
-#ifdef __GNUC__
-  #pragma GCC diagnostic push
-  #pragma GCC diagnostic ignored "-Wstrict-aliasing"
-#endif  // __GNUC__
-// Point
-
-// float x = 1;
-inline bool Point::_internal_has_x() const {
-  bool value = (_has_bits_[0] & 0x00000001u) != 0;
-  return value;
-}
-inline bool Point::has_x() const {
-  return _internal_has_x();
-}
-inline void Point::clear_x() {
-  x_ = 0;
-  _has_bits_[0] &= ~0x00000001u;
-}
-inline float Point::_internal_x() const {
-  return x_;
-}
-inline float Point::x() const {
-  // @@protoc_insertion_point(field_get:gtxilib.oopclasses.protos.Point.x)
-  return _internal_x();
-}
-inline void Point::_internal_set_x(float value) {
-  _has_bits_[0] |= 0x00000001u;
-  x_ = value;
-}
-inline void Point::set_x(float value) {
-  _internal_set_x(value);
-  // @@protoc_insertion_point(field_set:gtxilib.oopclasses.protos.Point.x)
-}
-
-// float y = 2;
-inline bool Point::_internal_has_y() const {
-  bool value = (_has_bits_[0] & 0x00000002u) != 0;
-  return value;
-}
-inline bool Point::has_y() const {
-  return _internal_has_y();
-}
-inline void Point::clear_y() {
-  y_ = 0;
-  _has_bits_[0] &= ~0x00000002u;
-}
-inline float Point::_internal_y() const {
-  return y_;
-}
-inline float Point::y() const {
-  // @@protoc_insertion_point(field_get:gtxilib.oopclasses.protos.Point.y)
-  return _internal_y();
-}
-inline void Point::_internal_set_y(float value) {
-  _has_bits_[0] |= 0x00000002u;
-  y_ = value;
-}
-inline void Point::set_y(float value) {
-  _internal_set_y(value);
-  // @@protoc_insertion_point(field_set:gtxilib.oopclasses.protos.Point.y)
-}
-
-// -------------------------------------------------------------------
-
-// Size
-
-// float width = 1;
-inline bool Size::_internal_has_width() const {
-  bool value = (_has_bits_[0] & 0x00000001u) != 0;
-  return value;
-}
-inline bool Size::has_width() const {
-  return _internal_has_width();
-}
-inline void Size::clear_width() {
-  width_ = 0;
-  _has_bits_[0] &= ~0x00000001u;
-}
-inline float Size::_internal_width() const {
-  return width_;
-}
-inline float Size::width() const {
-  // @@protoc_insertion_point(field_get:gtxilib.oopclasses.protos.Size.width)
-  return _internal_width();
-}
-inline void Size::_internal_set_width(float value) {
-  _has_bits_[0] |= 0x00000001u;
-  width_ = value;
-}
-inline void Size::set_width(float value) {
-  _internal_set_width(value);
-  // @@protoc_insertion_point(field_set:gtxilib.oopclasses.protos.Size.width)
-}
-
-// float height = 2;
-inline bool Size::_internal_has_height() const {
-  bool value = (_has_bits_[0] & 0x00000002u) != 0;
-  return value;
-}
-inline bool Size::has_height() const {
-  return _internal_has_height();
-}
-inline void Size::clear_height() {
-  height_ = 0;
-  _has_bits_[0] &= ~0x00000002u;
-}
-inline float Size::_internal_height() const {
-  return height_;
-}
-inline float Size::height() const {
-  // @@protoc_insertion_point(field_get:gtxilib.oopclasses.protos.Size.height)
-  return _internal_height();
-}
-inline void Size::_internal_set_height(float value) {
-  _has_bits_[0] |= 0x00000002u;
-  height_ = value;
-}
-inline void Size::set_height(float value) {
-  _internal_set_height(value);
-  // @@protoc_insertion_point(field_set:gtxilib.oopclasses.protos.Size.height)
-}
-
-// -------------------------------------------------------------------
-
-// Rect
-
-// .gtxilib.oopclasses.protos.Point origin = 1;
-inline bool Rect::_internal_has_origin() const {
-  bool value = (_has_bits_[0] & 0x00000001u) != 0;
-  PROTOBUF_ASSUME(!value || origin_ != nullptr);
-  return value;
-}
-inline bool Rect::has_origin() const {
-  return _internal_has_origin();
-}
-inline void Rect::clear_origin() {
-  if (GetArena() == nullptr && origin_ != nullptr) {
-    delete origin_;
-  }
-  origin_ = nullptr;
-  _has_bits_[0] &= ~0x00000001u;
-}
-inline const ::gtxilib::oopclasses::protos::Point& Rect::_internal_origin() const {
-  const ::gtxilib::oopclasses::protos::Point* p = origin_;
-  return p != nullptr ? *p : *reinterpret_cast<const ::gtxilib::oopclasses::protos::Point*>(
-      &::gtxilib::oopclasses::protos::_Point_default_instance_);
-}
-inline const ::gtxilib::oopclasses::protos::Point& Rect::origin() const {
-  // @@protoc_insertion_point(field_get:gtxilib.oopclasses.protos.Rect.origin)
-  return _internal_origin();
-}
-inline void Rect::unsafe_arena_set_allocated_origin(
-    ::gtxilib::oopclasses::protos::Point* origin) {
-  if (GetArena() == nullptr) {
-    delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(origin_);
-  }
-  origin_ = origin;
-  if (origin) {
-    _has_bits_[0] |= 0x00000001u;
-  } else {
-    _has_bits_[0] &= ~0x00000001u;
-  }
-  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:gtxilib.oopclasses.protos.Rect.origin)
-}
-inline ::gtxilib::oopclasses::protos::Point* Rect::release_origin() {
-  _has_bits_[0] &= ~0x00000001u;
-  ::gtxilib::oopclasses::protos::Point* temp = origin_;
-  origin_ = nullptr;
-  if (GetArena() != nullptr) {
-    temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
-  }
-  return temp;
-}
-inline ::gtxilib::oopclasses::protos::Point* Rect::unsafe_arena_release_origin() {
-  // @@protoc_insertion_point(field_release:gtxilib.oopclasses.protos.Rect.origin)
-  _has_bits_[0] &= ~0x00000001u;
-  ::gtxilib::oopclasses::protos::Point* temp = origin_;
-  origin_ = nullptr;
-  return temp;
-}
-inline ::gtxilib::oopclasses::protos::Point* Rect::_internal_mutable_origin() {
-  _has_bits_[0] |= 0x00000001u;
-  if (origin_ == nullptr) {
-    auto* p = CreateMaybeMessage<::gtxilib::oopclasses::protos::Point>(GetArena());
-    origin_ = p;
-  }
-  return origin_;
-}
-inline ::gtxilib::oopclasses::protos::Point* Rect::mutable_origin() {
-  // @@protoc_insertion_point(field_mutable:gtxilib.oopclasses.protos.Rect.origin)
-  return _internal_mutable_origin();
-}
-inline void Rect::set_allocated_origin(::gtxilib::oopclasses::protos::Point* origin) {
-  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
-  if (message_arena == nullptr) {
-    delete origin_;
-  }
-  if (origin) {
-    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
-      ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(origin);
-    if (message_arena != submessage_arena) {
-      origin = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
-          message_arena, origin, submessage_arena);
-    }
-    _has_bits_[0] |= 0x00000001u;
-  } else {
-    _has_bits_[0] &= ~0x00000001u;
-  }
-  origin_ = origin;
-  // @@protoc_insertion_point(field_set_allocated:gtxilib.oopclasses.protos.Rect.origin)
-}
-
-// .gtxilib.oopclasses.protos.Size size = 2;
-inline bool Rect::_internal_has_size() const {
-  bool value = (_has_bits_[0] & 0x00000002u) != 0;
-  PROTOBUF_ASSUME(!value || size_ != nullptr);
-  return value;
-}
-inline bool Rect::has_size() const {
-  return _internal_has_size();
-}
-inline void Rect::clear_size() {
-  if (GetArena() == nullptr && size_ != nullptr) {
-    delete size_;
-  }
-  size_ = nullptr;
-  _has_bits_[0] &= ~0x00000002u;
-}
-inline const ::gtxilib::oopclasses::protos::Size& Rect::_internal_size() const {
-  const ::gtxilib::oopclasses::protos::Size* p = size_;
-  return p != nullptr ? *p : *reinterpret_cast<const ::gtxilib::oopclasses::protos::Size*>(
-      &::gtxilib::oopclasses::protos::_Size_default_instance_);
-}
-inline const ::gtxilib::oopclasses::protos::Size& Rect::size() const {
-  // @@protoc_insertion_point(field_get:gtxilib.oopclasses.protos.Rect.size)
-  return _internal_size();
-}
-inline void Rect::unsafe_arena_set_allocated_size(
-    ::gtxilib::oopclasses::protos::Size* size) {
-  if (GetArena() == nullptr) {
-    delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(size_);
-  }
-  size_ = size;
-  if (size) {
-    _has_bits_[0] |= 0x00000002u;
-  } else {
-    _has_bits_[0] &= ~0x00000002u;
-  }
-  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:gtxilib.oopclasses.protos.Rect.size)
-}
-inline ::gtxilib::oopclasses::protos::Size* Rect::release_size() {
-  _has_bits_[0] &= ~0x00000002u;
-  ::gtxilib::oopclasses::protos::Size* temp = size_;
-  size_ = nullptr;
-  if (GetArena() != nullptr) {
-    temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
-  }
-  return temp;
-}
-inline ::gtxilib::oopclasses::protos::Size* Rect::unsafe_arena_release_size() {
-  // @@protoc_insertion_point(field_release:gtxilib.oopclasses.protos.Rect.size)
-  _has_bits_[0] &= ~0x00000002u;
-  ::gtxilib::oopclasses::protos::Size* temp = size_;
-  size_ = nullptr;
-  return temp;
-}
-inline ::gtxilib::oopclasses::protos::Size* Rect::_internal_mutable_size() {
-  _has_bits_[0] |= 0x00000002u;
-  if (size_ == nullptr) {
-    auto* p = CreateMaybeMessage<::gtxilib::oopclasses::protos::Size>(GetArena());
-    size_ = p;
-  }
-  return size_;
-}
-inline ::gtxilib::oopclasses::protos::Size* Rect::mutable_size() {
-  // @@protoc_insertion_point(field_mutable:gtxilib.oopclasses.protos.Rect.size)
-  return _internal_mutable_size();
-}
-inline void Rect::set_allocated_size(::gtxilib::oopclasses::protos::Size* size) {
-  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
-  if (message_arena == nullptr) {
-    delete size_;
-  }
-  if (size) {
-    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
-      ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(size);
-    if (message_arena != submessage_arena) {
-      size = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
-          message_arena, size, submessage_arena);
-    }
-    _has_bits_[0] |= 0x00000002u;
-  } else {
-    _has_bits_[0] &= ~0x00000002u;
-  }
-  size_ = size;
-  // @@protoc_insertion_point(field_set_allocated:gtxilib.oopclasses.protos.Rect.size)
-}
-
-// -------------------------------------------------------------------
-
-// Color
-
-// float r = 1;
-inline bool Color::_internal_has_r() const {
-  bool value = (_has_bits_[0] & 0x00000001u) != 0;
-  return value;
-}
-inline bool Color::has_r() const {
-  return _internal_has_r();
-}
-inline void Color::clear_r() {
-  r_ = 0;
-  _has_bits_[0] &= ~0x00000001u;
-}
-inline float Color::_internal_r() const {
-  return r_;
-}
-inline float Color::r() const {
-  // @@protoc_insertion_point(field_get:gtxilib.oopclasses.protos.Color.r)
-  return _internal_r();
-}
-inline void Color::_internal_set_r(float value) {
-  _has_bits_[0] |= 0x00000001u;
-  r_ = value;
-}
-inline void Color::set_r(float value) {
-  _internal_set_r(value);
-  // @@protoc_insertion_point(field_set:gtxilib.oopclasses.protos.Color.r)
-}
-
-// float g = 2;
-inline bool Color::_internal_has_g() const {
-  bool value = (_has_bits_[0] & 0x00000002u) != 0;
-  return value;
-}
-inline bool Color::has_g() const {
-  return _internal_has_g();
-}
-inline void Color::clear_g() {
-  g_ = 0;
-  _has_bits_[0] &= ~0x00000002u;
-}
-inline float Color::_internal_g() const {
-  return g_;
-}
-inline float Color::g() const {
-  // @@protoc_insertion_point(field_get:gtxilib.oopclasses.protos.Color.g)
-  return _internal_g();
-}
-inline void Color::_internal_set_g(float value) {
-  _has_bits_[0] |= 0x00000002u;
-  g_ = value;
-}
-inline void Color::set_g(float value) {
-  _internal_set_g(value);
-  // @@protoc_insertion_point(field_set:gtxilib.oopclasses.protos.Color.g)
-}
-
-// float b = 3;
-inline bool Color::_internal_has_b() const {
-  bool value = (_has_bits_[0] & 0x00000004u) != 0;
-  return value;
-}
-inline bool Color::has_b() const {
-  return _internal_has_b();
-}
-inline void Color::clear_b() {
-  b_ = 0;
-  _has_bits_[0] &= ~0x00000004u;
-}
-inline float Color::_internal_b() const {
-  return b_;
-}
-inline float Color::b() const {
-  // @@protoc_insertion_point(field_get:gtxilib.oopclasses.protos.Color.b)
-  return _internal_b();
-}
-inline void Color::_internal_set_b(float value) {
-  _has_bits_[0] |= 0x00000004u;
-  b_ = value;
-}
-inline void Color::set_b(float value) {
-  _internal_set_b(value);
-  // @@protoc_insertion_point(field_set:gtxilib.oopclasses.protos.Color.b)
-}
-
-// float a = 4;
-inline bool Color::_internal_has_a() const {
-  bool value = (_has_bits_[0] & 0x00000008u) != 0;
-  return value;
-}
-inline bool Color::has_a() const {
-  return _internal_has_a();
-}
-inline void Color::clear_a() {
-  a_ = 0;
-  _has_bits_[0] &= ~0x00000008u;
-}
-inline float Color::_internal_a() const {
-  return a_;
-}
-inline float Color::a() const {
-  // @@protoc_insertion_point(field_get:gtxilib.oopclasses.protos.Color.a)
-  return _internal_a();
-}
-inline void Color::_internal_set_a(float value) {
-  _has_bits_[0] |= 0x00000008u;
-  a_ = value;
-}
-inline void Color::set_a(float value) {
-  _internal_set_a(value);
-  // @@protoc_insertion_point(field_set:gtxilib.oopclasses.protos.Color.a)
-}
-
-// -------------------------------------------------------------------
-
-// UIElement
-
-// int32 id = 1;
-inline bool UIElement::_internal_has_id() const {
-  bool value = (_has_bits_[0] & 0x00000400u) != 0;
-  return value;
-}
-inline bool UIElement::has_id() const {
-  return _internal_has_id();
-}
-inline void UIElement::clear_id() {
-  id_ = 0;
-  _has_bits_[0] &= ~0x00000400u;
-}
-inline ::PROTOBUF_NAMESPACE_ID::int32 UIElement::_internal_id() const {
-  return id_;
-}
-inline ::PROTOBUF_NAMESPACE_ID::int32 UIElement::id() const {
-  // @@protoc_insertion_point(field_get:gtxilib.oopclasses.protos.UIElement.id)
-  return _internal_id();
-}
-inline void UIElement::_internal_set_id(::PROTOBUF_NAMESPACE_ID::int32 value) {
-  _has_bits_[0] |= 0x00000400u;
-  id_ = value;
-}
-inline void UIElement::set_id(::PROTOBUF_NAMESPACE_ID::int32 value) {
-  _internal_set_id(value);
-  // @@protoc_insertion_point(field_set:gtxilib.oopclasses.protos.UIElement.id)
-}
-
-// int32 parent_id = 2;
-inline bool UIElement::_internal_has_parent_id() const {
-  bool value = (_has_bits_[0] & 0x00000800u) != 0;
-  return value;
-}
-inline bool UIElement::has_parent_id() const {
-  return _internal_has_parent_id();
-}
-inline void UIElement::clear_parent_id() {
-  parent_id_ = 0;
-  _has_bits_[0] &= ~0x00000800u;
-}
-inline ::PROTOBUF_NAMESPACE_ID::int32 UIElement::_internal_parent_id() const {
-  return parent_id_;
-}
-inline ::PROTOBUF_NAMESPACE_ID::int32 UIElement::parent_id() const {
-  // @@protoc_insertion_point(field_get:gtxilib.oopclasses.protos.UIElement.parent_id)
-  return _internal_parent_id();
-}
-inline void UIElement::_internal_set_parent_id(::PROTOBUF_NAMESPACE_ID::int32 value) {
-  _has_bits_[0] |= 0x00000800u;
-  parent_id_ = value;
-}
-inline void UIElement::set_parent_id(::PROTOBUF_NAMESPACE_ID::int32 value) {
-  _internal_set_parent_id(value);
-  // @@protoc_insertion_point(field_set:gtxilib.oopclasses.protos.UIElement.parent_id)
-}
-
-// repeated int32 child_ids = 3;
-inline int UIElement::_internal_child_ids_size() const {
-  return child_ids_.size();
-}
-inline int UIElement::child_ids_size() const {
-  return _internal_child_ids_size();
-}
-inline void UIElement::clear_child_ids() {
-  child_ids_.Clear();
-}
-inline ::PROTOBUF_NAMESPACE_ID::int32 UIElement::_internal_child_ids(int index) const {
-  return child_ids_.Get(index);
-}
-inline ::PROTOBUF_NAMESPACE_ID::int32 UIElement::child_ids(int index) const {
-  // @@protoc_insertion_point(field_get:gtxilib.oopclasses.protos.UIElement.child_ids)
-  return _internal_child_ids(index);
-}
-inline void UIElement::set_child_ids(int index, ::PROTOBUF_NAMESPACE_ID::int32 value) {
-  child_ids_.Set(index, value);
-  // @@protoc_insertion_point(field_set:gtxilib.oopclasses.protos.UIElement.child_ids)
-}
-inline void UIElement::_internal_add_child_ids(::PROTOBUF_NAMESPACE_ID::int32 value) {
-  child_ids_.Add(value);
-}
-inline void UIElement::add_child_ids(::PROTOBUF_NAMESPACE_ID::int32 value) {
-  _internal_add_child_ids(value);
-  // @@protoc_insertion_point(field_add:gtxilib.oopclasses.protos.UIElement.child_ids)
-}
-inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
-UIElement::_internal_child_ids() const {
-  return child_ids_;
-}
-inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
-UIElement::child_ids() const {
-  // @@protoc_insertion_point(field_list:gtxilib.oopclasses.protos.UIElement.child_ids)
-  return _internal_child_ids();
-}
-inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
-UIElement::_internal_mutable_child_ids() {
-  return &child_ids_;
-}
-inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
-UIElement::mutable_child_ids() {
-  // @@protoc_insertion_point(field_mutable_list:gtxilib.oopclasses.protos.UIElement.child_ids)
-  return _internal_mutable_child_ids();
-}
-
-// bool is_ax_element = 4;
-inline bool UIElement::_internal_has_is_ax_element() const {
-  bool value = (_has_bits_[0] & 0x00002000u) != 0;
-  return value;
-}
-inline bool UIElement::has_is_ax_element() const {
-  return _internal_has_is_ax_element();
-}
-inline void UIElement::clear_is_ax_element() {
-  is_ax_element_ = false;
-  _has_bits_[0] &= ~0x00002000u;
-}
-inline bool UIElement::_internal_is_ax_element() const {
-  return is_ax_element_;
-}
-inline bool UIElement::is_ax_element() const {
-  // @@protoc_insertion_point(field_get:gtxilib.oopclasses.protos.UIElement.is_ax_element)
-  return _internal_is_ax_element();
-}
-inline void UIElement::_internal_set_is_ax_element(bool value) {
-  _has_bits_[0] |= 0x00002000u;
-  is_ax_element_ = value;
-}
-inline void UIElement::set_is_ax_element(bool value) {
-  _internal_set_is_ax_element(value);
-  // @@protoc_insertion_point(field_set:gtxilib.oopclasses.protos.UIElement.is_ax_element)
-}
-
-// uint64 ax_traits = 5;
-inline bool UIElement::_internal_has_ax_traits() const {
-  bool value = (_has_bits_[0] & 0x00001000u) != 0;
-  return value;
-}
-inline bool UIElement::has_ax_traits() const {
-  return _internal_has_ax_traits();
-}
-inline void UIElement::clear_ax_traits() {
-  ax_traits_ = PROTOBUF_ULONGLONG(0);
-  _has_bits_[0] &= ~0x00001000u;
-}
-inline ::PROTOBUF_NAMESPACE_ID::uint64 UIElement::_internal_ax_traits() const {
-  return ax_traits_;
-}
-inline ::PROTOBUF_NAMESPACE_ID::uint64 UIElement::ax_traits() const {
-  // @@protoc_insertion_point(field_get:gtxilib.oopclasses.protos.UIElement.ax_traits)
-  return _internal_ax_traits();
-}
-inline void UIElement::_internal_set_ax_traits(::PROTOBUF_NAMESPACE_ID::uint64 value) {
-  _has_bits_[0] |= 0x00001000u;
-  ax_traits_ = value;
-}
-inline void UIElement::set_ax_traits(::PROTOBUF_NAMESPACE_ID::uint64 value) {
-  _internal_set_ax_traits(value);
-  // @@protoc_insertion_point(field_set:gtxilib.oopclasses.protos.UIElement.ax_traits)
-}
-
-// string ax_label = 6;
-inline bool UIElement::_internal_has_ax_label() const {
-  bool value = (_has_bits_[0] & 0x00000001u) != 0;
-  return value;
-}
-inline bool UIElement::has_ax_label() const {
-  return _internal_has_ax_label();
-}
-inline void UIElement::clear_ax_label() {
-  ax_label_.ClearToEmpty(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
-  _has_bits_[0] &= ~0x00000001u;
-}
-inline const std::string& UIElement::ax_label() const {
-  // @@protoc_insertion_point(field_get:gtxilib.oopclasses.protos.UIElement.ax_label)
-  return _internal_ax_label();
-}
-inline void UIElement::set_ax_label(const std::string& value) {
-  _internal_set_ax_label(value);
-  // @@protoc_insertion_point(field_set:gtxilib.oopclasses.protos.UIElement.ax_label)
-}
-inline std::string* UIElement::mutable_ax_label() {
-  // @@protoc_insertion_point(field_mutable:gtxilib.oopclasses.protos.UIElement.ax_label)
-  return _internal_mutable_ax_label();
-}
-inline const std::string& UIElement::_internal_ax_label() const {
-  return ax_label_.Get();
-}
-inline void UIElement::_internal_set_ax_label(const std::string& value) {
-  _has_bits_[0] |= 0x00000001u;
-  ax_label_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), value, GetArena());
-}
-inline void UIElement::set_ax_label(std::string&& value) {
-  _has_bits_[0] |= 0x00000001u;
-  ax_label_.Set(
-    &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), ::std::move(value), GetArena());
-  // @@protoc_insertion_point(field_set_rvalue:gtxilib.oopclasses.protos.UIElement.ax_label)
-}
-inline void UIElement::set_ax_label(const char* value) {
-  GOOGLE_DCHECK(value != nullptr);
-  _has_bits_[0] |= 0x00000001u;
-  ax_label_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), ::std::string(value),
-              GetArena());
-  // @@protoc_insertion_point(field_set_char:gtxilib.oopclasses.protos.UIElement.ax_label)
-}
-inline void UIElement::set_ax_label(const char* value,
-    size_t size) {
-  _has_bits_[0] |= 0x00000001u;
-  ax_label_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), ::std::string(
-      reinterpret_cast<const char*>(value), size), GetArena());
-  // @@protoc_insertion_point(field_set_pointer:gtxilib.oopclasses.protos.UIElement.ax_label)
-}
-inline std::string* UIElement::_internal_mutable_ax_label() {
-  _has_bits_[0] |= 0x00000001u;
-  return ax_label_.Mutable(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
-}
-inline std::string* UIElement::release_ax_label() {
-  // @@protoc_insertion_point(field_release:gtxilib.oopclasses.protos.UIElement.ax_label)
-  if (!_internal_has_ax_label()) {
-    return nullptr;
-  }
-  _has_bits_[0] &= ~0x00000001u;
-  return ax_label_.ReleaseNonDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
-}
-inline void UIElement::set_allocated_ax_label(std::string* ax_label) {
-  if (ax_label != nullptr) {
-    _has_bits_[0] |= 0x00000001u;
-  } else {
-    _has_bits_[0] &= ~0x00000001u;
-  }
-  ax_label_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), ax_label,
-      GetArena());
-  // @@protoc_insertion_point(field_set_allocated:gtxilib.oopclasses.protos.UIElement.ax_label)
-}
-
-// string ax_hint = 7;
-inline bool UIElement::_internal_has_ax_hint() const {
-  bool value = (_has_bits_[0] & 0x00000002u) != 0;
-  return value;
-}
-inline bool UIElement::has_ax_hint() const {
-  return _internal_has_ax_hint();
-}
-inline void UIElement::clear_ax_hint() {
-  ax_hint_.ClearToEmpty(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
-  _has_bits_[0] &= ~0x00000002u;
-}
-inline const std::string& UIElement::ax_hint() const {
-  // @@protoc_insertion_point(field_get:gtxilib.oopclasses.protos.UIElement.ax_hint)
-  return _internal_ax_hint();
-}
-inline void UIElement::set_ax_hint(const std::string& value) {
-  _internal_set_ax_hint(value);
-  // @@protoc_insertion_point(field_set:gtxilib.oopclasses.protos.UIElement.ax_hint)
-}
-inline std::string* UIElement::mutable_ax_hint() {
-  // @@protoc_insertion_point(field_mutable:gtxilib.oopclasses.protos.UIElement.ax_hint)
-  return _internal_mutable_ax_hint();
-}
-inline const std::string& UIElement::_internal_ax_hint() const {
-  return ax_hint_.Get();
-}
-inline void UIElement::_internal_set_ax_hint(const std::string& value) {
-  _has_bits_[0] |= 0x00000002u;
-  ax_hint_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), value, GetArena());
-}
-inline void UIElement::set_ax_hint(std::string&& value) {
-  _has_bits_[0] |= 0x00000002u;
-  ax_hint_.Set(
-    &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), ::std::move(value), GetArena());
-  // @@protoc_insertion_point(field_set_rvalue:gtxilib.oopclasses.protos.UIElement.ax_hint)
-}
-inline void UIElement::set_ax_hint(const char* value) {
-  GOOGLE_DCHECK(value != nullptr);
-  _has_bits_[0] |= 0x00000002u;
-  ax_hint_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), ::std::string(value),
-              GetArena());
-  // @@protoc_insertion_point(field_set_char:gtxilib.oopclasses.protos.UIElement.ax_hint)
-}
-inline void UIElement::set_ax_hint(const char* value,
-    size_t size) {
-  _has_bits_[0] |= 0x00000002u;
-  ax_hint_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), ::std::string(
-      reinterpret_cast<const char*>(value), size), GetArena());
-  // @@protoc_insertion_point(field_set_pointer:gtxilib.oopclasses.protos.UIElement.ax_hint)
-}
-inline std::string* UIElement::_internal_mutable_ax_hint() {
-  _has_bits_[0] |= 0x00000002u;
-  return ax_hint_.Mutable(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
-}
-inline std::string* UIElement::release_ax_hint() {
-  // @@protoc_insertion_point(field_release:gtxilib.oopclasses.protos.UIElement.ax_hint)
-  if (!_internal_has_ax_hint()) {
-    return nullptr;
-  }
-  _has_bits_[0] &= ~0x00000002u;
-  return ax_hint_.ReleaseNonDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
-}
-inline void UIElement::set_allocated_ax_hint(std::string* ax_hint) {
-  if (ax_hint != nullptr) {
-    _has_bits_[0] |= 0x00000002u;
-  } else {
-    _has_bits_[0] &= ~0x00000002u;
-  }
-  ax_hint_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), ax_hint,
-      GetArena());
-  // @@protoc_insertion_point(field_set_allocated:gtxilib.oopclasses.protos.UIElement.ax_hint)
-}
-
-// .gtxilib.oopclasses.protos.Rect ax_frame = 8;
-inline bool UIElement::_internal_has_ax_frame() const {
-  bool value = (_has_bits_[0] & 0x00000020u) != 0;
-  PROTOBUF_ASSUME(!value || ax_frame_ != nullptr);
-  return value;
-}
-inline bool UIElement::has_ax_frame() const {
-  return _internal_has_ax_frame();
-}
-inline void UIElement::clear_ax_frame() {
-  if (GetArena() == nullptr && ax_frame_ != nullptr) {
-    delete ax_frame_;
-  }
-  ax_frame_ = nullptr;
-  _has_bits_[0] &= ~0x00000020u;
-}
-inline const ::gtxilib::oopclasses::protos::Rect& UIElement::_internal_ax_frame() const {
-  const ::gtxilib::oopclasses::protos::Rect* p = ax_frame_;
-  return p != nullptr ? *p : *reinterpret_cast<const ::gtxilib::oopclasses::protos::Rect*>(
-      &::gtxilib::oopclasses::protos::_Rect_default_instance_);
-}
-inline const ::gtxilib::oopclasses::protos::Rect& UIElement::ax_frame() const {
-  // @@protoc_insertion_point(field_get:gtxilib.oopclasses.protos.UIElement.ax_frame)
-  return _internal_ax_frame();
-}
-inline void UIElement::unsafe_arena_set_allocated_ax_frame(
-    ::gtxilib::oopclasses::protos::Rect* ax_frame) {
-  if (GetArena() == nullptr) {
-    delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(ax_frame_);
-  }
-  ax_frame_ = ax_frame;
-  if (ax_frame) {
-    _has_bits_[0] |= 0x00000020u;
-  } else {
-    _has_bits_[0] &= ~0x00000020u;
-  }
-  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:gtxilib.oopclasses.protos.UIElement.ax_frame)
-}
-inline ::gtxilib::oopclasses::protos::Rect* UIElement::release_ax_frame() {
-  _has_bits_[0] &= ~0x00000020u;
-  ::gtxilib::oopclasses::protos::Rect* temp = ax_frame_;
-  ax_frame_ = nullptr;
-  if (GetArena() != nullptr) {
-    temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
-  }
-  return temp;
-}
-inline ::gtxilib::oopclasses::protos::Rect* UIElement::unsafe_arena_release_ax_frame() {
-  // @@protoc_insertion_point(field_release:gtxilib.oopclasses.protos.UIElement.ax_frame)
-  _has_bits_[0] &= ~0x00000020u;
-  ::gtxilib::oopclasses::protos::Rect* temp = ax_frame_;
-  ax_frame_ = nullptr;
-  return temp;
-}
-inline ::gtxilib::oopclasses::protos::Rect* UIElement::_internal_mutable_ax_frame() {
-  _has_bits_[0] |= 0x00000020u;
-  if (ax_frame_ == nullptr) {
-    auto* p = CreateMaybeMessage<::gtxilib::oopclasses::protos::Rect>(GetArena());
-    ax_frame_ = p;
-  }
-  return ax_frame_;
-}
-inline ::gtxilib::oopclasses::protos::Rect* UIElement::mutable_ax_frame() {
-  // @@protoc_insertion_point(field_mutable:gtxilib.oopclasses.protos.UIElement.ax_frame)
-  return _internal_mutable_ax_frame();
-}
-inline void UIElement::set_allocated_ax_frame(::gtxilib::oopclasses::protos::Rect* ax_frame) {
-  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
-  if (message_arena == nullptr) {
-    delete ax_frame_;
-  }
-  if (ax_frame) {
-    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
-      ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(ax_frame);
-    if (message_arena != submessage_arena) {
-      ax_frame = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
-          message_arena, ax_frame, submessage_arena);
-    }
-    _has_bits_[0] |= 0x00000020u;
-  } else {
-    _has_bits_[0] &= ~0x00000020u;
-  }
-  ax_frame_ = ax_frame;
-  // @@protoc_insertion_point(field_set_allocated:gtxilib.oopclasses.protos.UIElement.ax_frame)
-}
-
-// string ax_identifier = 9;
-inline bool UIElement::_internal_has_ax_identifier() const {
-  bool value = (_has_bits_[0] & 0x00000004u) != 0;
-  return value;
-}
-inline bool UIElement::has_ax_identifier() const {
-  return _internal_has_ax_identifier();
-}
-inline void UIElement::clear_ax_identifier() {
-  ax_identifier_.ClearToEmpty(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
-  _has_bits_[0] &= ~0x00000004u;
-}
-inline const std::string& UIElement::ax_identifier() const {
-  // @@protoc_insertion_point(field_get:gtxilib.oopclasses.protos.UIElement.ax_identifier)
-  return _internal_ax_identifier();
-}
-inline void UIElement::set_ax_identifier(const std::string& value) {
-  _internal_set_ax_identifier(value);
-  // @@protoc_insertion_point(field_set:gtxilib.oopclasses.protos.UIElement.ax_identifier)
-}
-inline std::string* UIElement::mutable_ax_identifier() {
-  // @@protoc_insertion_point(field_mutable:gtxilib.oopclasses.protos.UIElement.ax_identifier)
-  return _internal_mutable_ax_identifier();
-}
-inline const std::string& UIElement::_internal_ax_identifier() const {
-  return ax_identifier_.Get();
-}
-inline void UIElement::_internal_set_ax_identifier(const std::string& value) {
-  _has_bits_[0] |= 0x00000004u;
-  ax_identifier_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), value, GetArena());
-}
-inline void UIElement::set_ax_identifier(std::string&& value) {
-  _has_bits_[0] |= 0x00000004u;
-  ax_identifier_.Set(
-    &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), ::std::move(value), GetArena());
-  // @@protoc_insertion_point(field_set_rvalue:gtxilib.oopclasses.protos.UIElement.ax_identifier)
-}
-inline void UIElement::set_ax_identifier(const char* value) {
-  GOOGLE_DCHECK(value != nullptr);
-  _has_bits_[0] |= 0x00000004u;
-  ax_identifier_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), ::std::string(value),
-              GetArena());
-  // @@protoc_insertion_point(field_set_char:gtxilib.oopclasses.protos.UIElement.ax_identifier)
-}
-inline void UIElement::set_ax_identifier(const char* value,
-    size_t size) {
-  _has_bits_[0] |= 0x00000004u;
-  ax_identifier_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), ::std::string(
-      reinterpret_cast<const char*>(value), size), GetArena());
-  // @@protoc_insertion_point(field_set_pointer:gtxilib.oopclasses.protos.UIElement.ax_identifier)
-}
-inline std::string* UIElement::_internal_mutable_ax_identifier() {
-  _has_bits_[0] |= 0x00000004u;
-  return ax_identifier_.Mutable(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
-}
-inline std::string* UIElement::release_ax_identifier() {
-  // @@protoc_insertion_point(field_release:gtxilib.oopclasses.protos.UIElement.ax_identifier)
-  if (!_internal_has_ax_identifier()) {
-    return nullptr;
-  }
-  _has_bits_[0] &= ~0x00000004u;
-  return ax_identifier_.ReleaseNonDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
-}
-inline void UIElement::set_allocated_ax_identifier(std::string* ax_identifier) {
-  if (ax_identifier != nullptr) {
-    _has_bits_[0] |= 0x00000004u;
-  } else {
-    _has_bits_[0] &= ~0x00000004u;
-  }
-  ax_identifier_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), ax_identifier,
-      GetArena());
-  // @@protoc_insertion_point(field_set_allocated:gtxilib.oopclasses.protos.UIElement.ax_identifier)
-}
-
-// bool hittable = 10;
-inline bool UIElement::_internal_has_hittable() const {
-  bool value = (_has_bits_[0] & 0x00004000u) != 0;
-  return value;
-}
-inline bool UIElement::has_hittable() const {
-  return _internal_has_hittable();
-}
-inline void UIElement::clear_hittable() {
-  hittable_ = false;
-  _has_bits_[0] &= ~0x00004000u;
-}
-inline bool UIElement::_internal_hittable() const {
-  return hittable_;
-}
-inline bool UIElement::hittable() const {
-  // @@protoc_insertion_point(field_get:gtxilib.oopclasses.protos.UIElement.hittable)
-  return _internal_hittable();
-}
-inline void UIElement::_internal_set_hittable(bool value) {
-  _has_bits_[0] |= 0x00004000u;
-  hittable_ = value;
-}
-inline void UIElement::set_hittable(bool value) {
-  _internal_set_hittable(value);
-  // @@protoc_insertion_point(field_set:gtxilib.oopclasses.protos.UIElement.hittable)
-}
-
-// bool exists = 11;
-inline bool UIElement::_internal_has_exists() const {
-  bool value = (_has_bits_[0] & 0x00008000u) != 0;
-  return value;
-}
-inline bool UIElement::has_exists() const {
-  return _internal_has_exists();
-}
-inline void UIElement::clear_exists() {
-  exists_ = false;
-  _has_bits_[0] &= ~0x00008000u;
-}
-inline bool UIElement::_internal_exists() const {
-  return exists_;
-}
-inline bool UIElement::exists() const {
-  // @@protoc_insertion_point(field_get:gtxilib.oopclasses.protos.UIElement.exists)
-  return _internal_exists();
-}
-inline void UIElement::_internal_set_exists(bool value) {
-  _has_bits_[0] |= 0x00008000u;
-  exists_ = value;
-}
-inline void UIElement::set_exists(bool value) {
-  _internal_set_exists(value);
-  // @@protoc_insertion_point(field_set:gtxilib.oopclasses.protos.UIElement.exists)
-}
-
-// bool xc_selected = 12;
-inline bool UIElement::_internal_has_xc_selected() const {
-  bool value = (_has_bits_[0] & 0x00010000u) != 0;
-  return value;
-}
-inline bool UIElement::has_xc_selected() const {
-  return _internal_has_xc_selected();
-}
-inline void UIElement::clear_xc_selected() {
-  xc_selected_ = false;
-  _has_bits_[0] &= ~0x00010000u;
-}
-inline bool UIElement::_internal_xc_selected() const {
-  return xc_selected_;
-}
-inline bool UIElement::xc_selected() const {
-  // @@protoc_insertion_point(field_get:gtxilib.oopclasses.protos.UIElement.xc_selected)
-  return _internal_xc_selected();
-}
-inline void UIElement::_internal_set_xc_selected(bool value) {
-  _has_bits_[0] |= 0x00010000u;
-  xc_selected_ = value;
-}
-inline void UIElement::set_xc_selected(bool value) {
-  _internal_set_xc_selected(value);
-  // @@protoc_insertion_point(field_set:gtxilib.oopclasses.protos.UIElement.xc_selected)
-}
-
-// bool xc_enabled = 13;
-inline bool UIElement::_internal_has_xc_enabled() const {
-  bool value = (_has_bits_[0] & 0x00080000u) != 0;
-  return value;
-}
-inline bool UIElement::has_xc_enabled() const {
-  return _internal_has_xc_enabled();
-}
-inline void UIElement::clear_xc_enabled() {
-  xc_enabled_ = false;
-  _has_bits_[0] &= ~0x00080000u;
-}
-inline bool UIElement::_internal_xc_enabled() const {
-  return xc_enabled_;
-}
-inline bool UIElement::xc_enabled() const {
-  // @@protoc_insertion_point(field_get:gtxilib.oopclasses.protos.UIElement.xc_enabled)
-  return _internal_xc_enabled();
-}
-inline void UIElement::_internal_set_xc_enabled(bool value) {
-  _has_bits_[0] |= 0x00080000u;
-  xc_enabled_ = value;
-}
-inline void UIElement::set_xc_enabled(bool value) {
-  _internal_set_xc_enabled(value);
-  // @@protoc_insertion_point(field_set:gtxilib.oopclasses.protos.UIElement.xc_enabled)
-}
-
-// .gtxilib.oopclasses.protos.ElementType.ElementTypeEnum element_type = 14;
-inline bool UIElement::_internal_has_element_type() const {
-  bool value = (_has_bits_[0] & 0x00020000u) != 0;
-  return value;
-}
-inline bool UIElement::has_element_type() const {
-  return _internal_has_element_type();
-}
-inline void UIElement::clear_element_type() {
-  element_type_ = 0;
-  _has_bits_[0] &= ~0x00020000u;
-}
-inline ::gtxilib::oopclasses::protos::ElementType_ElementTypeEnum UIElement::_internal_element_type() const {
-  return static_cast< ::gtxilib::oopclasses::protos::ElementType_ElementTypeEnum >(element_type_);
-}
-inline ::gtxilib::oopclasses::protos::ElementType_ElementTypeEnum UIElement::element_type() const {
-  // @@protoc_insertion_point(field_get:gtxilib.oopclasses.protos.UIElement.element_type)
-  return _internal_element_type();
-}
-inline void UIElement::_internal_set_element_type(::gtxilib::oopclasses::protos::ElementType_ElementTypeEnum value) {
-  _has_bits_[0] |= 0x00020000u;
-  element_type_ = value;
-}
-inline void UIElement::set_element_type(::gtxilib::oopclasses::protos::ElementType_ElementTypeEnum value) {
-  _internal_set_element_type(value);
-  // @@protoc_insertion_point(field_set:gtxilib.oopclasses.protos.UIElement.element_type)
-}
-
-// repeated string class_names_hierarchy = 15;
-inline int UIElement::_internal_class_names_hierarchy_size() const {
-  return class_names_hierarchy_.size();
-}
-inline int UIElement::class_names_hierarchy_size() const {
-  return _internal_class_names_hierarchy_size();
-}
-inline void UIElement::clear_class_names_hierarchy() {
-  class_names_hierarchy_.Clear();
-}
-inline std::string* UIElement::add_class_names_hierarchy() {
-  // @@protoc_insertion_point(field_add_mutable:gtxilib.oopclasses.protos.UIElement.class_names_hierarchy)
-  return _internal_add_class_names_hierarchy();
-}
-inline const std::string& UIElement::_internal_class_names_hierarchy(int index) const {
-  return class_names_hierarchy_.Get(index);
-}
-inline const std::string& UIElement::class_names_hierarchy(int index) const {
-  // @@protoc_insertion_point(field_get:gtxilib.oopclasses.protos.UIElement.class_names_hierarchy)
-  return _internal_class_names_hierarchy(index);
-}
-inline std::string* UIElement::mutable_class_names_hierarchy(int index) {
-  // @@protoc_insertion_point(field_mutable:gtxilib.oopclasses.protos.UIElement.class_names_hierarchy)
-  return class_names_hierarchy_.Mutable(index);
-}
-inline void UIElement::set_class_names_hierarchy(int index, const std::string& value) {
-  // @@protoc_insertion_point(field_set:gtxilib.oopclasses.protos.UIElement.class_names_hierarchy)
-  class_names_hierarchy_.Mutable(index)->assign(value);
-}
-inline void UIElement::set_class_names_hierarchy(int index, std::string&& value) {
-  // @@protoc_insertion_point(field_set:gtxilib.oopclasses.protos.UIElement.class_names_hierarchy)
-  class_names_hierarchy_.Mutable(index)->assign(std::move(value));
-}
-inline void UIElement::set_class_names_hierarchy(int index, const char* value) {
-  GOOGLE_DCHECK(value != nullptr);
-  class_names_hierarchy_.Mutable(index)->assign(value);
-  // @@protoc_insertion_point(field_set_char:gtxilib.oopclasses.protos.UIElement.class_names_hierarchy)
-}
-inline void UIElement::set_class_names_hierarchy(int index, const char* value, size_t size) {
-  class_names_hierarchy_.Mutable(index)->assign(
-    reinterpret_cast<const char*>(value), size);
-  // @@protoc_insertion_point(field_set_pointer:gtxilib.oopclasses.protos.UIElement.class_names_hierarchy)
-}
-inline std::string* UIElement::_internal_add_class_names_hierarchy() {
-  return class_names_hierarchy_.Add();
-}
-inline void UIElement::add_class_names_hierarchy(const std::string& value) {
-  class_names_hierarchy_.Add()->assign(value);
-  // @@protoc_insertion_point(field_add:gtxilib.oopclasses.protos.UIElement.class_names_hierarchy)
-}
-inline void UIElement::add_class_names_hierarchy(std::string&& value) {
-  class_names_hierarchy_.Add(std::move(value));
-  // @@protoc_insertion_point(field_add:gtxilib.oopclasses.protos.UIElement.class_names_hierarchy)
-}
-inline void UIElement::add_class_names_hierarchy(const char* value) {
-  GOOGLE_DCHECK(value != nullptr);
-  class_names_hierarchy_.Add()->assign(value);
-  // @@protoc_insertion_point(field_add_char:gtxilib.oopclasses.protos.UIElement.class_names_hierarchy)
-}
-inline void UIElement::add_class_names_hierarchy(const char* value, size_t size) {
-  class_names_hierarchy_.Add()->assign(reinterpret_cast<const char*>(value), size);
-  // @@protoc_insertion_point(field_add_pointer:gtxilib.oopclasses.protos.UIElement.class_names_hierarchy)
-}
-inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>&
-UIElement::class_names_hierarchy() const {
-  // @@protoc_insertion_point(field_list:gtxilib.oopclasses.protos.UIElement.class_names_hierarchy)
-  return class_names_hierarchy_;
-}
-inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>*
-UIElement::mutable_class_names_hierarchy() {
-  // @@protoc_insertion_point(field_mutable_list:gtxilib.oopclasses.protos.UIElement.class_names_hierarchy)
-  return &class_names_hierarchy_;
-}
-
-// .gtxilib.oopclasses.protos.Color background_color = 16;
-inline bool UIElement::_internal_has_background_color() const {
-  bool value = (_has_bits_[0] & 0x00000040u) != 0;
-  PROTOBUF_ASSUME(!value || background_color_ != nullptr);
-  return value;
-}
-inline bool UIElement::has_background_color() const {
-  return _internal_has_background_color();
-}
-inline void UIElement::clear_background_color() {
-  if (GetArena() == nullptr && background_color_ != nullptr) {
-    delete background_color_;
-  }
-  background_color_ = nullptr;
-  _has_bits_[0] &= ~0x00000040u;
-}
-inline const ::gtxilib::oopclasses::protos::Color& UIElement::_internal_background_color() const {
-  const ::gtxilib::oopclasses::protos::Color* p = background_color_;
-  return p != nullptr ? *p : *reinterpret_cast<const ::gtxilib::oopclasses::protos::Color*>(
-      &::gtxilib::oopclasses::protos::_Color_default_instance_);
-}
-inline const ::gtxilib::oopclasses::protos::Color& UIElement::background_color() const {
-  // @@protoc_insertion_point(field_get:gtxilib.oopclasses.protos.UIElement.background_color)
-  return _internal_background_color();
-}
-inline void UIElement::unsafe_arena_set_allocated_background_color(
-    ::gtxilib::oopclasses::protos::Color* background_color) {
-  if (GetArena() == nullptr) {
-    delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(background_color_);
-  }
-  background_color_ = background_color;
-  if (background_color) {
-    _has_bits_[0] |= 0x00000040u;
-  } else {
-    _has_bits_[0] &= ~0x00000040u;
-  }
-  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:gtxilib.oopclasses.protos.UIElement.background_color)
-}
-inline ::gtxilib::oopclasses::protos::Color* UIElement::release_background_color() {
-  _has_bits_[0] &= ~0x00000040u;
-  ::gtxilib::oopclasses::protos::Color* temp = background_color_;
-  background_color_ = nullptr;
-  if (GetArena() != nullptr) {
-    temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
-  }
-  return temp;
-}
-inline ::gtxilib::oopclasses::protos::Color* UIElement::unsafe_arena_release_background_color() {
-  // @@protoc_insertion_point(field_release:gtxilib.oopclasses.protos.UIElement.background_color)
-  _has_bits_[0] &= ~0x00000040u;
-  ::gtxilib::oopclasses::protos::Color* temp = background_color_;
-  background_color_ = nullptr;
-  return temp;
-}
-inline ::gtxilib::oopclasses::protos::Color* UIElement::_internal_mutable_background_color() {
-  _has_bits_[0] |= 0x00000040u;
-  if (background_color_ == nullptr) {
-    auto* p = CreateMaybeMessage<::gtxilib::oopclasses::protos::Color>(GetArena());
-    background_color_ = p;
-  }
-  return background_color_;
-}
-inline ::gtxilib::oopclasses::protos::Color* UIElement::mutable_background_color() {
-  // @@protoc_insertion_point(field_mutable:gtxilib.oopclasses.protos.UIElement.background_color)
-  return _internal_mutable_background_color();
-}
-inline void UIElement::set_allocated_background_color(::gtxilib::oopclasses::protos::Color* background_color) {
-  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
-  if (message_arena == nullptr) {
-    delete background_color_;
-  }
-  if (background_color) {
-    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
-      ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(background_color);
-    if (message_arena != submessage_arena) {
-      background_color = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
-          message_arena, background_color, submessage_arena);
-    }
-    _has_bits_[0] |= 0x00000040u;
-  } else {
-    _has_bits_[0] &= ~0x00000040u;
-  }
-  background_color_ = background_color;
-  // @@protoc_insertion_point(field_set_allocated:gtxilib.oopclasses.protos.UIElement.background_color)
-}
-
-// bool hidden = 17;
-inline bool UIElement::_internal_has_hidden() const {
-  bool value = (_has_bits_[0] & 0x00100000u) != 0;
-  return value;
-}
-inline bool UIElement::has_hidden() const {
-  return _internal_has_hidden();
-}
-inline void UIElement::clear_hidden() {
-  hidden_ = false;
-  _has_bits_[0] &= ~0x00100000u;
-}
-inline bool UIElement::_internal_hidden() const {
-  return hidden_;
-}
-inline bool UIElement::hidden() const {
-  // @@protoc_insertion_point(field_get:gtxilib.oopclasses.protos.UIElement.hidden)
-  return _internal_hidden();
-}
-inline void UIElement::_internal_set_hidden(bool value) {
-  _has_bits_[0] |= 0x00100000u;
-  hidden_ = value;
-}
-inline void UIElement::set_hidden(bool value) {
-  _internal_set_hidden(value);
-  // @@protoc_insertion_point(field_set:gtxilib.oopclasses.protos.UIElement.hidden)
-}
-
-// float alpha = 18;
-inline bool UIElement::_internal_has_alpha() const {
-  bool value = (_has_bits_[0] & 0x00040000u) != 0;
-  return value;
-}
-inline bool UIElement::has_alpha() const {
-  return _internal_has_alpha();
-}
-inline void UIElement::clear_alpha() {
-  alpha_ = 0;
-  _has_bits_[0] &= ~0x00040000u;
-}
-inline float UIElement::_internal_alpha() const {
-  return alpha_;
-}
-inline float UIElement::alpha() const {
-  // @@protoc_insertion_point(field_get:gtxilib.oopclasses.protos.UIElement.alpha)
-  return _internal_alpha();
-}
-inline void UIElement::_internal_set_alpha(float value) {
-  _has_bits_[0] |= 0x00040000u;
-  alpha_ = value;
-}
-inline void UIElement::set_alpha(float value) {
-  _internal_set_alpha(value);
-  // @@protoc_insertion_point(field_set:gtxilib.oopclasses.protos.UIElement.alpha)
-}
-
-// bool opaque = 20;
-inline bool UIElement::_internal_has_opaque() const {
-  bool value = (_has_bits_[0] & 0x00200000u) != 0;
-  return value;
-}
-inline bool UIElement::has_opaque() const {
-  return _internal_has_opaque();
-}
-inline void UIElement::clear_opaque() {
-  opaque_ = false;
-  _has_bits_[0] &= ~0x00200000u;
-}
-inline bool UIElement::_internal_opaque() const {
-  return opaque_;
-}
-inline bool UIElement::opaque() const {
-  // @@protoc_insertion_point(field_get:gtxilib.oopclasses.protos.UIElement.opaque)
-  return _internal_opaque();
-}
-inline void UIElement::_internal_set_opaque(bool value) {
-  _has_bits_[0] |= 0x00200000u;
-  opaque_ = value;
-}
-inline void UIElement::set_opaque(bool value) {
-  _internal_set_opaque(value);
-  // @@protoc_insertion_point(field_set:gtxilib.oopclasses.protos.UIElement.opaque)
-}
-
-// .gtxilib.oopclasses.protos.Color tint_color = 21;
-inline bool UIElement::_internal_has_tint_color() const {
-  bool value = (_has_bits_[0] & 0x00000080u) != 0;
-  PROTOBUF_ASSUME(!value || tint_color_ != nullptr);
-  return value;
-}
-inline bool UIElement::has_tint_color() const {
-  return _internal_has_tint_color();
-}
-inline void UIElement::clear_tint_color() {
-  if (GetArena() == nullptr && tint_color_ != nullptr) {
-    delete tint_color_;
-  }
-  tint_color_ = nullptr;
-  _has_bits_[0] &= ~0x00000080u;
-}
-inline const ::gtxilib::oopclasses::protos::Color& UIElement::_internal_tint_color() const {
-  const ::gtxilib::oopclasses::protos::Color* p = tint_color_;
-  return p != nullptr ? *p : *reinterpret_cast<const ::gtxilib::oopclasses::protos::Color*>(
-      &::gtxilib::oopclasses::protos::_Color_default_instance_);
-}
-inline const ::gtxilib::oopclasses::protos::Color& UIElement::tint_color() const {
-  // @@protoc_insertion_point(field_get:gtxilib.oopclasses.protos.UIElement.tint_color)
-  return _internal_tint_color();
-}
-inline void UIElement::unsafe_arena_set_allocated_tint_color(
-    ::gtxilib::oopclasses::protos::Color* tint_color) {
-  if (GetArena() == nullptr) {
-    delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(tint_color_);
-  }
-  tint_color_ = tint_color;
-  if (tint_color) {
-    _has_bits_[0] |= 0x00000080u;
-  } else {
-    _has_bits_[0] &= ~0x00000080u;
-  }
-  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:gtxilib.oopclasses.protos.UIElement.tint_color)
-}
-inline ::gtxilib::oopclasses::protos::Color* UIElement::release_tint_color() {
-  _has_bits_[0] &= ~0x00000080u;
-  ::gtxilib::oopclasses::protos::Color* temp = tint_color_;
-  tint_color_ = nullptr;
-  if (GetArena() != nullptr) {
-    temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
-  }
-  return temp;
-}
-inline ::gtxilib::oopclasses::protos::Color* UIElement::unsafe_arena_release_tint_color() {
-  // @@protoc_insertion_point(field_release:gtxilib.oopclasses.protos.UIElement.tint_color)
-  _has_bits_[0] &= ~0x00000080u;
-  ::gtxilib::oopclasses::protos::Color* temp = tint_color_;
-  tint_color_ = nullptr;
-  return temp;
-}
-inline ::gtxilib::oopclasses::protos::Color* UIElement::_internal_mutable_tint_color() {
-  _has_bits_[0] |= 0x00000080u;
-  if (tint_color_ == nullptr) {
-    auto* p = CreateMaybeMessage<::gtxilib::oopclasses::protos::Color>(GetArena());
-    tint_color_ = p;
-  }
-  return tint_color_;
-}
-inline ::gtxilib::oopclasses::protos::Color* UIElement::mutable_tint_color() {
-  // @@protoc_insertion_point(field_mutable:gtxilib.oopclasses.protos.UIElement.tint_color)
-  return _internal_mutable_tint_color();
-}
-inline void UIElement::set_allocated_tint_color(::gtxilib::oopclasses::protos::Color* tint_color) {
-  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
-  if (message_arena == nullptr) {
-    delete tint_color_;
-  }
-  if (tint_color) {
-    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
-      ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(tint_color);
-    if (message_arena != submessage_arena) {
-      tint_color = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
-          message_arena, tint_color, submessage_arena);
-    }
-    _has_bits_[0] |= 0x00000080u;
-  } else {
-    _has_bits_[0] &= ~0x00000080u;
-  }
-  tint_color_ = tint_color;
-  // @@protoc_insertion_point(field_set_allocated:gtxilib.oopclasses.protos.UIElement.tint_color)
-}
-
-// bool clips_to_bounds = 22;
-inline bool UIElement::_internal_has_clips_to_bounds() const {
-  bool value = (_has_bits_[0] & 0x00400000u) != 0;
-  return value;
-}
-inline bool UIElement::has_clips_to_bounds() const {
-  return _internal_has_clips_to_bounds();
-}
-inline void UIElement::clear_clips_to_bounds() {
-  clips_to_bounds_ = false;
-  _has_bits_[0] &= ~0x00400000u;
-}
-inline bool UIElement::_internal_clips_to_bounds() const {
-  return clips_to_bounds_;
-}
-inline bool UIElement::clips_to_bounds() const {
-  // @@protoc_insertion_point(field_get:gtxilib.oopclasses.protos.UIElement.clips_to_bounds)
-  return _internal_clips_to_bounds();
-}
-inline void UIElement::_internal_set_clips_to_bounds(bool value) {
-  _has_bits_[0] |= 0x00400000u;
-  clips_to_bounds_ = value;
-}
-inline void UIElement::set_clips_to_bounds(bool value) {
-  _internal_set_clips_to_bounds(value);
-  // @@protoc_insertion_point(field_set:gtxilib.oopclasses.protos.UIElement.clips_to_bounds)
-}
-
-// bool user_interaction_enabled = 23;
-inline bool UIElement::_internal_has_user_interaction_enabled() const {
-  bool value = (_has_bits_[0] & 0x01000000u) != 0;
-  return value;
-}
-inline bool UIElement::has_user_interaction_enabled() const {
-  return _internal_has_user_interaction_enabled();
-}
-inline void UIElement::clear_user_interaction_enabled() {
-  user_interaction_enabled_ = false;
-  _has_bits_[0] &= ~0x01000000u;
-}
-inline bool UIElement::_internal_user_interaction_enabled() const {
-  return user_interaction_enabled_;
-}
-inline bool UIElement::user_interaction_enabled() const {
-  // @@protoc_insertion_point(field_get:gtxilib.oopclasses.protos.UIElement.user_interaction_enabled)
-  return _internal_user_interaction_enabled();
-}
-inline void UIElement::_internal_set_user_interaction_enabled(bool value) {
-  _has_bits_[0] |= 0x01000000u;
-  user_interaction_enabled_ = value;
-}
-inline void UIElement::set_user_interaction_enabled(bool value) {
-  _internal_set_user_interaction_enabled(value);
-  // @@protoc_insertion_point(field_set:gtxilib.oopclasses.protos.UIElement.user_interaction_enabled)
-}
-
-// bool multiple_touch_enabled = 24;
-inline bool UIElement::_internal_has_multiple_touch_enabled() const {
-  bool value = (_has_bits_[0] & 0x02000000u) != 0;
-  return value;
-}
-inline bool UIElement::has_multiple_touch_enabled() const {
-  return _internal_has_multiple_touch_enabled();
-}
-inline void UIElement::clear_multiple_touch_enabled() {
-  multiple_touch_enabled_ = false;
-  _has_bits_[0] &= ~0x02000000u;
-}
-inline bool UIElement::_internal_multiple_touch_enabled() const {
-  return multiple_touch_enabled_;
-}
-inline bool UIElement::multiple_touch_enabled() const {
-  // @@protoc_insertion_point(field_get:gtxilib.oopclasses.protos.UIElement.multiple_touch_enabled)
-  return _internal_multiple_touch_enabled();
-}
-inline void UIElement::_internal_set_multiple_touch_enabled(bool value) {
-  _has_bits_[0] |= 0x02000000u;
-  multiple_touch_enabled_ = value;
-}
-inline void UIElement::set_multiple_touch_enabled(bool value) {
-  _internal_set_multiple_touch_enabled(value);
-  // @@protoc_insertion_point(field_set:gtxilib.oopclasses.protos.UIElement.multiple_touch_enabled)
-}
-
-// bool exclusive_touch = 25;
-inline bool UIElement::_internal_has_exclusive_touch() const {
-  bool value = (_has_bits_[0] & 0x04000000u) != 0;
-  return value;
-}
-inline bool UIElement::has_exclusive_touch() const {
-  return _internal_has_exclusive_touch();
-}
-inline void UIElement::clear_exclusive_touch() {
-  exclusive_touch_ = false;
-  _has_bits_[0] &= ~0x04000000u;
-}
-inline bool UIElement::_internal_exclusive_touch() const {
-  return exclusive_touch_;
-}
-inline bool UIElement::exclusive_touch() const {
-  // @@protoc_insertion_point(field_get:gtxilib.oopclasses.protos.UIElement.exclusive_touch)
-  return _internal_exclusive_touch();
-}
-inline void UIElement::_internal_set_exclusive_touch(bool value) {
-  _has_bits_[0] |= 0x04000000u;
-  exclusive_touch_ = value;
-}
-inline void UIElement::set_exclusive_touch(bool value) {
-  _internal_set_exclusive_touch(value);
-  // @@protoc_insertion_point(field_set:gtxilib.oopclasses.protos.UIElement.exclusive_touch)
-}
-
-// .gtxilib.oopclasses.protos.Rect frame = 26;
-inline bool UIElement::_internal_has_frame() const {
-  bool value = (_has_bits_[0] & 0x00000100u) != 0;
-  PROTOBUF_ASSUME(!value || frame_ != nullptr);
-  return value;
-}
-inline bool UIElement::has_frame() const {
-  return _internal_has_frame();
-}
-inline void UIElement::clear_frame() {
-  if (GetArena() == nullptr && frame_ != nullptr) {
-    delete frame_;
-  }
-  frame_ = nullptr;
-  _has_bits_[0] &= ~0x00000100u;
-}
-inline const ::gtxilib::oopclasses::protos::Rect& UIElement::_internal_frame() const {
-  const ::gtxilib::oopclasses::protos::Rect* p = frame_;
-  return p != nullptr ? *p : *reinterpret_cast<const ::gtxilib::oopclasses::protos::Rect*>(
-      &::gtxilib::oopclasses::protos::_Rect_default_instance_);
-}
-inline const ::gtxilib::oopclasses::protos::Rect& UIElement::frame() const {
-  // @@protoc_insertion_point(field_get:gtxilib.oopclasses.protos.UIElement.frame)
-  return _internal_frame();
-}
-inline void UIElement::unsafe_arena_set_allocated_frame(
-    ::gtxilib::oopclasses::protos::Rect* frame) {
-  if (GetArena() == nullptr) {
-    delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(frame_);
-  }
-  frame_ = frame;
-  if (frame) {
-    _has_bits_[0] |= 0x00000100u;
-  } else {
-    _has_bits_[0] &= ~0x00000100u;
-  }
-  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:gtxilib.oopclasses.protos.UIElement.frame)
-}
-inline ::gtxilib::oopclasses::protos::Rect* UIElement::release_frame() {
-  _has_bits_[0] &= ~0x00000100u;
-  ::gtxilib::oopclasses::protos::Rect* temp = frame_;
-  frame_ = nullptr;
-  if (GetArena() != nullptr) {
-    temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
-  }
-  return temp;
-}
-inline ::gtxilib::oopclasses::protos::Rect* UIElement::unsafe_arena_release_frame() {
-  // @@protoc_insertion_point(field_release:gtxilib.oopclasses.protos.UIElement.frame)
-  _has_bits_[0] &= ~0x00000100u;
-  ::gtxilib::oopclasses::protos::Rect* temp = frame_;
-  frame_ = nullptr;
-  return temp;
-}
-inline ::gtxilib::oopclasses::protos::Rect* UIElement::_internal_mutable_frame() {
-  _has_bits_[0] |= 0x00000100u;
-  if (frame_ == nullptr) {
-    auto* p = CreateMaybeMessage<::gtxilib::oopclasses::protos::Rect>(GetArena());
-    frame_ = p;
-  }
-  return frame_;
-}
-inline ::gtxilib::oopclasses::protos::Rect* UIElement::mutable_frame() {
-  // @@protoc_insertion_point(field_mutable:gtxilib.oopclasses.protos.UIElement.frame)
-  return _internal_mutable_frame();
-}
-inline void UIElement::set_allocated_frame(::gtxilib::oopclasses::protos::Rect* frame) {
-  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
-  if (message_arena == nullptr) {
-    delete frame_;
-  }
-  if (frame) {
-    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
-      ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(frame);
-    if (message_arena != submessage_arena) {
-      frame = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
-          message_arena, frame, submessage_arena);
-    }
-    _has_bits_[0] |= 0x00000100u;
-  } else {
-    _has_bits_[0] &= ~0x00000100u;
-  }
-  frame_ = frame;
-  // @@protoc_insertion_point(field_set_allocated:gtxilib.oopclasses.protos.UIElement.frame)
-}
-
-// .gtxilib.oopclasses.protos.Rect bounds = 27;
-inline bool UIElement::_internal_has_bounds() const {
-  bool value = (_has_bits_[0] & 0x00000200u) != 0;
-  PROTOBUF_ASSUME(!value || bounds_ != nullptr);
-  return value;
-}
-inline bool UIElement::has_bounds() const {
-  return _internal_has_bounds();
-}
-inline void UIElement::clear_bounds() {
-  if (GetArena() == nullptr && bounds_ != nullptr) {
-    delete bounds_;
-  }
-  bounds_ = nullptr;
-  _has_bits_[0] &= ~0x00000200u;
-}
-inline const ::gtxilib::oopclasses::protos::Rect& UIElement::_internal_bounds() const {
-  const ::gtxilib::oopclasses::protos::Rect* p = bounds_;
-  return p != nullptr ? *p : *reinterpret_cast<const ::gtxilib::oopclasses::protos::Rect*>(
-      &::gtxilib::oopclasses::protos::_Rect_default_instance_);
-}
-inline const ::gtxilib::oopclasses::protos::Rect& UIElement::bounds() const {
-  // @@protoc_insertion_point(field_get:gtxilib.oopclasses.protos.UIElement.bounds)
-  return _internal_bounds();
-}
-inline void UIElement::unsafe_arena_set_allocated_bounds(
-    ::gtxilib::oopclasses::protos::Rect* bounds) {
-  if (GetArena() == nullptr) {
-    delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(bounds_);
-  }
-  bounds_ = bounds;
-  if (bounds) {
-    _has_bits_[0] |= 0x00000200u;
-  } else {
-    _has_bits_[0] &= ~0x00000200u;
-  }
-  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:gtxilib.oopclasses.protos.UIElement.bounds)
-}
-inline ::gtxilib::oopclasses::protos::Rect* UIElement::release_bounds() {
-  _has_bits_[0] &= ~0x00000200u;
-  ::gtxilib::oopclasses::protos::Rect* temp = bounds_;
-  bounds_ = nullptr;
-  if (GetArena() != nullptr) {
-    temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
-  }
-  return temp;
-}
-inline ::gtxilib::oopclasses::protos::Rect* UIElement::unsafe_arena_release_bounds() {
-  // @@protoc_insertion_point(field_release:gtxilib.oopclasses.protos.UIElement.bounds)
-  _has_bits_[0] &= ~0x00000200u;
-  ::gtxilib::oopclasses::protos::Rect* temp = bounds_;
-  bounds_ = nullptr;
-  return temp;
-}
-inline ::gtxilib::oopclasses::protos::Rect* UIElement::_internal_mutable_bounds() {
-  _has_bits_[0] |= 0x00000200u;
-  if (bounds_ == nullptr) {
-    auto* p = CreateMaybeMessage<::gtxilib::oopclasses::protos::Rect>(GetArena());
-    bounds_ = p;
-  }
-  return bounds_;
-}
-inline ::gtxilib::oopclasses::protos::Rect* UIElement::mutable_bounds() {
-  // @@protoc_insertion_point(field_mutable:gtxilib.oopclasses.protos.UIElement.bounds)
-  return _internal_mutable_bounds();
-}
-inline void UIElement::set_allocated_bounds(::gtxilib::oopclasses::protos::Rect* bounds) {
-  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
-  if (message_arena == nullptr) {
-    delete bounds_;
-  }
-  if (bounds) {
-    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
-      ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(bounds);
-    if (message_arena != submessage_arena) {
-      bounds = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
-          message_arena, bounds, submessage_arena);
-    }
-    _has_bits_[0] |= 0x00000200u;
-  } else {
-    _has_bits_[0] &= ~0x00000200u;
-  }
-  bounds_ = bounds;
-  // @@protoc_insertion_point(field_set_allocated:gtxilib.oopclasses.protos.UIElement.bounds)
-}
-
-// uint64 control_state = 28;
-inline bool UIElement::_internal_has_control_state() const {
-  bool value = (_has_bits_[0] & 0x00800000u) != 0;
-  return value;
-}
-inline bool UIElement::has_control_state() const {
-  return _internal_has_control_state();
-}
-inline void UIElement::clear_control_state() {
-  control_state_ = PROTOBUF_ULONGLONG(0);
-  _has_bits_[0] &= ~0x00800000u;
-}
-inline ::PROTOBUF_NAMESPACE_ID::uint64 UIElement::_internal_control_state() const {
-  return control_state_;
-}
-inline ::PROTOBUF_NAMESPACE_ID::uint64 UIElement::control_state() const {
-  // @@protoc_insertion_point(field_get:gtxilib.oopclasses.protos.UIElement.control_state)
-  return _internal_control_state();
-}
-inline void UIElement::_internal_set_control_state(::PROTOBUF_NAMESPACE_ID::uint64 value) {
-  _has_bits_[0] |= 0x00800000u;
-  control_state_ = value;
-}
-inline void UIElement::set_control_state(::PROTOBUF_NAMESPACE_ID::uint64 value) {
-  _internal_set_control_state(value);
-  // @@protoc_insertion_point(field_set:gtxilib.oopclasses.protos.UIElement.control_state)
-}
-
-// bool enabled = 29;
-inline bool UIElement::_internal_has_enabled() const {
-  bool value = (_has_bits_[0] & 0x08000000u) != 0;
-  return value;
-}
-inline bool UIElement::has_enabled() const {
-  return _internal_has_enabled();
-}
-inline void UIElement::clear_enabled() {
-  enabled_ = false;
-  _has_bits_[0] &= ~0x08000000u;
-}
-inline bool UIElement::_internal_enabled() const {
-  return enabled_;
-}
-inline bool UIElement::enabled() const {
-  // @@protoc_insertion_point(field_get:gtxilib.oopclasses.protos.UIElement.enabled)
-  return _internal_enabled();
-}
-inline void UIElement::_internal_set_enabled(bool value) {
-  _has_bits_[0] |= 0x08000000u;
-  enabled_ = value;
-}
-inline void UIElement::set_enabled(bool value) {
-  _internal_set_enabled(value);
-  // @@protoc_insertion_point(field_set:gtxilib.oopclasses.protos.UIElement.enabled)
-}
-
-// bool selected = 30;
-inline bool UIElement::_internal_has_selected() const {
-  bool value = (_has_bits_[0] & 0x10000000u) != 0;
-  return value;
-}
-inline bool UIElement::has_selected() const {
-  return _internal_has_selected();
-}
-inline void UIElement::clear_selected() {
-  selected_ = false;
-  _has_bits_[0] &= ~0x10000000u;
-}
-inline bool UIElement::_internal_selected() const {
-  return selected_;
-}
-inline bool UIElement::selected() const {
-  // @@protoc_insertion_point(field_get:gtxilib.oopclasses.protos.UIElement.selected)
-  return _internal_selected();
-}
-inline void UIElement::_internal_set_selected(bool value) {
-  _has_bits_[0] |= 0x10000000u;
-  selected_ = value;
-}
-inline void UIElement::set_selected(bool value) {
-  _internal_set_selected(value);
-  // @@protoc_insertion_point(field_set:gtxilib.oopclasses.protos.UIElement.selected)
-}
-
-// bool highlighted = 31;
-inline bool UIElement::_internal_has_highlighted() const {
-  bool value = (_has_bits_[0] & 0x20000000u) != 0;
-  return value;
-}
-inline bool UIElement::has_highlighted() const {
-  return _internal_has_highlighted();
-}
-inline void UIElement::clear_highlighted() {
-  highlighted_ = false;
-  _has_bits_[0] &= ~0x20000000u;
-}
-inline bool UIElement::_internal_highlighted() const {
-  return highlighted_;
-}
-inline bool UIElement::highlighted() const {
-  // @@protoc_insertion_point(field_get:gtxilib.oopclasses.protos.UIElement.highlighted)
-  return _internal_highlighted();
-}
-inline void UIElement::_internal_set_highlighted(bool value) {
-  _has_bits_[0] |= 0x20000000u;
-  highlighted_ = value;
-}
-inline void UIElement::set_highlighted(bool value) {
-  _internal_set_highlighted(value);
-  // @@protoc_insertion_point(field_set:gtxilib.oopclasses.protos.UIElement.highlighted)
-}
-
-// string title = 32;
-inline bool UIElement::_internal_has_title() const {
-  bool value = (_has_bits_[0] & 0x00000008u) != 0;
-  return value;
-}
-inline bool UIElement::has_title() const {
-  return _internal_has_title();
-}
-inline void UIElement::clear_title() {
-  title_.ClearToEmpty(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
-  _has_bits_[0] &= ~0x00000008u;
-}
-inline const std::string& UIElement::title() const {
-  // @@protoc_insertion_point(field_get:gtxilib.oopclasses.protos.UIElement.title)
-  return _internal_title();
-}
-inline void UIElement::set_title(const std::string& value) {
-  _internal_set_title(value);
-  // @@protoc_insertion_point(field_set:gtxilib.oopclasses.protos.UIElement.title)
-}
-inline std::string* UIElement::mutable_title() {
-  // @@protoc_insertion_point(field_mutable:gtxilib.oopclasses.protos.UIElement.title)
-  return _internal_mutable_title();
-}
-inline const std::string& UIElement::_internal_title() const {
-  return title_.Get();
-}
-inline void UIElement::_internal_set_title(const std::string& value) {
-  _has_bits_[0] |= 0x00000008u;
-  title_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), value, GetArena());
-}
-inline void UIElement::set_title(std::string&& value) {
-  _has_bits_[0] |= 0x00000008u;
-  title_.Set(
-    &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), ::std::move(value), GetArena());
-  // @@protoc_insertion_point(field_set_rvalue:gtxilib.oopclasses.protos.UIElement.title)
-}
-inline void UIElement::set_title(const char* value) {
-  GOOGLE_DCHECK(value != nullptr);
-  _has_bits_[0] |= 0x00000008u;
-  title_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), ::std::string(value),
-              GetArena());
-  // @@protoc_insertion_point(field_set_char:gtxilib.oopclasses.protos.UIElement.title)
-}
-inline void UIElement::set_title(const char* value,
-    size_t size) {
-  _has_bits_[0] |= 0x00000008u;
-  title_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), ::std::string(
-      reinterpret_cast<const char*>(value), size), GetArena());
-  // @@protoc_insertion_point(field_set_pointer:gtxilib.oopclasses.protos.UIElement.title)
-}
-inline std::string* UIElement::_internal_mutable_title() {
-  _has_bits_[0] |= 0x00000008u;
-  return title_.Mutable(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
-}
-inline std::string* UIElement::release_title() {
-  // @@protoc_insertion_point(field_release:gtxilib.oopclasses.protos.UIElement.title)
-  if (!_internal_has_title()) {
-    return nullptr;
-  }
-  _has_bits_[0] &= ~0x00000008u;
-  return title_.ReleaseNonDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
-}
-inline void UIElement::set_allocated_title(std::string* title) {
-  if (title != nullptr) {
-    _has_bits_[0] |= 0x00000008u;
-  } else {
-    _has_bits_[0] &= ~0x00000008u;
-  }
-  title_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), title,
-      GetArena());
-  // @@protoc_insertion_point(field_set_allocated:gtxilib.oopclasses.protos.UIElement.title)
-}
-
-// string text = 33;
-inline bool UIElement::_internal_has_text() const {
-  bool value = (_has_bits_[0] & 0x00000010u) != 0;
-  return value;
-}
-inline bool UIElement::has_text() const {
-  return _internal_has_text();
-}
-inline void UIElement::clear_text() {
-  text_.ClearToEmpty(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
-  _has_bits_[0] &= ~0x00000010u;
-}
-inline const std::string& UIElement::text() const {
-  // @@protoc_insertion_point(field_get:gtxilib.oopclasses.protos.UIElement.text)
-  return _internal_text();
-}
-inline void UIElement::set_text(const std::string& value) {
-  _internal_set_text(value);
-  // @@protoc_insertion_point(field_set:gtxilib.oopclasses.protos.UIElement.text)
-}
-inline std::string* UIElement::mutable_text() {
-  // @@protoc_insertion_point(field_mutable:gtxilib.oopclasses.protos.UIElement.text)
-  return _internal_mutable_text();
-}
-inline const std::string& UIElement::_internal_text() const {
-  return text_.Get();
-}
-inline void UIElement::_internal_set_text(const std::string& value) {
-  _has_bits_[0] |= 0x00000010u;
-  text_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), value, GetArena());
-}
-inline void UIElement::set_text(std::string&& value) {
-  _has_bits_[0] |= 0x00000010u;
-  text_.Set(
-    &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), ::std::move(value), GetArena());
-  // @@protoc_insertion_point(field_set_rvalue:gtxilib.oopclasses.protos.UIElement.text)
-}
-inline void UIElement::set_text(const char* value) {
-  GOOGLE_DCHECK(value != nullptr);
-  _has_bits_[0] |= 0x00000010u;
-  text_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), ::std::string(value),
-              GetArena());
-  // @@protoc_insertion_point(field_set_char:gtxilib.oopclasses.protos.UIElement.text)
-}
-inline void UIElement::set_text(const char* value,
-    size_t size) {
-  _has_bits_[0] |= 0x00000010u;
-  text_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), ::std::string(
-      reinterpret_cast<const char*>(value), size), GetArena());
-  // @@protoc_insertion_point(field_set_pointer:gtxilib.oopclasses.protos.UIElement.text)
-}
-inline std::string* UIElement::_internal_mutable_text() {
-  _has_bits_[0] |= 0x00000010u;
-  return text_.Mutable(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
-}
-inline std::string* UIElement::release_text() {
-  // @@protoc_insertion_point(field_release:gtxilib.oopclasses.protos.UIElement.text)
-  if (!_internal_has_text()) {
-    return nullptr;
-  }
-  _has_bits_[0] &= ~0x00000010u;
-  return text_.ReleaseNonDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
-}
-inline void UIElement::set_allocated_text(std::string* text) {
-  if (text != nullptr) {
-    _has_bits_[0] |= 0x00000010u;
-  } else {
-    _has_bits_[0] &= ~0x00000010u;
-  }
-  text_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), text,
-      GetArena());
-  // @@protoc_insertion_point(field_set_allocated:gtxilib.oopclasses.protos.UIElement.text)
-}
-
-// bool on = 34;
-inline bool UIElement::_internal_has_on() const {
-  bool value = (_has_bits_[0] & 0x40000000u) != 0;
-  return value;
-}
-inline bool UIElement::has_on() const {
-  return _internal_has_on();
-}
-inline void UIElement::clear_on() {
-  on_ = false;
-  _has_bits_[0] &= ~0x40000000u;
-}
-inline bool UIElement::_internal_on() const {
-  return on_;
-}
-inline bool UIElement::on() const {
-  // @@protoc_insertion_point(field_get:gtxilib.oopclasses.protos.UIElement.on)
-  return _internal_on();
-}
-inline void UIElement::_internal_set_on(bool value) {
-  _has_bits_[0] |= 0x40000000u;
-  on_ = value;
-}
-inline void UIElement::set_on(bool value) {
-  _internal_set_on(value);
-  // @@protoc_insertion_point(field_set:gtxilib.oopclasses.protos.UIElement.on)
-}
-
-// float value = 35;
-inline bool UIElement::_internal_has_value() const {
-  bool value = (_has_bits_[0] & 0x80000000u) != 0;
-  return value;
-}
-inline bool UIElement::has_value() const {
-  return _internal_has_value();
-}
-inline void UIElement::clear_value() {
-  value_ = 0;
-  _has_bits_[0] &= ~0x80000000u;
-}
-inline float UIElement::_internal_value() const {
-  return value_;
-}
-inline float UIElement::value() const {
-  // @@protoc_insertion_point(field_get:gtxilib.oopclasses.protos.UIElement.value)
-  return _internal_value();
-}
-inline void UIElement::_internal_set_value(float value) {
-  _has_bits_[0] |= 0x80000000u;
-  value_ = value;
-}
-inline void UIElement::set_value(float value) {
-  _internal_set_value(value);
-  // @@protoc_insertion_point(field_set:gtxilib.oopclasses.protos.UIElement.value)
-}
-
-// -------------------------------------------------------------------
-
-// DeviceState
-
-// .gtxilib.oopclasses.protos.DisplayMetrics display_metrics = 1;
-inline bool DeviceState::_internal_has_display_metrics() const {
-  bool value = (_has_bits_[0] & 0x00000002u) != 0;
-  PROTOBUF_ASSUME(!value || display_metrics_ != nullptr);
-  return value;
-}
-inline bool DeviceState::has_display_metrics() const {
-  return _internal_has_display_metrics();
-}
-inline void DeviceState::clear_display_metrics() {
-  if (GetArena() == nullptr && display_metrics_ != nullptr) {
-    delete display_metrics_;
-  }
-  display_metrics_ = nullptr;
-  _has_bits_[0] &= ~0x00000002u;
-}
-inline const ::gtxilib::oopclasses::protos::DisplayMetrics& DeviceState::_internal_display_metrics() const {
-  const ::gtxilib::oopclasses::protos::DisplayMetrics* p = display_metrics_;
-  return p != nullptr ? *p : *reinterpret_cast<const ::gtxilib::oopclasses::protos::DisplayMetrics*>(
-      &::gtxilib::oopclasses::protos::_DisplayMetrics_default_instance_);
-}
-inline const ::gtxilib::oopclasses::protos::DisplayMetrics& DeviceState::display_metrics() const {
-  // @@protoc_insertion_point(field_get:gtxilib.oopclasses.protos.DeviceState.display_metrics)
-  return _internal_display_metrics();
-}
-inline void DeviceState::unsafe_arena_set_allocated_display_metrics(
-    ::gtxilib::oopclasses::protos::DisplayMetrics* display_metrics) {
-  if (GetArena() == nullptr) {
-    delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(display_metrics_);
-  }
-  display_metrics_ = display_metrics;
-  if (display_metrics) {
-    _has_bits_[0] |= 0x00000002u;
-  } else {
-    _has_bits_[0] &= ~0x00000002u;
-  }
-  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:gtxilib.oopclasses.protos.DeviceState.display_metrics)
-}
-inline ::gtxilib::oopclasses::protos::DisplayMetrics* DeviceState::release_display_metrics() {
-  _has_bits_[0] &= ~0x00000002u;
-  ::gtxilib::oopclasses::protos::DisplayMetrics* temp = display_metrics_;
-  display_metrics_ = nullptr;
-  if (GetArena() != nullptr) {
-    temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
-  }
-  return temp;
-}
-inline ::gtxilib::oopclasses::protos::DisplayMetrics* DeviceState::unsafe_arena_release_display_metrics() {
-  // @@protoc_insertion_point(field_release:gtxilib.oopclasses.protos.DeviceState.display_metrics)
-  _has_bits_[0] &= ~0x00000002u;
-  ::gtxilib::oopclasses::protos::DisplayMetrics* temp = display_metrics_;
-  display_metrics_ = nullptr;
-  return temp;
-}
-inline ::gtxilib::oopclasses::protos::DisplayMetrics* DeviceState::_internal_mutable_display_metrics() {
-  _has_bits_[0] |= 0x00000002u;
-  if (display_metrics_ == nullptr) {
-    auto* p = CreateMaybeMessage<::gtxilib::oopclasses::protos::DisplayMetrics>(GetArena());
-    display_metrics_ = p;
-  }
-  return display_metrics_;
-}
-inline ::gtxilib::oopclasses::protos::DisplayMetrics* DeviceState::mutable_display_metrics() {
-  // @@protoc_insertion_point(field_mutable:gtxilib.oopclasses.protos.DeviceState.display_metrics)
-  return _internal_mutable_display_metrics();
-}
-inline void DeviceState::set_allocated_display_metrics(::gtxilib::oopclasses::protos::DisplayMetrics* display_metrics) {
-  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
-  if (message_arena == nullptr) {
-    delete display_metrics_;
-  }
-  if (display_metrics) {
-    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
-      ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(display_metrics);
-    if (message_arena != submessage_arena) {
-      display_metrics = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
-          message_arena, display_metrics, submessage_arena);
-    }
-    _has_bits_[0] |= 0x00000002u;
-  } else {
-    _has_bits_[0] &= ~0x00000002u;
-  }
-  display_metrics_ = display_metrics;
-  // @@protoc_insertion_point(field_set_allocated:gtxilib.oopclasses.protos.DeviceState.display_metrics)
-}
-
-// string ios_version = 2;
-inline bool DeviceState::_internal_has_ios_version() const {
-  bool value = (_has_bits_[0] & 0x00000001u) != 0;
-  return value;
-}
-inline bool DeviceState::has_ios_version() const {
-  return _internal_has_ios_version();
-}
-inline void DeviceState::clear_ios_version() {
-  ios_version_.ClearToEmpty(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
-  _has_bits_[0] &= ~0x00000001u;
-}
-inline const std::string& DeviceState::ios_version() const {
-  // @@protoc_insertion_point(field_get:gtxilib.oopclasses.protos.DeviceState.ios_version)
-  return _internal_ios_version();
-}
-inline void DeviceState::set_ios_version(const std::string& value) {
-  _internal_set_ios_version(value);
-  // @@protoc_insertion_point(field_set:gtxilib.oopclasses.protos.DeviceState.ios_version)
-}
-inline std::string* DeviceState::mutable_ios_version() {
-  // @@protoc_insertion_point(field_mutable:gtxilib.oopclasses.protos.DeviceState.ios_version)
-  return _internal_mutable_ios_version();
-}
-inline const std::string& DeviceState::_internal_ios_version() const {
-  return ios_version_.Get();
-}
-inline void DeviceState::_internal_set_ios_version(const std::string& value) {
-  _has_bits_[0] |= 0x00000001u;
-  ios_version_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), value, GetArena());
-}
-inline void DeviceState::set_ios_version(std::string&& value) {
-  _has_bits_[0] |= 0x00000001u;
-  ios_version_.Set(
-    &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), ::std::move(value), GetArena());
-  // @@protoc_insertion_point(field_set_rvalue:gtxilib.oopclasses.protos.DeviceState.ios_version)
-}
-inline void DeviceState::set_ios_version(const char* value) {
-  GOOGLE_DCHECK(value != nullptr);
-  _has_bits_[0] |= 0x00000001u;
-  ios_version_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), ::std::string(value),
-              GetArena());
-  // @@protoc_insertion_point(field_set_char:gtxilib.oopclasses.protos.DeviceState.ios_version)
-}
-inline void DeviceState::set_ios_version(const char* value,
-    size_t size) {
-  _has_bits_[0] |= 0x00000001u;
-  ios_version_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), ::std::string(
-      reinterpret_cast<const char*>(value), size), GetArena());
-  // @@protoc_insertion_point(field_set_pointer:gtxilib.oopclasses.protos.DeviceState.ios_version)
-}
-inline std::string* DeviceState::_internal_mutable_ios_version() {
-  _has_bits_[0] |= 0x00000001u;
-  return ios_version_.Mutable(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
-}
-inline std::string* DeviceState::release_ios_version() {
-  // @@protoc_insertion_point(field_release:gtxilib.oopclasses.protos.DeviceState.ios_version)
-  if (!_internal_has_ios_version()) {
-    return nullptr;
-  }
-  _has_bits_[0] &= ~0x00000001u;
-  return ios_version_.ReleaseNonDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
-}
-inline void DeviceState::set_allocated_ios_version(std::string* ios_version) {
-  if (ios_version != nullptr) {
-    _has_bits_[0] |= 0x00000001u;
-  } else {
-    _has_bits_[0] &= ~0x00000001u;
-  }
-  ios_version_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), ios_version,
-      GetArena());
-  // @@protoc_insertion_point(field_set_allocated:gtxilib.oopclasses.protos.DeviceState.ios_version)
-}
-
-// -------------------------------------------------------------------
-
-// DisplayMetrics
-
-// int32 screen_width = 1;
-inline bool DisplayMetrics::_internal_has_screen_width() const {
-  bool value = (_has_bits_[0] & 0x00000001u) != 0;
-  return value;
-}
-inline bool DisplayMetrics::has_screen_width() const {
-  return _internal_has_screen_width();
-}
-inline void DisplayMetrics::clear_screen_width() {
-  screen_width_ = 0;
-  _has_bits_[0] &= ~0x00000001u;
-}
-inline ::PROTOBUF_NAMESPACE_ID::int32 DisplayMetrics::_internal_screen_width() const {
-  return screen_width_;
-}
-inline ::PROTOBUF_NAMESPACE_ID::int32 DisplayMetrics::screen_width() const {
-  // @@protoc_insertion_point(field_get:gtxilib.oopclasses.protos.DisplayMetrics.screen_width)
-  return _internal_screen_width();
-}
-inline void DisplayMetrics::_internal_set_screen_width(::PROTOBUF_NAMESPACE_ID::int32 value) {
-  _has_bits_[0] |= 0x00000001u;
-  screen_width_ = value;
-}
-inline void DisplayMetrics::set_screen_width(::PROTOBUF_NAMESPACE_ID::int32 value) {
-  _internal_set_screen_width(value);
-  // @@protoc_insertion_point(field_set:gtxilib.oopclasses.protos.DisplayMetrics.screen_width)
-}
-
-// int32 screen_height = 2;
-inline bool DisplayMetrics::_internal_has_screen_height() const {
-  bool value = (_has_bits_[0] & 0x00000002u) != 0;
-  return value;
-}
-inline bool DisplayMetrics::has_screen_height() const {
-  return _internal_has_screen_height();
-}
-inline void DisplayMetrics::clear_screen_height() {
-  screen_height_ = 0;
-  _has_bits_[0] &= ~0x00000002u;
-}
-inline ::PROTOBUF_NAMESPACE_ID::int32 DisplayMetrics::_internal_screen_height() const {
-  return screen_height_;
-}
-inline ::PROTOBUF_NAMESPACE_ID::int32 DisplayMetrics::screen_height() const {
-  // @@protoc_insertion_point(field_get:gtxilib.oopclasses.protos.DisplayMetrics.screen_height)
-  return _internal_screen_height();
-}
-inline void DisplayMetrics::_internal_set_screen_height(::PROTOBUF_NAMESPACE_ID::int32 value) {
-  _has_bits_[0] |= 0x00000002u;
-  screen_height_ = value;
-}
-inline void DisplayMetrics::set_screen_height(::PROTOBUF_NAMESPACE_ID::int32 value) {
-  _internal_set_screen_height(value);
-  // @@protoc_insertion_point(field_set:gtxilib.oopclasses.protos.DisplayMetrics.screen_height)
-}
-
-// float screen_scale = 3;
-inline bool DisplayMetrics::_internal_has_screen_scale() const {
-  bool value = (_has_bits_[0] & 0x00000004u) != 0;
-  return value;
-}
-inline bool DisplayMetrics::has_screen_scale() const {
-  return _internal_has_screen_scale();
-}
-inline void DisplayMetrics::clear_screen_scale() {
-  screen_scale_ = 0;
-  _has_bits_[0] &= ~0x00000004u;
-}
-inline float DisplayMetrics::_internal_screen_scale() const {
-  return screen_scale_;
-}
-inline float DisplayMetrics::screen_scale() const {
-  // @@protoc_insertion_point(field_get:gtxilib.oopclasses.protos.DisplayMetrics.screen_scale)
-  return _internal_screen_scale();
-}
-inline void DisplayMetrics::_internal_set_screen_scale(float value) {
-  _has_bits_[0] |= 0x00000004u;
-  screen_scale_ = value;
-}
-inline void DisplayMetrics::set_screen_scale(float value) {
-  _internal_set_screen_scale(value);
-  // @@protoc_insertion_point(field_set:gtxilib.oopclasses.protos.DisplayMetrics.screen_scale)
-}
-
-// -------------------------------------------------------------------
-
-// AccessibilityHierarchy
-
-// .gtxilib.oopclasses.protos.DeviceState device_state = 1;
-inline bool AccessibilityHierarchy::_internal_has_device_state() const {
-  bool value = (_has_bits_[0] & 0x00000001u) != 0;
-  PROTOBUF_ASSUME(!value || device_state_ != nullptr);
-  return value;
-}
-inline bool AccessibilityHierarchy::has_device_state() const {
-  return _internal_has_device_state();
-}
-inline void AccessibilityHierarchy::clear_device_state() {
-  if (GetArena() == nullptr && device_state_ != nullptr) {
-    delete device_state_;
-  }
-  device_state_ = nullptr;
-  _has_bits_[0] &= ~0x00000001u;
-}
-inline const ::gtxilib::oopclasses::protos::DeviceState& AccessibilityHierarchy::_internal_device_state() const {
-  const ::gtxilib::oopclasses::protos::DeviceState* p = device_state_;
-  return p != nullptr ? *p : *reinterpret_cast<const ::gtxilib::oopclasses::protos::DeviceState*>(
-      &::gtxilib::oopclasses::protos::_DeviceState_default_instance_);
-}
-inline const ::gtxilib::oopclasses::protos::DeviceState& AccessibilityHierarchy::device_state() const {
-  // @@protoc_insertion_point(field_get:gtxilib.oopclasses.protos.AccessibilityHierarchy.device_state)
-  return _internal_device_state();
-}
-inline void AccessibilityHierarchy::unsafe_arena_set_allocated_device_state(
-    ::gtxilib::oopclasses::protos::DeviceState* device_state) {
-  if (GetArena() == nullptr) {
-    delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(device_state_);
-  }
-  device_state_ = device_state;
-  if (device_state) {
-    _has_bits_[0] |= 0x00000001u;
-  } else {
-    _has_bits_[0] &= ~0x00000001u;
-  }
-  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:gtxilib.oopclasses.protos.AccessibilityHierarchy.device_state)
-}
-inline ::gtxilib::oopclasses::protos::DeviceState* AccessibilityHierarchy::release_device_state() {
-  _has_bits_[0] &= ~0x00000001u;
-  ::gtxilib::oopclasses::protos::DeviceState* temp = device_state_;
-  device_state_ = nullptr;
-  if (GetArena() != nullptr) {
-    temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
-  }
-  return temp;
-}
-inline ::gtxilib::oopclasses::protos::DeviceState* AccessibilityHierarchy::unsafe_arena_release_device_state() {
-  // @@protoc_insertion_point(field_release:gtxilib.oopclasses.protos.AccessibilityHierarchy.device_state)
-  _has_bits_[0] &= ~0x00000001u;
-  ::gtxilib::oopclasses::protos::DeviceState* temp = device_state_;
-  device_state_ = nullptr;
-  return temp;
-}
-inline ::gtxilib::oopclasses::protos::DeviceState* AccessibilityHierarchy::_internal_mutable_device_state() {
-  _has_bits_[0] |= 0x00000001u;
-  if (device_state_ == nullptr) {
-    auto* p = CreateMaybeMessage<::gtxilib::oopclasses::protos::DeviceState>(GetArena());
-    device_state_ = p;
-  }
-  return device_state_;
-}
-inline ::gtxilib::oopclasses::protos::DeviceState* AccessibilityHierarchy::mutable_device_state() {
-  // @@protoc_insertion_point(field_mutable:gtxilib.oopclasses.protos.AccessibilityHierarchy.device_state)
-  return _internal_mutable_device_state();
-}
-inline void AccessibilityHierarchy::set_allocated_device_state(::gtxilib::oopclasses::protos::DeviceState* device_state) {
-  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
-  if (message_arena == nullptr) {
-    delete device_state_;
-  }
-  if (device_state) {
-    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
-      ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(device_state);
-    if (message_arena != submessage_arena) {
-      device_state = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
-          message_arena, device_state, submessage_arena);
-    }
-    _has_bits_[0] |= 0x00000001u;
-  } else {
-    _has_bits_[0] &= ~0x00000001u;
-  }
-  device_state_ = device_state;
-  // @@protoc_insertion_point(field_set_allocated:gtxilib.oopclasses.protos.AccessibilityHierarchy.device_state)
-}
-
-// repeated .gtxilib.oopclasses.protos.UIElement elements = 2;
-inline int AccessibilityHierarchy::_internal_elements_size() const {
-  return elements_.size();
-}
-inline int AccessibilityHierarchy::elements_size() const {
-  return _internal_elements_size();
-}
-inline void AccessibilityHierarchy::clear_elements() {
-  elements_.Clear();
-}
-inline ::gtxilib::oopclasses::protos::UIElement* AccessibilityHierarchy::mutable_elements(int index) {
-  // @@protoc_insertion_point(field_mutable:gtxilib.oopclasses.protos.AccessibilityHierarchy.elements)
-  return elements_.Mutable(index);
-}
-inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::gtxilib::oopclasses::protos::UIElement >*
-AccessibilityHierarchy::mutable_elements() {
-  // @@protoc_insertion_point(field_mutable_list:gtxilib.oopclasses.protos.AccessibilityHierarchy.elements)
-  return &elements_;
-}
-inline const ::gtxilib::oopclasses::protos::UIElement& AccessibilityHierarchy::_internal_elements(int index) const {
-  return elements_.Get(index);
-}
-inline const ::gtxilib::oopclasses::protos::UIElement& AccessibilityHierarchy::elements(int index) const {
-  // @@protoc_insertion_point(field_get:gtxilib.oopclasses.protos.AccessibilityHierarchy.elements)
-  return _internal_elements(index);
-}
-inline ::gtxilib::oopclasses::protos::UIElement* AccessibilityHierarchy::_internal_add_elements() {
-  return elements_.Add();
-}
-inline ::gtxilib::oopclasses::protos::UIElement* AccessibilityHierarchy::add_elements() {
-  // @@protoc_insertion_point(field_add:gtxilib.oopclasses.protos.AccessibilityHierarchy.elements)
-  return _internal_add_elements();
-}
-inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::gtxilib::oopclasses::protos::UIElement >&
-AccessibilityHierarchy::elements() const {
-  // @@protoc_insertion_point(field_list:gtxilib.oopclasses.protos.AccessibilityHierarchy.elements)
-  return elements_;
-}
-
-#ifdef __GNUC__
-  #pragma GCC diagnostic pop
-#endif  // __GNUC__
-// -------------------------------------------------------------------
-
-// -------------------------------------------------------------------
-
-// -------------------------------------------------------------------
-
-// -------------------------------------------------------------------
-
-// -------------------------------------------------------------------
-
-// -------------------------------------------------------------------
-
-// -------------------------------------------------------------------
-
-
-// @@protoc_insertion_point(namespace_scope)
-
-}  // namespace protos
-}  // namespace oopclasses
-}  // namespace gtxilib
-
-// @@protoc_insertion_point(global_scope)
-
-#include <google/protobuf/port_undef.inc>
-#endif  // GOOGLE_PROTOBUF_INCLUDED_GOOGLE_PROTOBUF_INCLUDED_gtx_2eproto
+#endif
diff --git a/OOPClasses/Protos/gtx.proto b/OOPClasses/Protos/gtx.proto
index 226b03d..a65b4cf 100644
--- a/OOPClasses/Protos/gtx.proto
+++ b/OOPClasses/Protos/gtx.proto
@@ -89,13 +89,6 @@
   optional float value = 35;  // UIStepper and UISlider
 }
 
-// Global device state at a snapshot in time.
-// Next index: 3.
-message DeviceState {
-  optional DisplayMetrics display_metrics = 1;
-  optional string ios_version = 2;
-}
-
 // Metrics about the device, such as screen dimensions.
 // Next index: 4.
 message DisplayMetrics {
@@ -104,6 +97,13 @@
   optional float screen_scale = 3;
 }
 
+// Global device state at a snapshot in time.
+// Next index: 3.
+message DeviceState {
+  optional DisplayMetrics display_metrics = 1;
+  optional string ios_version = 2;
+}
+
 // The state of the accessibility hierarchy of an app at a snapshot in time.
 // Contains a tree of accessibility elements and related device metrics.
 // Next index: 3.
diff --git a/OOPClasses/Protos/metadata_map.cc b/OOPClasses/Protos/metadata_map.cc
index d10e7f5..33a4c9b 100644
--- a/OOPClasses/Protos/metadata_map.cc
+++ b/OOPClasses/Protos/metadata_map.cc
@@ -22,10 +22,7 @@
 #include <unordered_map>
 #include <vector>
 
-#include "map.h"
-#include "repeated_field.h"
 #include <abseil/absl/types/optional.h>
-#include "result.pb.h"
 #include "typedefs.h"
 
 namespace gtx {
diff --git a/OOPClasses/Protos/result.pb.cc b/OOPClasses/Protos/result.pb.cc
old mode 100644
new mode 100755
index 7f1834a..b83d955
--- a/OOPClasses/Protos/result.pb.cc
+++ b/OOPClasses/Protos/result.pb.cc
@@ -1,2348 +1,605 @@
-// Generated by the protocol buffer compiler.  DO NOT EDIT!
-// source: result.proto
+#include <map>
+#include <string>
+#include <stdlib.h>
+#include <vector>
 
+#include "enums.pb.h"
+#include "gtx.pb.h"
 #include "result.pb.h"
-
-#include <algorithm>
-
-#include <google/protobuf/io/coded_stream.h>
-#include <google/protobuf/extension_set.h>
-#include <google/protobuf/wire_format_lite.h>
-#include <google/protobuf/descriptor.h>
-#include <google/protobuf/generated_message_reflection.h>
-#include <google/protobuf/reflection_ops.h>
-#include <google/protobuf/wire_format.h>
-// @@protoc_insertion_point(includes)
-#include <google/protobuf/port_def.inc>
-extern PROTOBUF_INTERNAL_EXPORT_gtx_2eproto ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<2> scc_info_AccessibilityHierarchy_gtx_2eproto;
-extern PROTOBUF_INTERNAL_EXPORT_result_2eproto ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<1> scc_info_CheckResultProto_result_2eproto;
-extern PROTOBUF_INTERNAL_EXPORT_result_2eproto ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<0> scc_info_IntListProto_result_2eproto;
-extern PROTOBUF_INTERNAL_EXPORT_result_2eproto ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<1> scc_info_MetadataProto_result_2eproto;
-extern PROTOBUF_INTERNAL_EXPORT_result_2eproto ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<1> scc_info_MetadataProto_MetadataMapEntry_DoNotUse_result_2eproto;
-extern PROTOBUF_INTERNAL_EXPORT_result_2eproto ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<0> scc_info_StringListProto_result_2eproto;
-extern PROTOBUF_INTERNAL_EXPORT_result_2eproto ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<2> scc_info_TypedValueProto_result_2eproto;
 namespace gtxilib {
 namespace oopclasses {
 namespace protos {
-class StringListProtoDefaultTypeInternal {
- public:
-  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<StringListProto> _instance;
-} _StringListProto_default_instance_;
-class IntListProtoDefaultTypeInternal {
- public:
-  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<IntListProto> _instance;
-} _IntListProto_default_instance_;
-class TypedValueProtoDefaultTypeInternal {
- public:
-  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<TypedValueProto> _instance;
-  bool boolean_value_;
-  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr byte_value_;
-  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr short_value_;
-  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr char_value_;
-  ::PROTOBUF_NAMESPACE_ID::int32 int_value_;
-  float float_value_;
-  ::PROTOBUF_NAMESPACE_ID::int64 long_value_;
-  double double_value_;
-  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr string_value_;
-  const ::gtxilib::oopclasses::protos::StringListProto* string_list_value_;
-  const ::gtxilib::oopclasses::protos::IntListProto* int_list_value_;
-} _TypedValueProto_default_instance_;
-class MetadataProto_MetadataMapEntry_DoNotUseDefaultTypeInternal {
- public:
-  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<MetadataProto_MetadataMapEntry_DoNotUse> _instance;
-} _MetadataProto_MetadataMapEntry_DoNotUse_default_instance_;
-class MetadataProtoDefaultTypeInternal {
- public:
-  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<MetadataProto> _instance;
-} _MetadataProto_default_instance_;
-class CheckResultProtoDefaultTypeInternal {
- public:
-  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<CheckResultProto> _instance;
-} _CheckResultProto_default_instance_;
-class AccessibilityEvaluationDefaultTypeInternal {
- public:
-  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<AccessibilityEvaluation> _instance;
-} _AccessibilityEvaluation_default_instance_;
-}  // namespace protos
-}  // namespace oopclasses
-}  // namespace gtxilib
-static void InitDefaultsscc_info_AccessibilityEvaluation_result_2eproto() {
-  GOOGLE_PROTOBUF_VERIFY_VERSION;
 
-  {
-    void* ptr = &::gtxilib::oopclasses::protos::_AccessibilityEvaluation_default_instance_;
-    new (ptr) ::gtxilib::oopclasses::protos::AccessibilityEvaluation();
-    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
-  }
-  ::gtxilib::oopclasses::protos::AccessibilityEvaluation::InitAsDefaultInstance();
+
+std::string StringListProto::values(int index) const {
+  return values_[index];
 }
-
-::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<2> scc_info_AccessibilityEvaluation_result_2eproto =
-    {{ATOMIC_VAR_INIT(::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase::kUninitialized), 2, 0, InitDefaultsscc_info_AccessibilityEvaluation_result_2eproto}, {
-      &scc_info_AccessibilityHierarchy_gtx_2eproto.base,
-      &scc_info_CheckResultProto_result_2eproto.base,}};
-
-static void InitDefaultsscc_info_CheckResultProto_result_2eproto() {
-  GOOGLE_PROTOBUF_VERIFY_VERSION;
-
-  {
-    void* ptr = &::gtxilib::oopclasses::protos::_CheckResultProto_default_instance_;
-    new (ptr) ::gtxilib::oopclasses::protos::CheckResultProto();
-    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
-  }
-  ::gtxilib::oopclasses::protos::CheckResultProto::InitAsDefaultInstance();
+const std::vector<std::string>& StringListProto::values() const {
+  return values_;
 }
-
-::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<1> scc_info_CheckResultProto_result_2eproto =
-    {{ATOMIC_VAR_INIT(::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase::kUninitialized), 1, 0, InitDefaultsscc_info_CheckResultProto_result_2eproto}, {
-      &scc_info_MetadataProto_result_2eproto.base,}};
-
-static void InitDefaultsscc_info_IntListProto_result_2eproto() {
-  GOOGLE_PROTOBUF_VERIFY_VERSION;
-
-  {
-    void* ptr = &::gtxilib::oopclasses::protos::_IntListProto_default_instance_;
-    new (ptr) ::gtxilib::oopclasses::protos::IntListProto();
-    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
-  }
-  ::gtxilib::oopclasses::protos::IntListProto::InitAsDefaultInstance();
+bool StringListProto::has_values() const {
+  return has_values_;
 }
-
-::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<0> scc_info_IntListProto_result_2eproto =
-    {{ATOMIC_VAR_INIT(::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase::kUninitialized), 0, 0, InitDefaultsscc_info_IntListProto_result_2eproto}, {}};
-
-static void InitDefaultsscc_info_MetadataProto_result_2eproto() {
-  GOOGLE_PROTOBUF_VERIFY_VERSION;
-
-  {
-    void* ptr = &::gtxilib::oopclasses::protos::_MetadataProto_default_instance_;
-    new (ptr) ::gtxilib::oopclasses::protos::MetadataProto();
-    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
-  }
-  ::gtxilib::oopclasses::protos::MetadataProto::InitAsDefaultInstance();
+void StringListProto::clear_values() {
+  values_.clear();
+  has_values_ = false;
 }
-
-::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<1> scc_info_MetadataProto_result_2eproto =
-    {{ATOMIC_VAR_INIT(::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase::kUninitialized), 1, 0, InitDefaultsscc_info_MetadataProto_result_2eproto}, {
-      &scc_info_MetadataProto_MetadataMapEntry_DoNotUse_result_2eproto.base,}};
-
-static void InitDefaultsscc_info_MetadataProto_MetadataMapEntry_DoNotUse_result_2eproto() {
-  GOOGLE_PROTOBUF_VERIFY_VERSION;
-
-  {
-    void* ptr = &::gtxilib::oopclasses::protos::_MetadataProto_MetadataMapEntry_DoNotUse_default_instance_;
-    new (ptr) ::gtxilib::oopclasses::protos::MetadataProto_MetadataMapEntry_DoNotUse();
-  }
-  ::gtxilib::oopclasses::protos::MetadataProto_MetadataMapEntry_DoNotUse::InitAsDefaultInstance();
+void StringListProto::set_values(int index, std::string new_values) {
+  values_[index] = new_values;
+  has_values_ = true;
 }
-
-::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<1> scc_info_MetadataProto_MetadataMapEntry_DoNotUse_result_2eproto =
-    {{ATOMIC_VAR_INIT(::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase::kUninitialized), 1, 0, InitDefaultsscc_info_MetadataProto_MetadataMapEntry_DoNotUse_result_2eproto}, {
-      &scc_info_TypedValueProto_result_2eproto.base,}};
-
-static void InitDefaultsscc_info_StringListProto_result_2eproto() {
-  GOOGLE_PROTOBUF_VERIFY_VERSION;
-
-  {
-    void* ptr = &::gtxilib::oopclasses::protos::_StringListProto_default_instance_;
-    new (ptr) ::gtxilib::oopclasses::protos::StringListProto();
-    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
-  }
-  ::gtxilib::oopclasses::protos::StringListProto::InitAsDefaultInstance();
+std::string* StringListProto::mutable_values(int index) {
+  has_values_ = true;
+  return &values_[index];
 }
-
-::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<0> scc_info_StringListProto_result_2eproto =
-    {{ATOMIC_VAR_INIT(::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase::kUninitialized), 0, 0, InitDefaultsscc_info_StringListProto_result_2eproto}, {}};
-
-static void InitDefaultsscc_info_TypedValueProto_result_2eproto() {
-  GOOGLE_PROTOBUF_VERIFY_VERSION;
-
-  {
-    void* ptr = &::gtxilib::oopclasses::protos::_TypedValueProto_default_instance_;
-    new (ptr) ::gtxilib::oopclasses::protos::TypedValueProto();
-    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
-  }
-  ::gtxilib::oopclasses::protos::TypedValueProto::InitAsDefaultInstance();
+void StringListProto::add_values(std::string new_values) {
+  values_.push_back(new_values);
+  has_values_ = true;
 }
-
-::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<2> scc_info_TypedValueProto_result_2eproto =
-    {{ATOMIC_VAR_INIT(::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase::kUninitialized), 2, 0, InitDefaultsscc_info_TypedValueProto_result_2eproto}, {
-      &scc_info_StringListProto_result_2eproto.base,
-      &scc_info_IntListProto_result_2eproto.base,}};
-
-static ::PROTOBUF_NAMESPACE_ID::Metadata file_level_metadata_result_2eproto[7];
-static const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* file_level_enum_descriptors_result_2eproto[1];
-static constexpr ::PROTOBUF_NAMESPACE_ID::ServiceDescriptor const** file_level_service_descriptors_result_2eproto = nullptr;
-
-const ::PROTOBUF_NAMESPACE_ID::uint32 TableStruct_result_2eproto::offsets[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) = {
-  ~0u,  // no _has_bits_
-  PROTOBUF_FIELD_OFFSET(::gtxilib::oopclasses::protos::StringListProto, _internal_metadata_),
-  ~0u,  // no _extensions_
-  ~0u,  // no _oneof_case_
-  ~0u,  // no _weak_field_map_
-  PROTOBUF_FIELD_OFFSET(::gtxilib::oopclasses::protos::StringListProto, values_),
-  ~0u,  // no _has_bits_
-  PROTOBUF_FIELD_OFFSET(::gtxilib::oopclasses::protos::IntListProto, _internal_metadata_),
-  ~0u,  // no _extensions_
-  ~0u,  // no _oneof_case_
-  ~0u,  // no _weak_field_map_
-  PROTOBUF_FIELD_OFFSET(::gtxilib::oopclasses::protos::IntListProto, values_),
-  PROTOBUF_FIELD_OFFSET(::gtxilib::oopclasses::protos::TypedValueProto, _has_bits_),
-  PROTOBUF_FIELD_OFFSET(::gtxilib::oopclasses::protos::TypedValueProto, _internal_metadata_),
-  ~0u,  // no _extensions_
-  PROTOBUF_FIELD_OFFSET(::gtxilib::oopclasses::protos::TypedValueProto, _oneof_case_[0]),
-  ~0u,  // no _weak_field_map_
-  PROTOBUF_FIELD_OFFSET(::gtxilib::oopclasses::protos::TypedValueProto, type_),
-  offsetof(::gtxilib::oopclasses::protos::TypedValueProtoDefaultTypeInternal, boolean_value_),
-  offsetof(::gtxilib::oopclasses::protos::TypedValueProtoDefaultTypeInternal, byte_value_),
-  offsetof(::gtxilib::oopclasses::protos::TypedValueProtoDefaultTypeInternal, short_value_),
-  offsetof(::gtxilib::oopclasses::protos::TypedValueProtoDefaultTypeInternal, char_value_),
-  offsetof(::gtxilib::oopclasses::protos::TypedValueProtoDefaultTypeInternal, int_value_),
-  offsetof(::gtxilib::oopclasses::protos::TypedValueProtoDefaultTypeInternal, float_value_),
-  offsetof(::gtxilib::oopclasses::protos::TypedValueProtoDefaultTypeInternal, long_value_),
-  offsetof(::gtxilib::oopclasses::protos::TypedValueProtoDefaultTypeInternal, double_value_),
-  offsetof(::gtxilib::oopclasses::protos::TypedValueProtoDefaultTypeInternal, string_value_),
-  offsetof(::gtxilib::oopclasses::protos::TypedValueProtoDefaultTypeInternal, string_list_value_),
-  offsetof(::gtxilib::oopclasses::protos::TypedValueProtoDefaultTypeInternal, int_list_value_),
-  PROTOBUF_FIELD_OFFSET(::gtxilib::oopclasses::protos::TypedValueProto, value_),
-  0,
-  ~0u,
-  ~0u,
-  ~0u,
-  ~0u,
-  ~0u,
-  ~0u,
-  ~0u,
-  ~0u,
-  ~0u,
-  ~0u,
-  ~0u,
-  PROTOBUF_FIELD_OFFSET(::gtxilib::oopclasses::protos::MetadataProto_MetadataMapEntry_DoNotUse, _has_bits_),
-  PROTOBUF_FIELD_OFFSET(::gtxilib::oopclasses::protos::MetadataProto_MetadataMapEntry_DoNotUse, _internal_metadata_),
-  ~0u,  // no _extensions_
-  ~0u,  // no _oneof_case_
-  ~0u,  // no _weak_field_map_
-  PROTOBUF_FIELD_OFFSET(::gtxilib::oopclasses::protos::MetadataProto_MetadataMapEntry_DoNotUse, key_),
-  PROTOBUF_FIELD_OFFSET(::gtxilib::oopclasses::protos::MetadataProto_MetadataMapEntry_DoNotUse, value_),
-  0,
-  1,
-  ~0u,  // no _has_bits_
-  PROTOBUF_FIELD_OFFSET(::gtxilib::oopclasses::protos::MetadataProto, _internal_metadata_),
-  ~0u,  // no _extensions_
-  ~0u,  // no _oneof_case_
-  ~0u,  // no _weak_field_map_
-  PROTOBUF_FIELD_OFFSET(::gtxilib::oopclasses::protos::MetadataProto, metadata_map_),
-  PROTOBUF_FIELD_OFFSET(::gtxilib::oopclasses::protos::CheckResultProto, _has_bits_),
-  PROTOBUF_FIELD_OFFSET(::gtxilib::oopclasses::protos::CheckResultProto, _internal_metadata_),
-  ~0u,  // no _extensions_
-  ~0u,  // no _oneof_case_
-  ~0u,  // no _weak_field_map_
-  PROTOBUF_FIELD_OFFSET(::gtxilib::oopclasses::protos::CheckResultProto, source_check_class_),
-  PROTOBUF_FIELD_OFFSET(::gtxilib::oopclasses::protos::CheckResultProto, result_id_),
-  PROTOBUF_FIELD_OFFSET(::gtxilib::oopclasses::protos::CheckResultProto, hierarchy_source_id_),
-  PROTOBUF_FIELD_OFFSET(::gtxilib::oopclasses::protos::CheckResultProto, result_type_),
-  PROTOBUF_FIELD_OFFSET(::gtxilib::oopclasses::protos::CheckResultProto, metadata_),
-  ~0u,
-  ~0u,
-  0,
-  ~0u,
-  ~0u,
-  ~0u,  // no _has_bits_
-  PROTOBUF_FIELD_OFFSET(::gtxilib::oopclasses::protos::AccessibilityEvaluation, _internal_metadata_),
-  ~0u,  // no _extensions_
-  ~0u,  // no _oneof_case_
-  ~0u,  // no _weak_field_map_
-  PROTOBUF_FIELD_OFFSET(::gtxilib::oopclasses::protos::AccessibilityEvaluation, hierarchy_),
-  PROTOBUF_FIELD_OFFSET(::gtxilib::oopclasses::protos::AccessibilityEvaluation, results_),
-};
-static const ::PROTOBUF_NAMESPACE_ID::internal::MigrationSchema schemas[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) = {
-  { 0, -1, sizeof(::gtxilib::oopclasses::protos::StringListProto)},
-  { 6, -1, sizeof(::gtxilib::oopclasses::protos::IntListProto)},
-  { 12, 30, sizeof(::gtxilib::oopclasses::protos::TypedValueProto)},
-  { 42, 49, sizeof(::gtxilib::oopclasses::protos::MetadataProto_MetadataMapEntry_DoNotUse)},
-  { 51, -1, sizeof(::gtxilib::oopclasses::protos::MetadataProto)},
-  { 57, 67, sizeof(::gtxilib::oopclasses::protos::CheckResultProto)},
-  { 72, -1, sizeof(::gtxilib::oopclasses::protos::AccessibilityEvaluation)},
-};
-
-static ::PROTOBUF_NAMESPACE_ID::Message const * const file_default_instances[] = {
-  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::gtxilib::oopclasses::protos::_StringListProto_default_instance_),
-  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::gtxilib::oopclasses::protos::_IntListProto_default_instance_),
-  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::gtxilib::oopclasses::protos::_TypedValueProto_default_instance_),
-  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::gtxilib::oopclasses::protos::_MetadataProto_MetadataMapEntry_DoNotUse_default_instance_),
-  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::gtxilib::oopclasses::protos::_MetadataProto_default_instance_),
-  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::gtxilib::oopclasses::protos::_CheckResultProto_default_instance_),
-  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::gtxilib::oopclasses::protos::_AccessibilityEvaluation_default_instance_),
-};
-
-const char descriptor_table_protodef_result_2eproto[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) =
-  "\n\014result.proto\022\031gtxilib.oopclasses.proto"
-  "s\032\013enums.proto\032\tgtx.proto\"!\n\017StringListP"
-  "roto\022\016\n\006values\030\001 \003(\t\"\036\n\014IntListProto\022\016\n\006"
-  "values\030\001 \003(\005\"\342\004\n\017TypedValueProto\022G\n\004type"
-  "\030\001 \001(\01624.gtxilib.oopclasses.protos.Typed"
-  "ValueProto.TypeProtoH\001\210\001\001\022\027\n\rboolean_val"
-  "ue\030\002 \001(\010H\000\022\024\n\nbyte_value\030\003 \001(\014H\000\022\025\n\013shor"
-  "t_value\030\004 \001(\014H\000\022\024\n\nchar_value\030\005 \001(\014H\000\022\023\n"
-  "\tint_value\030\006 \001(\005H\000\022\025\n\013float_value\030\007 \001(\002H"
-  "\000\022\024\n\nlong_value\030\010 \001(\003H\000\022\026\n\014double_value\030"
-  "\t \001(\001H\000\022\026\n\014string_value\030\n \001(\tH\000\022G\n\021strin"
-  "g_list_value\030\013 \001(\0132*.gtxilib.oopclasses."
-  "protos.StringListProtoH\000\022A\n\016int_list_val"
-  "ue\030\014 \001(\0132\'.gtxilib.oopclasses.protos.Int"
-  "ListProtoH\000\"\231\001\n\tTypeProto\022\013\n\007UNKNOWN\020\000\022\013"
-  "\n\007BOOLEAN\020\001\022\010\n\004BYTE\020\002\022\t\n\005SHORT\020\003\022\010\n\004CHAR"
-  "\020\004\022\007\n\003INT\020\005\022\t\n\005FLOAT\020\006\022\010\n\004LONG\020\007\022\n\n\006DOUB"
-  "LE\020\010\022\n\n\006STRING\020\t\022\017\n\013STRING_LIST\020\n\022\014\n\010INT"
-  "_LIST\020\013B\007\n\005valueB\007\n\005_type\"\300\001\n\rMetadataPr"
-  "oto\022O\n\014metadata_map\030\001 \003(\01329.gtxilib.oopc"
-  "lasses.protos.MetadataProto.MetadataMapE"
-  "ntry\032^\n\020MetadataMapEntry\022\013\n\003key\030\001 \001(\t\0229\n"
-  "\005value\030\002 \001(\0132*.gtxilib.oopclasses.protos"
-  ".TypedValueProto:\0028\001\"\363\001\n\020CheckResultProt"
-  "o\022\032\n\022source_check_class\030\001 \001(\t\022\021\n\tresult_"
-  "id\030\002 \001(\005\022 \n\023hierarchy_source_id\030\003 \001(\003H\000\210"
-  "\001\001\022:\n\013result_type\030\004 \001(\0162%.gtxilib.oopcla"
-  "sses.protos.ResultType\022:\n\010metadata\030\005 \001(\013"
-  "2(.gtxilib.oopclasses.protos.MetadataPro"
-  "toB\026\n\024_hierarchy_source_id\"\235\001\n\027Accessibi"
-  "lityEvaluation\022D\n\thierarchy\030\001 \001(\01321.gtxi"
-  "lib.oopclasses.protos.AccessibilityHiera"
-  "rchy\022<\n\007results\030\002 \003(\0132+.gtxilib.oopclass"
-  "es.protos.CheckResultProtoB\010P\001\242\002\003GTXb\006pr"
-  "oto3"
-  ;
-static const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable*const descriptor_table_result_2eproto_deps[2] = {
-  &::descriptor_table_enums_2eproto,
-  &::descriptor_table_gtx_2eproto,
-};
-static ::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase*const descriptor_table_result_2eproto_sccs[7] = {
-  &scc_info_AccessibilityEvaluation_result_2eproto.base,
-  &scc_info_CheckResultProto_result_2eproto.base,
-  &scc_info_IntListProto_result_2eproto.base,
-  &scc_info_MetadataProto_result_2eproto.base,
-  &scc_info_MetadataProto_MetadataMapEntry_DoNotUse_result_2eproto.base,
-  &scc_info_StringListProto_result_2eproto.base,
-  &scc_info_TypedValueProto_result_2eproto.base,
-};
-static ::PROTOBUF_NAMESPACE_ID::internal::once_flag descriptor_table_result_2eproto_once;
-const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable descriptor_table_result_2eproto = {
-  false, false, descriptor_table_protodef_result_2eproto, "result.proto", 1364,
-  &descriptor_table_result_2eproto_once, descriptor_table_result_2eproto_sccs, descriptor_table_result_2eproto_deps, 7, 2,
-  schemas, file_default_instances, TableStruct_result_2eproto::offsets,
-  file_level_metadata_result_2eproto, 7, file_level_enum_descriptors_result_2eproto, file_level_service_descriptors_result_2eproto,
-};
-
-// Force running AddDescriptors() at dynamic initialization time.
-static bool dynamic_init_dummy_result_2eproto = (static_cast<void>(::PROTOBUF_NAMESPACE_ID::internal::AddDescriptors(&descriptor_table_result_2eproto)), true);
-namespace gtxilib {
-namespace oopclasses {
-namespace protos {
-const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* TypedValueProto_TypeProto_descriptor() {
-  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&descriptor_table_result_2eproto);
-  return file_level_enum_descriptors_result_2eproto[0];
-}
-bool TypedValueProto_TypeProto_IsValid(int value) {
-  switch (value) {
-    case 0:
-    case 1:
-    case 2:
-    case 3:
-    case 4:
-    case 5:
-    case 6:
-    case 7:
-    case 8:
-    case 9:
-    case 10:
-    case 11:
-      return true;
-    default:
-      return false;
-  }
-}
-
-#if (__cplusplus < 201703) && (!defined(_MSC_VER) || _MSC_VER >= 1900)
-constexpr TypedValueProto_TypeProto TypedValueProto::UNKNOWN;
-constexpr TypedValueProto_TypeProto TypedValueProto::BOOLEAN;
-constexpr TypedValueProto_TypeProto TypedValueProto::BYTE;
-constexpr TypedValueProto_TypeProto TypedValueProto::SHORT;
-constexpr TypedValueProto_TypeProto TypedValueProto::CHAR;
-constexpr TypedValueProto_TypeProto TypedValueProto::INT;
-constexpr TypedValueProto_TypeProto TypedValueProto::FLOAT;
-constexpr TypedValueProto_TypeProto TypedValueProto::LONG;
-constexpr TypedValueProto_TypeProto TypedValueProto::DOUBLE;
-constexpr TypedValueProto_TypeProto TypedValueProto::STRING;
-constexpr TypedValueProto_TypeProto TypedValueProto::STRING_LIST;
-constexpr TypedValueProto_TypeProto TypedValueProto::INT_LIST;
-constexpr TypedValueProto_TypeProto TypedValueProto::TypeProto_MIN;
-constexpr TypedValueProto_TypeProto TypedValueProto::TypeProto_MAX;
-constexpr int TypedValueProto::TypeProto_ARRAYSIZE;
-#endif  // (__cplusplus < 201703) && (!defined(_MSC_VER) || _MSC_VER >= 1900)
-
-// ===================================================================
-
-void StringListProto::InitAsDefaultInstance() {
-}
-class StringListProto::_Internal {
- public:
-};
-
-StringListProto::StringListProto(::PROTOBUF_NAMESPACE_ID::Arena* arena)
-  : ::PROTOBUF_NAMESPACE_ID::Message(arena),
-  values_(arena) {
-  SharedCtor();
-  RegisterArenaDtor(arena);
-  // @@protoc_insertion_point(arena_constructor:gtxilib.oopclasses.protos.StringListProto)
-}
-StringListProto::StringListProto(const StringListProto& from)
-  : ::PROTOBUF_NAMESPACE_ID::Message(),
-      values_(from.values_) {
-  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
-  // @@protoc_insertion_point(copy_constructor:gtxilib.oopclasses.protos.StringListProto)
-}
-
-void StringListProto::SharedCtor() {
-  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_StringListProto_result_2eproto.base);
-}
-
-StringListProto::~StringListProto() {
-  // @@protoc_insertion_point(destructor:gtxilib.oopclasses.protos.StringListProto)
-  SharedDtor();
-  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
-}
-
-void StringListProto::SharedDtor() {
-  GOOGLE_DCHECK(GetArena() == nullptr);
-}
-
-void StringListProto::ArenaDtor(void* object) {
-  StringListProto* _this = reinterpret_cast< StringListProto* >(object);
-  (void)_this;
-}
-void StringListProto::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
-}
-void StringListProto::SetCachedSize(int size) const {
-  _cached_size_.Set(size);
-}
-const StringListProto& StringListProto::default_instance() {
-  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_StringListProto_result_2eproto.base);
-  return *internal_default_instance();
+int StringListProto::values_size() const {
+  return values_.size();
 }
 
 
-void StringListProto::Clear() {
-// @@protoc_insertion_point(message_clear_start:gtxilib.oopclasses.protos.StringListProto)
-  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
-  // Prevent compiler warnings about cached_has_bits being unused
-  (void) cached_has_bits;
-
-  values_.Clear();
-  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
+int32_t IntListProto::values(int index) const {
+  return values_[index];
 }
-
-const char* StringListProto::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
-#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
-  ::PROTOBUF_NAMESPACE_ID::Arena* arena = GetArena(); (void)arena;
-  while (!ctx->Done(&ptr)) {
-    ::PROTOBUF_NAMESPACE_ID::uint32 tag;
-    ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
-    CHK_(ptr);
-    switch (tag >> 3) {
-      // repeated string values = 1;
-      case 1:
-        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
-          ptr -= 1;
-          do {
-            ptr += 1;
-            auto str = _internal_add_values();
-            ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
-            CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "gtxilib.oopclasses.protos.StringListProto.values"));
-            CHK_(ptr);
-            if (!ctx->DataAvailable(ptr)) break;
-          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<10>(ptr));
-        } else goto handle_unusual;
-        continue;
-      default: {
-      handle_unusual:
-        if ((tag & 7) == 4 || tag == 0) {
-          ctx->SetLastTag(tag);
-          goto success;
-        }
-        ptr = UnknownFieldParse(tag,
-            _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
-            ptr, ctx);
-        CHK_(ptr != nullptr);
-        continue;
-      }
-    }  // switch
-  }  // while
-success:
-  return ptr;
-failure:
-  ptr = nullptr;
-  goto success;
-#undef CHK_
+const std::vector<int32_t>& IntListProto::values() const {
+  return values_;
 }
-
-::PROTOBUF_NAMESPACE_ID::uint8* StringListProto::_InternalSerialize(
-    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
-  // @@protoc_insertion_point(serialize_to_array_start:gtxilib.oopclasses.protos.StringListProto)
-  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
-  (void) cached_has_bits;
-
-  // repeated string values = 1;
-  for (int i = 0, n = this->_internal_values_size(); i < n; i++) {
-    const auto& s = this->_internal_values(i);
-    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
-      s.data(), static_cast<int>(s.length()),
-      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
-      "gtxilib.oopclasses.protos.StringListProto.values");
-    target = stream->WriteString(1, s, target);
-  }
-
-  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
-    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
-        _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
-  }
-  // @@protoc_insertion_point(serialize_to_array_end:gtxilib.oopclasses.protos.StringListProto)
-  return target;
+bool IntListProto::has_values() const {
+  return has_values_;
 }
-
-size_t StringListProto::ByteSizeLong() const {
-// @@protoc_insertion_point(message_byte_size_start:gtxilib.oopclasses.protos.StringListProto)
-  size_t total_size = 0;
-
-  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
-  // Prevent compiler warnings about cached_has_bits being unused
-  (void) cached_has_bits;
-
-  // repeated string values = 1;
-  total_size += 1 *
-      ::PROTOBUF_NAMESPACE_ID::internal::FromIntSize(values_.size());
-  for (int i = 0, n = values_.size(); i < n; i++) {
-    total_size += ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
-      values_.Get(i));
-  }
-
-  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
-    return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize(
-        _internal_metadata_, total_size, &_cached_size_);
-  }
-  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
-  SetCachedSize(cached_size);
-  return total_size;
+void IntListProto::clear_values() {
+  values_.clear();
+  has_values_ = false;
 }
-
-void StringListProto::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
-// @@protoc_insertion_point(generalized_merge_from_start:gtxilib.oopclasses.protos.StringListProto)
-  GOOGLE_DCHECK_NE(&from, this);
-  const StringListProto* source =
-      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<StringListProto>(
-          &from);
-  if (source == nullptr) {
-  // @@protoc_insertion_point(generalized_merge_from_cast_fail:gtxilib.oopclasses.protos.StringListProto)
-    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
-  } else {
-  // @@protoc_insertion_point(generalized_merge_from_cast_success:gtxilib.oopclasses.protos.StringListProto)
-    MergeFrom(*source);
-  }
+void IntListProto::set_values(int index, int32_t new_values) {
+  values_[index] = new_values;
+  has_values_ = true;
 }
-
-void StringListProto::MergeFrom(const StringListProto& from) {
-// @@protoc_insertion_point(class_specific_merge_from_start:gtxilib.oopclasses.protos.StringListProto)
-  GOOGLE_DCHECK_NE(&from, this);
-  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
-  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
-  (void) cached_has_bits;
-
-  values_.MergeFrom(from.values_);
+int32_t* IntListProto::mutable_values(int index) {
+  has_values_ = true;
+  return &values_[index];
 }
-
-void StringListProto::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
-// @@protoc_insertion_point(generalized_copy_from_start:gtxilib.oopclasses.protos.StringListProto)
-  if (&from == this) return;
-  Clear();
-  MergeFrom(from);
+void IntListProto::add_values(int32_t new_values) {
+  values_.push_back(new_values);
+  has_values_ = true;
 }
-
-void StringListProto::CopyFrom(const StringListProto& from) {
-// @@protoc_insertion_point(class_specific_copy_from_start:gtxilib.oopclasses.protos.StringListProto)
-  if (&from == this) return;
-  Clear();
-  MergeFrom(from);
-}
-
-bool StringListProto::IsInitialized() const {
-  return true;
-}
-
-void StringListProto::InternalSwap(StringListProto* other) {
-  using std::swap;
-  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
-  values_.InternalSwap(&other->values_);
-}
-
-::PROTOBUF_NAMESPACE_ID::Metadata StringListProto::GetMetadata() const {
-  return GetMetadataStatic();
-}
-
-
-// ===================================================================
-
-void IntListProto::InitAsDefaultInstance() {
-}
-class IntListProto::_Internal {
- public:
-};
-
-IntListProto::IntListProto(::PROTOBUF_NAMESPACE_ID::Arena* arena)
-  : ::PROTOBUF_NAMESPACE_ID::Message(arena),
-  values_(arena) {
-  SharedCtor();
-  RegisterArenaDtor(arena);
-  // @@protoc_insertion_point(arena_constructor:gtxilib.oopclasses.protos.IntListProto)
-}
-IntListProto::IntListProto(const IntListProto& from)
-  : ::PROTOBUF_NAMESPACE_ID::Message(),
-      values_(from.values_) {
-  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
-  // @@protoc_insertion_point(copy_constructor:gtxilib.oopclasses.protos.IntListProto)
-}
-
-void IntListProto::SharedCtor() {
-}
-
-IntListProto::~IntListProto() {
-  // @@protoc_insertion_point(destructor:gtxilib.oopclasses.protos.IntListProto)
-  SharedDtor();
-  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
-}
-
-void IntListProto::SharedDtor() {
-  GOOGLE_DCHECK(GetArena() == nullptr);
-}
-
-void IntListProto::ArenaDtor(void* object) {
-  IntListProto* _this = reinterpret_cast< IntListProto* >(object);
-  (void)_this;
-}
-void IntListProto::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
-}
-void IntListProto::SetCachedSize(int size) const {
-  _cached_size_.Set(size);
-}
-const IntListProto& IntListProto::default_instance() {
-  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_IntListProto_result_2eproto.base);
-  return *internal_default_instance();
-}
-
-
-void IntListProto::Clear() {
-// @@protoc_insertion_point(message_clear_start:gtxilib.oopclasses.protos.IntListProto)
-  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
-  // Prevent compiler warnings about cached_has_bits being unused
-  (void) cached_has_bits;
-
-  values_.Clear();
-  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
-}
-
-const char* IntListProto::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
-#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
-  ::PROTOBUF_NAMESPACE_ID::Arena* arena = GetArena(); (void)arena;
-  while (!ctx->Done(&ptr)) {
-    ::PROTOBUF_NAMESPACE_ID::uint32 tag;
-    ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
-    CHK_(ptr);
-    switch (tag >> 3) {
-      // repeated int32 values = 1;
-      case 1:
-        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
-          ptr = ::PROTOBUF_NAMESPACE_ID::internal::PackedInt32Parser(_internal_mutable_values(), ptr, ctx);
-          CHK_(ptr);
-        } else if (static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 8) {
-          _internal_add_values(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr));
-          CHK_(ptr);
-        } else goto handle_unusual;
-        continue;
-      default: {
-      handle_unusual:
-        if ((tag & 7) == 4 || tag == 0) {
-          ctx->SetLastTag(tag);
-          goto success;
-        }
-        ptr = UnknownFieldParse(tag,
-            _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
-            ptr, ctx);
-        CHK_(ptr != nullptr);
-        continue;
-      }
-    }  // switch
-  }  // while
-success:
-  return ptr;
-failure:
-  ptr = nullptr;
-  goto success;
-#undef CHK_
-}
-
-::PROTOBUF_NAMESPACE_ID::uint8* IntListProto::_InternalSerialize(
-    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
-  // @@protoc_insertion_point(serialize_to_array_start:gtxilib.oopclasses.protos.IntListProto)
-  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
-  (void) cached_has_bits;
-
-  // repeated int32 values = 1;
-  {
-    int byte_size = _values_cached_byte_size_.load(std::memory_order_relaxed);
-    if (byte_size > 0) {
-      target = stream->WriteInt32Packed(
-          1, _internal_values(), byte_size, target);
-    }
-  }
-
-  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
-    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
-        _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
-  }
-  // @@protoc_insertion_point(serialize_to_array_end:gtxilib.oopclasses.protos.IntListProto)
-  return target;
-}
-
-size_t IntListProto::ByteSizeLong() const {
-// @@protoc_insertion_point(message_byte_size_start:gtxilib.oopclasses.protos.IntListProto)
-  size_t total_size = 0;
-
-  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
-  // Prevent compiler warnings about cached_has_bits being unused
-  (void) cached_has_bits;
-
-  // repeated int32 values = 1;
-  {
-    size_t data_size = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
-      Int32Size(this->values_);
-    if (data_size > 0) {
-      total_size += 1 +
-        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
-            static_cast<::PROTOBUF_NAMESPACE_ID::int32>(data_size));
-    }
-    int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(data_size);
-    _values_cached_byte_size_.store(cached_size,
-                                    std::memory_order_relaxed);
-    total_size += data_size;
-  }
-
-  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
-    return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize(
-        _internal_metadata_, total_size, &_cached_size_);
-  }
-  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
-  SetCachedSize(cached_size);
-  return total_size;
-}
-
-void IntListProto::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
-// @@protoc_insertion_point(generalized_merge_from_start:gtxilib.oopclasses.protos.IntListProto)
-  GOOGLE_DCHECK_NE(&from, this);
-  const IntListProto* source =
-      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<IntListProto>(
-          &from);
-  if (source == nullptr) {
-  // @@protoc_insertion_point(generalized_merge_from_cast_fail:gtxilib.oopclasses.protos.IntListProto)
-    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
-  } else {
-  // @@protoc_insertion_point(generalized_merge_from_cast_success:gtxilib.oopclasses.protos.IntListProto)
-    MergeFrom(*source);
-  }
-}
-
-void IntListProto::MergeFrom(const IntListProto& from) {
-// @@protoc_insertion_point(class_specific_merge_from_start:gtxilib.oopclasses.protos.IntListProto)
-  GOOGLE_DCHECK_NE(&from, this);
-  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
-  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
-  (void) cached_has_bits;
-
-  values_.MergeFrom(from.values_);
-}
-
-void IntListProto::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
-// @@protoc_insertion_point(generalized_copy_from_start:gtxilib.oopclasses.protos.IntListProto)
-  if (&from == this) return;
-  Clear();
-  MergeFrom(from);
-}
-
-void IntListProto::CopyFrom(const IntListProto& from) {
-// @@protoc_insertion_point(class_specific_copy_from_start:gtxilib.oopclasses.protos.IntListProto)
-  if (&from == this) return;
-  Clear();
-  MergeFrom(from);
-}
-
-bool IntListProto::IsInitialized() const {
-  return true;
-}
-
-void IntListProto::InternalSwap(IntListProto* other) {
-  using std::swap;
-  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
-  values_.InternalSwap(&other->values_);
-}
-
-::PROTOBUF_NAMESPACE_ID::Metadata IntListProto::GetMetadata() const {
-  return GetMetadataStatic();
-}
-
-
-// ===================================================================
-
-void TypedValueProto::InitAsDefaultInstance() {
-  ::gtxilib::oopclasses::protos::_TypedValueProto_default_instance_.boolean_value_ = false;
-  ::gtxilib::oopclasses::protos::_TypedValueProto_default_instance_.byte_value_.UnsafeSetDefault(
-      &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
-  ::gtxilib::oopclasses::protos::_TypedValueProto_default_instance_.short_value_.UnsafeSetDefault(
-      &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
-  ::gtxilib::oopclasses::protos::_TypedValueProto_default_instance_.char_value_.UnsafeSetDefault(
-      &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
-  ::gtxilib::oopclasses::protos::_TypedValueProto_default_instance_.int_value_ = 0;
-  ::gtxilib::oopclasses::protos::_TypedValueProto_default_instance_.float_value_ = 0;
-  ::gtxilib::oopclasses::protos::_TypedValueProto_default_instance_.long_value_ = PROTOBUF_LONGLONG(0);
-  ::gtxilib::oopclasses::protos::_TypedValueProto_default_instance_.double_value_ = 0;
-  ::gtxilib::oopclasses::protos::_TypedValueProto_default_instance_.string_value_.UnsafeSetDefault(
-      &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
-  ::gtxilib::oopclasses::protos::_TypedValueProto_default_instance_.string_list_value_ = const_cast< ::gtxilib::oopclasses::protos::StringListProto*>(
-      ::gtxilib::oopclasses::protos::StringListProto::internal_default_instance());
-  ::gtxilib::oopclasses::protos::_TypedValueProto_default_instance_.int_list_value_ = const_cast< ::gtxilib::oopclasses::protos::IntListProto*>(
-      ::gtxilib::oopclasses::protos::IntListProto::internal_default_instance());
-}
-class TypedValueProto::_Internal {
- public:
-  using HasBits = decltype(std::declval<TypedValueProto>()._has_bits_);
-  static void set_has_type(HasBits* has_bits) {
-    (*has_bits)[0] |= 1u;
-  }
-  static const ::gtxilib::oopclasses::protos::StringListProto& string_list_value(const TypedValueProto* msg);
-  static const ::gtxilib::oopclasses::protos::IntListProto& int_list_value(const TypedValueProto* msg);
-};
-
-const ::gtxilib::oopclasses::protos::StringListProto&
-TypedValueProto::_Internal::string_list_value(const TypedValueProto* msg) {
-  return *msg->value_.string_list_value_;
-}
-const ::gtxilib::oopclasses::protos::IntListProto&
-TypedValueProto::_Internal::int_list_value(const TypedValueProto* msg) {
-  return *msg->value_.int_list_value_;
-}
-void TypedValueProto::set_allocated_string_list_value(::gtxilib::oopclasses::protos::StringListProto* string_list_value) {
-  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
-  clear_value();
-  if (string_list_value) {
-    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
-      ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(string_list_value);
-    if (message_arena != submessage_arena) {
-      string_list_value = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
-          message_arena, string_list_value, submessage_arena);
-    }
-    set_has_string_list_value();
-    value_.string_list_value_ = string_list_value;
-  }
-  // @@protoc_insertion_point(field_set_allocated:gtxilib.oopclasses.protos.TypedValueProto.string_list_value)
-}
-void TypedValueProto::set_allocated_int_list_value(::gtxilib::oopclasses::protos::IntListProto* int_list_value) {
-  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArena();
-  clear_value();
-  if (int_list_value) {
-    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
-      ::PROTOBUF_NAMESPACE_ID::Arena::GetArena(int_list_value);
-    if (message_arena != submessage_arena) {
-      int_list_value = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
-          message_arena, int_list_value, submessage_arena);
-    }
-    set_has_int_list_value();
-    value_.int_list_value_ = int_list_value;
-  }
-  // @@protoc_insertion_point(field_set_allocated:gtxilib.oopclasses.protos.TypedValueProto.int_list_value)
-}
-TypedValueProto::TypedValueProto(::PROTOBUF_NAMESPACE_ID::Arena* arena)
-  : ::PROTOBUF_NAMESPACE_ID::Message(arena) {
-  SharedCtor();
-  RegisterArenaDtor(arena);
-  // @@protoc_insertion_point(arena_constructor:gtxilib.oopclasses.protos.TypedValueProto)
-}
-TypedValueProto::TypedValueProto(const TypedValueProto& from)
-  : ::PROTOBUF_NAMESPACE_ID::Message(),
-      _has_bits_(from._has_bits_) {
-  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
-  type_ = from.type_;
-  clear_has_value();
-  switch (from.value_case()) {
-    case kBooleanValue: {
-      _internal_set_boolean_value(from._internal_boolean_value());
-      break;
-    }
-    case kByteValue: {
-      _internal_set_byte_value(from._internal_byte_value());
-      break;
-    }
-    case kShortValue: {
-      _internal_set_short_value(from._internal_short_value());
-      break;
-    }
-    case kCharValue: {
-      _internal_set_char_value(from._internal_char_value());
-      break;
-    }
-    case kIntValue: {
-      _internal_set_int_value(from._internal_int_value());
-      break;
-    }
-    case kFloatValue: {
-      _internal_set_float_value(from._internal_float_value());
-      break;
-    }
-    case kLongValue: {
-      _internal_set_long_value(from._internal_long_value());
-      break;
-    }
-    case kDoubleValue: {
-      _internal_set_double_value(from._internal_double_value());
-      break;
-    }
-    case kStringValue: {
-      _internal_set_string_value(from._internal_string_value());
-      break;
-    }
-    case kStringListValue: {
-      _internal_mutable_string_list_value()->::gtxilib::oopclasses::protos::StringListProto::MergeFrom(from._internal_string_list_value());
-      break;
-    }
-    case kIntListValue: {
-      _internal_mutable_int_list_value()->::gtxilib::oopclasses::protos::IntListProto::MergeFrom(from._internal_int_list_value());
-      break;
-    }
-    case VALUE_NOT_SET: {
-      break;
-    }
-  }
-  // @@protoc_insertion_point(copy_constructor:gtxilib.oopclasses.protos.TypedValueProto)
-}
-
-void TypedValueProto::SharedCtor() {
-  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_TypedValueProto_result_2eproto.base);
-  type_ = 0;
-  clear_has_value();
-}
-
-TypedValueProto::~TypedValueProto() {
-  // @@protoc_insertion_point(destructor:gtxilib.oopclasses.protos.TypedValueProto)
-  SharedDtor();
-  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
-}
-
-void TypedValueProto::SharedDtor() {
-  GOOGLE_DCHECK(GetArena() == nullptr);
-  if (has_value()) {
-    clear_value();
-  }
-}
-
-void TypedValueProto::ArenaDtor(void* object) {
-  TypedValueProto* _this = reinterpret_cast< TypedValueProto* >(object);
-  (void)_this;
-}
-void TypedValueProto::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
-}
-void TypedValueProto::SetCachedSize(int size) const {
-  _cached_size_.Set(size);
-}
-const TypedValueProto& TypedValueProto::default_instance() {
-  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_TypedValueProto_result_2eproto.base);
-  return *internal_default_instance();
+int IntListProto::values_size() const {
+  return values_.size();
 }
 
 
 void TypedValueProto::clear_value() {
-// @@protoc_insertion_point(one_of_clear_start:gtxilib.oopclasses.protos.TypedValueProto)
-  switch (value_case()) {
-    case kBooleanValue: {
-      // No need to clear
-      break;
-    }
-    case kByteValue: {
-      value_.byte_value_.Destroy(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
-      break;
-    }
-    case kShortValue: {
-      value_.short_value_.Destroy(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
-      break;
-    }
-    case kCharValue: {
-      value_.char_value_.Destroy(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
-      break;
-    }
-    case kIntValue: {
-      // No need to clear
-      break;
-    }
-    case kFloatValue: {
-      // No need to clear
-      break;
-    }
-    case kLongValue: {
-      // No need to clear
-      break;
-    }
-    case kDoubleValue: {
-      // No need to clear
-      break;
-    }
-    case kStringValue: {
-      value_.string_value_.Destroy(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
-      break;
-    }
-    case kStringListValue: {
-      if (GetArena() == nullptr) {
-        delete value_.string_list_value_;
-      }
-      break;
-    }
-    case kIntListValue: {
-      if (GetArena() == nullptr) {
-        delete value_.int_list_value_;
-      }
-      break;
-    }
-    case VALUE_NOT_SET: {
-      break;
-    }
-  }
-  _oneof_case_[0] = VALUE_NOT_SET;
+  value_case_ = VALUE_NOT_SET;
+  clear_boolean_value();
+  clear_byte_value();
+  clear_short_value();
+  clear_char_value();
+  clear_int_value();
+  clear_float_value();
+  clear_long_value();
+  clear_double_value();
+  clear_string_value();
+  clear_string_list_value();
+  clear_int_list_value();
+}
+TypedValueProto::ValueCase TypedValueProto::value_case() const {
+  return value_case_;
 }
 
+TypedValueProto_TypeProto TypedValueProto::type() const {
+  return type_;
+}
+bool TypedValueProto::has_type() const {
+  return has_type_;
+}
+void TypedValueProto::clear_type() {
+  type_ = TypedValueProto_TypeProto();
+  has_type_ = false;
+}
+void TypedValueProto::set_type(TypedValueProto_TypeProto new_type) {
+  type_ = new_type;
+  has_type_ = true;
+}
+TypedValueProto_TypeProto* TypedValueProto::mutable_type() {
+  has_type_ = true;
+  return &type_;
+}
 
-void TypedValueProto::Clear() {
-// @@protoc_insertion_point(message_clear_start:gtxilib.oopclasses.protos.TypedValueProto)
-  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
-  // Prevent compiler warnings about cached_has_bits being unused
-  (void) cached_has_bits;
-
-  type_ = 0;
+bool TypedValueProto::boolean_value() const {
+  return boolean_value_;
+}
+bool TypedValueProto::has_boolean_value() const {
+  return has_boolean_value_;
+}
+void TypedValueProto::clear_boolean_value() {
+  boolean_value_ = bool();
+  has_boolean_value_ = false;
+  if (value_case_ == kBooleanValue) {
+    value_case_ = VALUE_NOT_SET;
+  }
+}
+void TypedValueProto::set_boolean_value(bool new_boolean_value) {
   clear_value();
-  _has_bits_.Clear();
-  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
+  value_case_ = kBooleanValue;
+  boolean_value_ = new_boolean_value;
+  has_boolean_value_ = true;
+}
+bool* TypedValueProto::mutable_boolean_value() {
+  clear_value();
+  value_case_ = kBooleanValue;
+  has_boolean_value_ = true;
+  return &boolean_value_;
 }
 
-const char* TypedValueProto::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
-#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
-  _Internal::HasBits has_bits{};
-  ::PROTOBUF_NAMESPACE_ID::Arena* arena = GetArena(); (void)arena;
-  while (!ctx->Done(&ptr)) {
-    ::PROTOBUF_NAMESPACE_ID::uint32 tag;
-    ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
-    CHK_(ptr);
-    switch (tag >> 3) {
-      // .gtxilib.oopclasses.protos.TypedValueProto.TypeProto type = 1;
-      case 1:
-        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 8)) {
-          ::PROTOBUF_NAMESPACE_ID::uint64 val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
-          CHK_(ptr);
-          _internal_set_type(static_cast<::gtxilib::oopclasses::protos::TypedValueProto_TypeProto>(val));
-        } else goto handle_unusual;
-        continue;
-      // bool boolean_value = 2;
-      case 2:
-        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 16)) {
-          _internal_set_boolean_value(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr));
-          CHK_(ptr);
-        } else goto handle_unusual;
-        continue;
-      // bytes byte_value = 3;
-      case 3:
-        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 26)) {
-          auto str = _internal_mutable_byte_value();
-          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
-          CHK_(ptr);
-        } else goto handle_unusual;
-        continue;
-      // bytes short_value = 4;
-      case 4:
-        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 34)) {
-          auto str = _internal_mutable_short_value();
-          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
-          CHK_(ptr);
-        } else goto handle_unusual;
-        continue;
-      // bytes char_value = 5;
-      case 5:
-        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 42)) {
-          auto str = _internal_mutable_char_value();
-          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
-          CHK_(ptr);
-        } else goto handle_unusual;
-        continue;
-      // int32 int_value = 6;
-      case 6:
-        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 48)) {
-          _internal_set_int_value(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr));
-          CHK_(ptr);
-        } else goto handle_unusual;
-        continue;
-      // float float_value = 7;
-      case 7:
-        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 61)) {
-          _internal_set_float_value(::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<float>(ptr));
-          ptr += sizeof(float);
-        } else goto handle_unusual;
-        continue;
-      // int64 long_value = 8;
-      case 8:
-        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 64)) {
-          _internal_set_long_value(::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr));
-          CHK_(ptr);
-        } else goto handle_unusual;
-        continue;
-      // double double_value = 9;
-      case 9:
-        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 73)) {
-          _internal_set_double_value(::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr));
-          ptr += sizeof(double);
-        } else goto handle_unusual;
-        continue;
-      // string string_value = 10;
-      case 10:
-        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 82)) {
-          auto str = _internal_mutable_string_value();
-          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
-          CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "gtxilib.oopclasses.protos.TypedValueProto.string_value"));
-          CHK_(ptr);
-        } else goto handle_unusual;
-        continue;
-      // .gtxilib.oopclasses.protos.StringListProto string_list_value = 11;
-      case 11:
-        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 90)) {
-          ptr = ctx->ParseMessage(_internal_mutable_string_list_value(), ptr);
-          CHK_(ptr);
-        } else goto handle_unusual;
-        continue;
-      // .gtxilib.oopclasses.protos.IntListProto int_list_value = 12;
-      case 12:
-        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 98)) {
-          ptr = ctx->ParseMessage(_internal_mutable_int_list_value(), ptr);
-          CHK_(ptr);
-        } else goto handle_unusual;
-        continue;
-      default: {
-      handle_unusual:
-        if ((tag & 7) == 4 || tag == 0) {
-          ctx->SetLastTag(tag);
-          goto success;
-        }
-        ptr = UnknownFieldParse(tag,
-            _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
-            ptr, ctx);
-        CHK_(ptr != nullptr);
-        continue;
-      }
-    }  // switch
-  }  // while
-success:
-  _has_bits_.Or(has_bits);
-  return ptr;
-failure:
-  ptr = nullptr;
-  goto success;
-#undef CHK_
+std::string TypedValueProto::byte_value() const {
+  return byte_value_;
 }
-
-::PROTOBUF_NAMESPACE_ID::uint8* TypedValueProto::_InternalSerialize(
-    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
-  // @@protoc_insertion_point(serialize_to_array_start:gtxilib.oopclasses.protos.TypedValueProto)
-  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
-  (void) cached_has_bits;
-
-  // .gtxilib.oopclasses.protos.TypedValueProto.TypeProto type = 1;
-  if (_internal_has_type()) {
-    target = stream->EnsureSpace(target);
-    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
-      1, this->_internal_type(), target);
-  }
-
-  // bool boolean_value = 2;
-  if (_internal_has_boolean_value()) {
-    target = stream->EnsureSpace(target);
-    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(2, this->_internal_boolean_value(), target);
-  }
-
-  // bytes byte_value = 3;
-  if (_internal_has_byte_value()) {
-    target = stream->WriteBytesMaybeAliased(
-        3, this->_internal_byte_value(), target);
-  }
-
-  // bytes short_value = 4;
-  if (_internal_has_short_value()) {
-    target = stream->WriteBytesMaybeAliased(
-        4, this->_internal_short_value(), target);
-  }
-
-  // bytes char_value = 5;
-  if (_internal_has_char_value()) {
-    target = stream->WriteBytesMaybeAliased(
-        5, this->_internal_char_value(), target);
-  }
-
-  // int32 int_value = 6;
-  if (_internal_has_int_value()) {
-    target = stream->EnsureSpace(target);
-    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(6, this->_internal_int_value(), target);
-  }
-
-  // float float_value = 7;
-  if (_internal_has_float_value()) {
-    target = stream->EnsureSpace(target);
-    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteFloatToArray(7, this->_internal_float_value(), target);
-  }
-
-  // int64 long_value = 8;
-  if (_internal_has_long_value()) {
-    target = stream->EnsureSpace(target);
-    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt64ToArray(8, this->_internal_long_value(), target);
-  }
-
-  // double double_value = 9;
-  if (_internal_has_double_value()) {
-    target = stream->EnsureSpace(target);
-    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(9, this->_internal_double_value(), target);
-  }
-
-  // string string_value = 10;
-  if (_internal_has_string_value()) {
-    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
-      this->_internal_string_value().data(), static_cast<int>(this->_internal_string_value().length()),
-      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
-      "gtxilib.oopclasses.protos.TypedValueProto.string_value");
-    target = stream->WriteStringMaybeAliased(
-        10, this->_internal_string_value(), target);
-  }
-
-  // .gtxilib.oopclasses.protos.StringListProto string_list_value = 11;
-  if (_internal_has_string_list_value()) {
-    target = stream->EnsureSpace(target);
-    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
-      InternalWriteMessage(
-        11, _Internal::string_list_value(this), target, stream);
-  }
-
-  // .gtxilib.oopclasses.protos.IntListProto int_list_value = 12;
-  if (_internal_has_int_list_value()) {
-    target = stream->EnsureSpace(target);
-    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
-      InternalWriteMessage(
-        12, _Internal::int_list_value(this), target, stream);
-  }
-
-  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
-    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
-        _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
-  }
-  // @@protoc_insertion_point(serialize_to_array_end:gtxilib.oopclasses.protos.TypedValueProto)
-  return target;
+bool TypedValueProto::has_byte_value() const {
+  return has_byte_value_;
 }
-
-size_t TypedValueProto::ByteSizeLong() const {
-// @@protoc_insertion_point(message_byte_size_start:gtxilib.oopclasses.protos.TypedValueProto)
-  size_t total_size = 0;
-
-  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
-  // Prevent compiler warnings about cached_has_bits being unused
-  (void) cached_has_bits;
-
-  // .gtxilib.oopclasses.protos.TypedValueProto.TypeProto type = 1;
-  cached_has_bits = _has_bits_[0];
-  if (cached_has_bits & 0x00000001u) {
-    total_size += 1 +
-      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_type());
-  }
-
-  switch (value_case()) {
-    // bool boolean_value = 2;
-    case kBooleanValue: {
-      total_size += 1 + 1;
-      break;
-    }
-    // bytes byte_value = 3;
-    case kByteValue: {
-      total_size += 1 +
-        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::BytesSize(
-          this->_internal_byte_value());
-      break;
-    }
-    // bytes short_value = 4;
-    case kShortValue: {
-      total_size += 1 +
-        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::BytesSize(
-          this->_internal_short_value());
-      break;
-    }
-    // bytes char_value = 5;
-    case kCharValue: {
-      total_size += 1 +
-        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::BytesSize(
-          this->_internal_char_value());
-      break;
-    }
-    // int32 int_value = 6;
-    case kIntValue: {
-      total_size += 1 +
-        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
-          this->_internal_int_value());
-      break;
-    }
-    // float float_value = 7;
-    case kFloatValue: {
-      total_size += 1 + 4;
-      break;
-    }
-    // int64 long_value = 8;
-    case kLongValue: {
-      total_size += 1 +
-        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int64Size(
-          this->_internal_long_value());
-      break;
-    }
-    // double double_value = 9;
-    case kDoubleValue: {
-      total_size += 1 + 8;
-      break;
-    }
-    // string string_value = 10;
-    case kStringValue: {
-      total_size += 1 +
-        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
-          this->_internal_string_value());
-      break;
-    }
-    // .gtxilib.oopclasses.protos.StringListProto string_list_value = 11;
-    case kStringListValue: {
-      total_size += 1 +
-        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
-          *value_.string_list_value_);
-      break;
-    }
-    // .gtxilib.oopclasses.protos.IntListProto int_list_value = 12;
-    case kIntListValue: {
-      total_size += 1 +
-        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
-          *value_.int_list_value_);
-      break;
-    }
-    case VALUE_NOT_SET: {
-      break;
-    }
-  }
-  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
-    return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize(
-        _internal_metadata_, total_size, &_cached_size_);
-  }
-  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
-  SetCachedSize(cached_size);
-  return total_size;
-}
-
-void TypedValueProto::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
-// @@protoc_insertion_point(generalized_merge_from_start:gtxilib.oopclasses.protos.TypedValueProto)
-  GOOGLE_DCHECK_NE(&from, this);
-  const TypedValueProto* source =
-      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<TypedValueProto>(
-          &from);
-  if (source == nullptr) {
-  // @@protoc_insertion_point(generalized_merge_from_cast_fail:gtxilib.oopclasses.protos.TypedValueProto)
-    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
-  } else {
-  // @@protoc_insertion_point(generalized_merge_from_cast_success:gtxilib.oopclasses.protos.TypedValueProto)
-    MergeFrom(*source);
+void TypedValueProto::clear_byte_value() {
+  byte_value_ = std::string();
+  has_byte_value_ = false;
+  if (value_case_ == kByteValue) {
+    value_case_ = VALUE_NOT_SET;
   }
 }
+void TypedValueProto::set_byte_value(std::string new_byte_value) {
+  clear_value();
+  value_case_ = kByteValue;
+  byte_value_ = new_byte_value;
+  has_byte_value_ = true;
+}
+std::string* TypedValueProto::mutable_byte_value() {
+  clear_value();
+  value_case_ = kByteValue;
+  has_byte_value_ = true;
+  return &byte_value_;
+}
 
-void TypedValueProto::MergeFrom(const TypedValueProto& from) {
-// @@protoc_insertion_point(class_specific_merge_from_start:gtxilib.oopclasses.protos.TypedValueProto)
-  GOOGLE_DCHECK_NE(&from, this);
-  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
-  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
-  (void) cached_has_bits;
-
-  if (from._internal_has_type()) {
-    _internal_set_type(from._internal_type());
-  }
-  switch (from.value_case()) {
-    case kBooleanValue: {
-      _internal_set_boolean_value(from._internal_boolean_value());
-      break;
-    }
-    case kByteValue: {
-      _internal_set_byte_value(from._internal_byte_value());
-      break;
-    }
-    case kShortValue: {
-      _internal_set_short_value(from._internal_short_value());
-      break;
-    }
-    case kCharValue: {
-      _internal_set_char_value(from._internal_char_value());
-      break;
-    }
-    case kIntValue: {
-      _internal_set_int_value(from._internal_int_value());
-      break;
-    }
-    case kFloatValue: {
-      _internal_set_float_value(from._internal_float_value());
-      break;
-    }
-    case kLongValue: {
-      _internal_set_long_value(from._internal_long_value());
-      break;
-    }
-    case kDoubleValue: {
-      _internal_set_double_value(from._internal_double_value());
-      break;
-    }
-    case kStringValue: {
-      _internal_set_string_value(from._internal_string_value());
-      break;
-    }
-    case kStringListValue: {
-      _internal_mutable_string_list_value()->::gtxilib::oopclasses::protos::StringListProto::MergeFrom(from._internal_string_list_value());
-      break;
-    }
-    case kIntListValue: {
-      _internal_mutable_int_list_value()->::gtxilib::oopclasses::protos::IntListProto::MergeFrom(from._internal_int_list_value());
-      break;
-    }
-    case VALUE_NOT_SET: {
-      break;
-    }
+std::string TypedValueProto::short_value() const {
+  return short_value_;
+}
+bool TypedValueProto::has_short_value() const {
+  return has_short_value_;
+}
+void TypedValueProto::clear_short_value() {
+  short_value_ = std::string();
+  has_short_value_ = false;
+  if (value_case_ == kShortValue) {
+    value_case_ = VALUE_NOT_SET;
   }
 }
-
-void TypedValueProto::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
-// @@protoc_insertion_point(generalized_copy_from_start:gtxilib.oopclasses.protos.TypedValueProto)
-  if (&from == this) return;
-  Clear();
-  MergeFrom(from);
+void TypedValueProto::set_short_value(std::string new_short_value) {
+  clear_value();
+  value_case_ = kShortValue;
+  short_value_ = new_short_value;
+  has_short_value_ = true;
+}
+std::string* TypedValueProto::mutable_short_value() {
+  clear_value();
+  value_case_ = kShortValue;
+  has_short_value_ = true;
+  return &short_value_;
 }
 
-void TypedValueProto::CopyFrom(const TypedValueProto& from) {
-// @@protoc_insertion_point(class_specific_copy_from_start:gtxilib.oopclasses.protos.TypedValueProto)
-  if (&from == this) return;
-  Clear();
-  MergeFrom(from);
+std::string TypedValueProto::char_value() const {
+  return char_value_;
 }
-
-bool TypedValueProto::IsInitialized() const {
-  return true;
+bool TypedValueProto::has_char_value() const {
+  return has_char_value_;
 }
-
-void TypedValueProto::InternalSwap(TypedValueProto* other) {
-  using std::swap;
-  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
-  swap(_has_bits_[0], other->_has_bits_[0]);
-  swap(type_, other->type_);
-  swap(value_, other->value_);
-  swap(_oneof_case_[0], other->_oneof_case_[0]);
-}
-
-::PROTOBUF_NAMESPACE_ID::Metadata TypedValueProto::GetMetadata() const {
-  return GetMetadataStatic();
-}
-
-
-// ===================================================================
-
-MetadataProto_MetadataMapEntry_DoNotUse::MetadataProto_MetadataMapEntry_DoNotUse() {}
-MetadataProto_MetadataMapEntry_DoNotUse::MetadataProto_MetadataMapEntry_DoNotUse(::PROTOBUF_NAMESPACE_ID::Arena* arena)
-    : SuperType(arena) {}
-void MetadataProto_MetadataMapEntry_DoNotUse::MergeFrom(const MetadataProto_MetadataMapEntry_DoNotUse& other) {
-  MergeFromInternal(other);
-}
-::PROTOBUF_NAMESPACE_ID::Metadata MetadataProto_MetadataMapEntry_DoNotUse::GetMetadata() const {
-  return GetMetadataStatic();
-}
-void MetadataProto_MetadataMapEntry_DoNotUse::MergeFrom(
-    const ::PROTOBUF_NAMESPACE_ID::Message& other) {
-  ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom(other);
-}
-
-
-// ===================================================================
-
-void MetadataProto::InitAsDefaultInstance() {
-}
-class MetadataProto::_Internal {
- public:
-};
-
-MetadataProto::MetadataProto(::PROTOBUF_NAMESPACE_ID::Arena* arena)
-  : ::PROTOBUF_NAMESPACE_ID::Message(arena),
-  metadata_map_(arena) {
-  SharedCtor();
-  RegisterArenaDtor(arena);
-  // @@protoc_insertion_point(arena_constructor:gtxilib.oopclasses.protos.MetadataProto)
-}
-MetadataProto::MetadataProto(const MetadataProto& from)
-  : ::PROTOBUF_NAMESPACE_ID::Message() {
-  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
-  metadata_map_.MergeFrom(from.metadata_map_);
-  // @@protoc_insertion_point(copy_constructor:gtxilib.oopclasses.protos.MetadataProto)
-}
-
-void MetadataProto::SharedCtor() {
-  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_MetadataProto_result_2eproto.base);
-}
-
-MetadataProto::~MetadataProto() {
-  // @@protoc_insertion_point(destructor:gtxilib.oopclasses.protos.MetadataProto)
-  SharedDtor();
-  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
-}
-
-void MetadataProto::SharedDtor() {
-  GOOGLE_DCHECK(GetArena() == nullptr);
-}
-
-void MetadataProto::ArenaDtor(void* object) {
-  MetadataProto* _this = reinterpret_cast< MetadataProto* >(object);
-  (void)_this;
-}
-void MetadataProto::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
-}
-void MetadataProto::SetCachedSize(int size) const {
-  _cached_size_.Set(size);
-}
-const MetadataProto& MetadataProto::default_instance() {
-  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_MetadataProto_result_2eproto.base);
-  return *internal_default_instance();
-}
-
-
-void MetadataProto::Clear() {
-// @@protoc_insertion_point(message_clear_start:gtxilib.oopclasses.protos.MetadataProto)
-  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
-  // Prevent compiler warnings about cached_has_bits being unused
-  (void) cached_has_bits;
-
-  metadata_map_.Clear();
-  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
-}
-
-const char* MetadataProto::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
-#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
-  ::PROTOBUF_NAMESPACE_ID::Arena* arena = GetArena(); (void)arena;
-  while (!ctx->Done(&ptr)) {
-    ::PROTOBUF_NAMESPACE_ID::uint32 tag;
-    ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
-    CHK_(ptr);
-    switch (tag >> 3) {
-      // map<string, .gtxilib.oopclasses.protos.TypedValueProto> metadata_map = 1;
-      case 1:
-        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
-          ptr -= 1;
-          do {
-            ptr += 1;
-            ptr = ctx->ParseMessage(&metadata_map_, ptr);
-            CHK_(ptr);
-            if (!ctx->DataAvailable(ptr)) break;
-          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<10>(ptr));
-        } else goto handle_unusual;
-        continue;
-      default: {
-      handle_unusual:
-        if ((tag & 7) == 4 || tag == 0) {
-          ctx->SetLastTag(tag);
-          goto success;
-        }
-        ptr = UnknownFieldParse(tag,
-            _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
-            ptr, ctx);
-        CHK_(ptr != nullptr);
-        continue;
-      }
-    }  // switch
-  }  // while
-success:
-  return ptr;
-failure:
-  ptr = nullptr;
-  goto success;
-#undef CHK_
-}
-
-::PROTOBUF_NAMESPACE_ID::uint8* MetadataProto::_InternalSerialize(
-    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
-  // @@protoc_insertion_point(serialize_to_array_start:gtxilib.oopclasses.protos.MetadataProto)
-  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
-  (void) cached_has_bits;
-
-  // map<string, .gtxilib.oopclasses.protos.TypedValueProto> metadata_map = 1;
-  if (!this->_internal_metadata_map().empty()) {
-    typedef ::PROTOBUF_NAMESPACE_ID::Map< std::string, ::gtxilib::oopclasses::protos::TypedValueProto >::const_pointer
-        ConstPtr;
-    typedef ConstPtr SortItem;
-    typedef ::PROTOBUF_NAMESPACE_ID::internal::CompareByDerefFirst<SortItem> Less;
-    struct Utf8Check {
-      static void Check(ConstPtr p) {
-        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
-          p->first.data(), static_cast<int>(p->first.length()),
-          ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
-          "gtxilib.oopclasses.protos.MetadataProto.MetadataMapEntry.key");
-      }
-    };
-
-    if (stream->IsSerializationDeterministic() &&
-        this->_internal_metadata_map().size() > 1) {
-      ::std::unique_ptr<SortItem[]> items(
-          new SortItem[this->_internal_metadata_map().size()]);
-      typedef ::PROTOBUF_NAMESPACE_ID::Map< std::string, ::gtxilib::oopclasses::protos::TypedValueProto >::size_type size_type;
-      size_type n = 0;
-      for (::PROTOBUF_NAMESPACE_ID::Map< std::string, ::gtxilib::oopclasses::protos::TypedValueProto >::const_iterator
-          it = this->_internal_metadata_map().begin();
-          it != this->_internal_metadata_map().end(); ++it, ++n) {
-        items[static_cast<ptrdiff_t>(n)] = SortItem(&*it);
-      }
-      ::std::sort(&items[0], &items[static_cast<ptrdiff_t>(n)], Less());
-      for (size_type i = 0; i < n; i++) {
-        target = MetadataProto_MetadataMapEntry_DoNotUse::Funcs::InternalSerialize(1, items[static_cast<ptrdiff_t>(i)]->first, items[static_cast<ptrdiff_t>(i)]->second, target, stream);
-        Utf8Check::Check(&(*items[static_cast<ptrdiff_t>(i)]));
-      }
-    } else {
-      for (::PROTOBUF_NAMESPACE_ID::Map< std::string, ::gtxilib::oopclasses::protos::TypedValueProto >::const_iterator
-          it = this->_internal_metadata_map().begin();
-          it != this->_internal_metadata_map().end(); ++it) {
-        target = MetadataProto_MetadataMapEntry_DoNotUse::Funcs::InternalSerialize(1, it->first, it->second, target, stream);
-        Utf8Check::Check(&(*it));
-      }
-    }
-  }
-
-  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
-    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
-        _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
-  }
-  // @@protoc_insertion_point(serialize_to_array_end:gtxilib.oopclasses.protos.MetadataProto)
-  return target;
-}
-
-size_t MetadataProto::ByteSizeLong() const {
-// @@protoc_insertion_point(message_byte_size_start:gtxilib.oopclasses.protos.MetadataProto)
-  size_t total_size = 0;
-
-  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
-  // Prevent compiler warnings about cached_has_bits being unused
-  (void) cached_has_bits;
-
-  // map<string, .gtxilib.oopclasses.protos.TypedValueProto> metadata_map = 1;
-  total_size += 1 *
-      ::PROTOBUF_NAMESPACE_ID::internal::FromIntSize(this->_internal_metadata_map_size());
-  for (::PROTOBUF_NAMESPACE_ID::Map< std::string, ::gtxilib::oopclasses::protos::TypedValueProto >::const_iterator
-      it = this->_internal_metadata_map().begin();
-      it != this->_internal_metadata_map().end(); ++it) {
-    total_size += MetadataProto_MetadataMapEntry_DoNotUse::Funcs::ByteSizeLong(it->first, it->second);
-  }
-
-  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
-    return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize(
-        _internal_metadata_, total_size, &_cached_size_);
-  }
-  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
-  SetCachedSize(cached_size);
-  return total_size;
-}
-
-void MetadataProto::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
-// @@protoc_insertion_point(generalized_merge_from_start:gtxilib.oopclasses.protos.MetadataProto)
-  GOOGLE_DCHECK_NE(&from, this);
-  const MetadataProto* source =
-      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<MetadataProto>(
-          &from);
-  if (source == nullptr) {
-  // @@protoc_insertion_point(generalized_merge_from_cast_fail:gtxilib.oopclasses.protos.MetadataProto)
-    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
-  } else {
-  // @@protoc_insertion_point(generalized_merge_from_cast_success:gtxilib.oopclasses.protos.MetadataProto)
-    MergeFrom(*source);
+void TypedValueProto::clear_char_value() {
+  char_value_ = std::string();
+  has_char_value_ = false;
+  if (value_case_ == kCharValue) {
+    value_case_ = VALUE_NOT_SET;
   }
 }
-
-void MetadataProto::MergeFrom(const MetadataProto& from) {
-// @@protoc_insertion_point(class_specific_merge_from_start:gtxilib.oopclasses.protos.MetadataProto)
-  GOOGLE_DCHECK_NE(&from, this);
-  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
-  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
-  (void) cached_has_bits;
-
-  metadata_map_.MergeFrom(from.metadata_map_);
+void TypedValueProto::set_char_value(std::string new_char_value) {
+  clear_value();
+  value_case_ = kCharValue;
+  char_value_ = new_char_value;
+  has_char_value_ = true;
+}
+std::string* TypedValueProto::mutable_char_value() {
+  clear_value();
+  value_case_ = kCharValue;
+  has_char_value_ = true;
+  return &char_value_;
 }
 
-void MetadataProto::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
-// @@protoc_insertion_point(generalized_copy_from_start:gtxilib.oopclasses.protos.MetadataProto)
-  if (&from == this) return;
-  Clear();
-  MergeFrom(from);
+int32_t TypedValueProto::int_value() const {
+  return int_value_;
 }
-
-void MetadataProto::CopyFrom(const MetadataProto& from) {
-// @@protoc_insertion_point(class_specific_copy_from_start:gtxilib.oopclasses.protos.MetadataProto)
-  if (&from == this) return;
-  Clear();
-  MergeFrom(from);
+bool TypedValueProto::has_int_value() const {
+  return has_int_value_;
 }
-
-bool MetadataProto::IsInitialized() const {
-  return true;
-}
-
-void MetadataProto::InternalSwap(MetadataProto* other) {
-  using std::swap;
-  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
-  metadata_map_.Swap(&other->metadata_map_);
-}
-
-::PROTOBUF_NAMESPACE_ID::Metadata MetadataProto::GetMetadata() const {
-  return GetMetadataStatic();
-}
-
-
-// ===================================================================
-
-void CheckResultProto::InitAsDefaultInstance() {
-  ::gtxilib::oopclasses::protos::_CheckResultProto_default_instance_._instance.get_mutable()->metadata_ = const_cast< ::gtxilib::oopclasses::protos::MetadataProto*>(
-      ::gtxilib::oopclasses::protos::MetadataProto::internal_default_instance());
-}
-class CheckResultProto::_Internal {
- public:
-  using HasBits = decltype(std::declval<CheckResultProto>()._has_bits_);
-  static void set_has_hierarchy_source_id(HasBits* has_bits) {
-    (*has_bits)[0] |= 1u;
-  }
-  static const ::gtxilib::oopclasses::protos::MetadataProto& metadata(const CheckResultProto* msg);
-};
-
-const ::gtxilib::oopclasses::protos::MetadataProto&
-CheckResultProto::_Internal::metadata(const CheckResultProto* msg) {
-  return *msg->metadata_;
-}
-CheckResultProto::CheckResultProto(::PROTOBUF_NAMESPACE_ID::Arena* arena)
-  : ::PROTOBUF_NAMESPACE_ID::Message(arena) {
-  SharedCtor();
-  RegisterArenaDtor(arena);
-  // @@protoc_insertion_point(arena_constructor:gtxilib.oopclasses.protos.CheckResultProto)
-}
-CheckResultProto::CheckResultProto(const CheckResultProto& from)
-  : ::PROTOBUF_NAMESPACE_ID::Message(),
-      _has_bits_(from._has_bits_) {
-  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
-  source_check_class_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
-  if (!from._internal_source_check_class().empty()) {
-    source_check_class_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), from._internal_source_check_class(),
-      GetArena());
-  }
-  if (from._internal_has_metadata()) {
-    metadata_ = new ::gtxilib::oopclasses::protos::MetadataProto(*from.metadata_);
-  } else {
-    metadata_ = nullptr;
-  }
-  ::memcpy(&hierarchy_source_id_, &from.hierarchy_source_id_,
-    static_cast<size_t>(reinterpret_cast<char*>(&result_type_) -
-    reinterpret_cast<char*>(&hierarchy_source_id_)) + sizeof(result_type_));
-  // @@protoc_insertion_point(copy_constructor:gtxilib.oopclasses.protos.CheckResultProto)
-}
-
-void CheckResultProto::SharedCtor() {
-  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_CheckResultProto_result_2eproto.base);
-  source_check_class_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
-  ::memset(&metadata_, 0, static_cast<size_t>(
-      reinterpret_cast<char*>(&result_type_) -
-      reinterpret_cast<char*>(&metadata_)) + sizeof(result_type_));
-}
-
-CheckResultProto::~CheckResultProto() {
-  // @@protoc_insertion_point(destructor:gtxilib.oopclasses.protos.CheckResultProto)
-  SharedDtor();
-  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
-}
-
-void CheckResultProto::SharedDtor() {
-  GOOGLE_DCHECK(GetArena() == nullptr);
-  source_check_class_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
-  if (this != internal_default_instance()) delete metadata_;
-}
-
-void CheckResultProto::ArenaDtor(void* object) {
-  CheckResultProto* _this = reinterpret_cast< CheckResultProto* >(object);
-  (void)_this;
-}
-void CheckResultProto::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
-}
-void CheckResultProto::SetCachedSize(int size) const {
-  _cached_size_.Set(size);
-}
-const CheckResultProto& CheckResultProto::default_instance() {
-  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_CheckResultProto_result_2eproto.base);
-  return *internal_default_instance();
-}
-
-
-void CheckResultProto::Clear() {
-// @@protoc_insertion_point(message_clear_start:gtxilib.oopclasses.protos.CheckResultProto)
-  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
-  // Prevent compiler warnings about cached_has_bits being unused
-  (void) cached_has_bits;
-
-  source_check_class_.ClearToEmpty(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
-  if (GetArena() == nullptr && metadata_ != nullptr) {
-    delete metadata_;
-  }
-  metadata_ = nullptr;
-  hierarchy_source_id_ = PROTOBUF_LONGLONG(0);
-  ::memset(&result_id_, 0, static_cast<size_t>(
-      reinterpret_cast<char*>(&result_type_) -
-      reinterpret_cast<char*>(&result_id_)) + sizeof(result_type_));
-  _has_bits_.Clear();
-  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
-}
-
-const char* CheckResultProto::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
-#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
-  _Internal::HasBits has_bits{};
-  ::PROTOBUF_NAMESPACE_ID::Arena* arena = GetArena(); (void)arena;
-  while (!ctx->Done(&ptr)) {
-    ::PROTOBUF_NAMESPACE_ID::uint32 tag;
-    ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
-    CHK_(ptr);
-    switch (tag >> 3) {
-      // string source_check_class = 1;
-      case 1:
-        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
-          auto str = _internal_mutable_source_check_class();
-          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
-          CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "gtxilib.oopclasses.protos.CheckResultProto.source_check_class"));
-          CHK_(ptr);
-        } else goto handle_unusual;
-        continue;
-      // int32 result_id = 2;
-      case 2:
-        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 16)) {
-          result_id_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
-          CHK_(ptr);
-        } else goto handle_unusual;
-        continue;
-      // int64 hierarchy_source_id = 3;
-      case 3:
-        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 24)) {
-          _Internal::set_has_hierarchy_source_id(&has_bits);
-          hierarchy_source_id_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
-          CHK_(ptr);
-        } else goto handle_unusual;
-        continue;
-      // .gtxilib.oopclasses.protos.ResultType result_type = 4;
-      case 4:
-        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 32)) {
-          ::PROTOBUF_NAMESPACE_ID::uint64 val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
-          CHK_(ptr);
-          _internal_set_result_type(static_cast<::gtxilib::oopclasses::protos::ResultType>(val));
-        } else goto handle_unusual;
-        continue;
-      // .gtxilib.oopclasses.protos.MetadataProto metadata = 5;
-      case 5:
-        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 42)) {
-          ptr = ctx->ParseMessage(_internal_mutable_metadata(), ptr);
-          CHK_(ptr);
-        } else goto handle_unusual;
-        continue;
-      default: {
-      handle_unusual:
-        if ((tag & 7) == 4 || tag == 0) {
-          ctx->SetLastTag(tag);
-          goto success;
-        }
-        ptr = UnknownFieldParse(tag,
-            _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
-            ptr, ctx);
-        CHK_(ptr != nullptr);
-        continue;
-      }
-    }  // switch
-  }  // while
-success:
-  _has_bits_.Or(has_bits);
-  return ptr;
-failure:
-  ptr = nullptr;
-  goto success;
-#undef CHK_
-}
-
-::PROTOBUF_NAMESPACE_ID::uint8* CheckResultProto::_InternalSerialize(
-    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
-  // @@protoc_insertion_point(serialize_to_array_start:gtxilib.oopclasses.protos.CheckResultProto)
-  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
-  (void) cached_has_bits;
-
-  // string source_check_class = 1;
-  if (this->source_check_class().size() > 0) {
-    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
-      this->_internal_source_check_class().data(), static_cast<int>(this->_internal_source_check_class().length()),
-      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
-      "gtxilib.oopclasses.protos.CheckResultProto.source_check_class");
-    target = stream->WriteStringMaybeAliased(
-        1, this->_internal_source_check_class(), target);
-  }
-
-  // int32 result_id = 2;
-  if (this->result_id() != 0) {
-    target = stream->EnsureSpace(target);
-    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(2, this->_internal_result_id(), target);
-  }
-
-  // int64 hierarchy_source_id = 3;
-  if (_internal_has_hierarchy_source_id()) {
-    target = stream->EnsureSpace(target);
-    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt64ToArray(3, this->_internal_hierarchy_source_id(), target);
-  }
-
-  // .gtxilib.oopclasses.protos.ResultType result_type = 4;
-  if (this->result_type() != 0) {
-    target = stream->EnsureSpace(target);
-    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteEnumToArray(
-      4, this->_internal_result_type(), target);
-  }
-
-  // .gtxilib.oopclasses.protos.MetadataProto metadata = 5;
-  if (this->has_metadata()) {
-    target = stream->EnsureSpace(target);
-    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
-      InternalWriteMessage(
-        5, _Internal::metadata(this), target, stream);
-  }
-
-  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
-    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
-        _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
-  }
-  // @@protoc_insertion_point(serialize_to_array_end:gtxilib.oopclasses.protos.CheckResultProto)
-  return target;
-}
-
-size_t CheckResultProto::ByteSizeLong() const {
-// @@protoc_insertion_point(message_byte_size_start:gtxilib.oopclasses.protos.CheckResultProto)
-  size_t total_size = 0;
-
-  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
-  // Prevent compiler warnings about cached_has_bits being unused
-  (void) cached_has_bits;
-
-  // string source_check_class = 1;
-  if (this->source_check_class().size() > 0) {
-    total_size += 1 +
-      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
-        this->_internal_source_check_class());
-  }
-
-  // .gtxilib.oopclasses.protos.MetadataProto metadata = 5;
-  if (this->has_metadata()) {
-    total_size += 1 +
-      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
-        *metadata_);
-  }
-
-  // int64 hierarchy_source_id = 3;
-  cached_has_bits = _has_bits_[0];
-  if (cached_has_bits & 0x00000001u) {
-    total_size += 1 +
-      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int64Size(
-        this->_internal_hierarchy_source_id());
-  }
-
-  // int32 result_id = 2;
-  if (this->result_id() != 0) {
-    total_size += 1 +
-      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
-        this->_internal_result_id());
-  }
-
-  // .gtxilib.oopclasses.protos.ResultType result_type = 4;
-  if (this->result_type() != 0) {
-    total_size += 1 +
-      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::EnumSize(this->_internal_result_type());
-  }
-
-  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
-    return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize(
-        _internal_metadata_, total_size, &_cached_size_);
-  }
-  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
-  SetCachedSize(cached_size);
-  return total_size;
-}
-
-void CheckResultProto::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
-// @@protoc_insertion_point(generalized_merge_from_start:gtxilib.oopclasses.protos.CheckResultProto)
-  GOOGLE_DCHECK_NE(&from, this);
-  const CheckResultProto* source =
-      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<CheckResultProto>(
-          &from);
-  if (source == nullptr) {
-  // @@protoc_insertion_point(generalized_merge_from_cast_fail:gtxilib.oopclasses.protos.CheckResultProto)
-    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
-  } else {
-  // @@protoc_insertion_point(generalized_merge_from_cast_success:gtxilib.oopclasses.protos.CheckResultProto)
-    MergeFrom(*source);
+void TypedValueProto::clear_int_value() {
+  int_value_ = int32_t();
+  has_int_value_ = false;
+  if (value_case_ == kIntValue) {
+    value_case_ = VALUE_NOT_SET;
   }
 }
+void TypedValueProto::set_int_value(int32_t new_int_value) {
+  clear_value();
+  value_case_ = kIntValue;
+  int_value_ = new_int_value;
+  has_int_value_ = true;
+}
+int32_t* TypedValueProto::mutable_int_value() {
+  clear_value();
+  value_case_ = kIntValue;
+  has_int_value_ = true;
+  return &int_value_;
+}
 
-void CheckResultProto::MergeFrom(const CheckResultProto& from) {
-// @@protoc_insertion_point(class_specific_merge_from_start:gtxilib.oopclasses.protos.CheckResultProto)
-  GOOGLE_DCHECK_NE(&from, this);
-  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
-  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
-  (void) cached_has_bits;
-
-  if (from.source_check_class().size() > 0) {
-    _internal_set_source_check_class(from._internal_source_check_class());
-  }
-  if (from.has_metadata()) {
-    _internal_mutable_metadata()->::gtxilib::oopclasses::protos::MetadataProto::MergeFrom(from._internal_metadata());
-  }
-  if (from._internal_has_hierarchy_source_id()) {
-    _internal_set_hierarchy_source_id(from._internal_hierarchy_source_id());
-  }
-  if (from.result_id() != 0) {
-    _internal_set_result_id(from._internal_result_id());
-  }
-  if (from.result_type() != 0) {
-    _internal_set_result_type(from._internal_result_type());
+float TypedValueProto::float_value() const {
+  return float_value_;
+}
+bool TypedValueProto::has_float_value() const {
+  return has_float_value_;
+}
+void TypedValueProto::clear_float_value() {
+  float_value_ = float();
+  has_float_value_ = false;
+  if (value_case_ == kFloatValue) {
+    value_case_ = VALUE_NOT_SET;
   }
 }
-
-void CheckResultProto::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
-// @@protoc_insertion_point(generalized_copy_from_start:gtxilib.oopclasses.protos.CheckResultProto)
-  if (&from == this) return;
-  Clear();
-  MergeFrom(from);
+void TypedValueProto::set_float_value(float new_float_value) {
+  clear_value();
+  value_case_ = kFloatValue;
+  float_value_ = new_float_value;
+  has_float_value_ = true;
+}
+float* TypedValueProto::mutable_float_value() {
+  clear_value();
+  value_case_ = kFloatValue;
+  has_float_value_ = true;
+  return &float_value_;
 }
 
-void CheckResultProto::CopyFrom(const CheckResultProto& from) {
-// @@protoc_insertion_point(class_specific_copy_from_start:gtxilib.oopclasses.protos.CheckResultProto)
-  if (&from == this) return;
-  Clear();
-  MergeFrom(from);
+int64_t TypedValueProto::long_value() const {
+  return long_value_;
+}
+bool TypedValueProto::has_long_value() const {
+  return has_long_value_;
+}
+void TypedValueProto::clear_long_value() {
+  long_value_ = int64_t();
+  has_long_value_ = false;
+  if (value_case_ == kLongValue) {
+    value_case_ = VALUE_NOT_SET;
+  }
+}
+void TypedValueProto::set_long_value(int64_t new_long_value) {
+  clear_value();
+  value_case_ = kLongValue;
+  long_value_ = new_long_value;
+  has_long_value_ = true;
+}
+int64_t* TypedValueProto::mutable_long_value() {
+  clear_value();
+  value_case_ = kLongValue;
+  has_long_value_ = true;
+  return &long_value_;
 }
 
-bool CheckResultProto::IsInitialized() const {
-  return true;
+double TypedValueProto::double_value() const {
+  return double_value_;
+}
+bool TypedValueProto::has_double_value() const {
+  return has_double_value_;
+}
+void TypedValueProto::clear_double_value() {
+  double_value_ = double();
+  has_double_value_ = false;
+  if (value_case_ == kDoubleValue) {
+    value_case_ = VALUE_NOT_SET;
+  }
+}
+void TypedValueProto::set_double_value(double new_double_value) {
+  clear_value();
+  value_case_ = kDoubleValue;
+  double_value_ = new_double_value;
+  has_double_value_ = true;
+}
+double* TypedValueProto::mutable_double_value() {
+  clear_value();
+  value_case_ = kDoubleValue;
+  has_double_value_ = true;
+  return &double_value_;
 }
 
-void CheckResultProto::InternalSwap(CheckResultProto* other) {
-  using std::swap;
-  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
-  swap(_has_bits_[0], other->_has_bits_[0]);
-  source_check_class_.Swap(&other->source_check_class_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
-  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
-      PROTOBUF_FIELD_OFFSET(CheckResultProto, result_type_)
-      + sizeof(CheckResultProto::result_type_)
-      - PROTOBUF_FIELD_OFFSET(CheckResultProto, metadata_)>(
-          reinterpret_cast<char*>(&metadata_),
-          reinterpret_cast<char*>(&other->metadata_));
+std::string TypedValueProto::string_value() const {
+  return string_value_;
+}
+bool TypedValueProto::has_string_value() const {
+  return has_string_value_;
+}
+void TypedValueProto::clear_string_value() {
+  string_value_ = std::string();
+  has_string_value_ = false;
+  if (value_case_ == kStringValue) {
+    value_case_ = VALUE_NOT_SET;
+  }
+}
+void TypedValueProto::set_string_value(std::string new_string_value) {
+  clear_value();
+  value_case_ = kStringValue;
+  string_value_ = new_string_value;
+  has_string_value_ = true;
+}
+std::string* TypedValueProto::mutable_string_value() {
+  clear_value();
+  value_case_ = kStringValue;
+  has_string_value_ = true;
+  return &string_value_;
 }
 
-::PROTOBUF_NAMESPACE_ID::Metadata CheckResultProto::GetMetadata() const {
-  return GetMetadataStatic();
+const StringListProto& TypedValueProto::string_list_value() const {
+  return string_list_value_;
+}
+bool TypedValueProto::has_string_list_value() const {
+  return has_string_list_value_;
+}
+void TypedValueProto::clear_string_list_value() {
+  string_list_value_ = StringListProto();
+  has_string_list_value_ = false;
+  if (value_case_ == kStringListValue) {
+    value_case_ = VALUE_NOT_SET;
+  }
+}
+void TypedValueProto::set_string_list_value(const StringListProto& new_string_list_value) {
+  clear_value();
+  value_case_ = kStringListValue;
+  string_list_value_ = new_string_list_value;
+  has_string_list_value_ = true;
+}
+StringListProto* TypedValueProto::mutable_string_list_value() {
+  clear_value();
+  value_case_ = kStringListValue;
+  has_string_list_value_ = true;
+  return &string_list_value_;
+}
+
+const IntListProto& TypedValueProto::int_list_value() const {
+  return int_list_value_;
+}
+bool TypedValueProto::has_int_list_value() const {
+  return has_int_list_value_;
+}
+void TypedValueProto::clear_int_list_value() {
+  int_list_value_ = IntListProto();
+  has_int_list_value_ = false;
+  if (value_case_ == kIntListValue) {
+    value_case_ = VALUE_NOT_SET;
+  }
+}
+void TypedValueProto::set_int_list_value(const IntListProto& new_int_list_value) {
+  clear_value();
+  value_case_ = kIntListValue;
+  int_list_value_ = new_int_list_value;
+  has_int_list_value_ = true;
+}
+IntListProto* TypedValueProto::mutable_int_list_value() {
+  clear_value();
+  value_case_ = kIntListValue;
+  has_int_list_value_ = true;
+  return &int_list_value_;
 }
 
 
-// ===================================================================
 
-void AccessibilityEvaluation::InitAsDefaultInstance() {
-  ::gtxilib::oopclasses::protos::_AccessibilityEvaluation_default_instance_._instance.get_mutable()->hierarchy_ = const_cast< ::gtxilib::oopclasses::protos::AccessibilityHierarchy*>(
-      ::gtxilib::oopclasses::protos::AccessibilityHierarchy::internal_default_instance());
+std::string MetadataProto_MetadataMapEntry::key() const {
+  return key_;
 }
-class AccessibilityEvaluation::_Internal {
- public:
-  static const ::gtxilib::oopclasses::protos::AccessibilityHierarchy& hierarchy(const AccessibilityEvaluation* msg);
-};
+bool MetadataProto_MetadataMapEntry::has_key() const {
+  return has_key_;
+}
+void MetadataProto_MetadataMapEntry::clear_key() {
+  key_ = std::string();
+  has_key_ = false;
+}
+void MetadataProto_MetadataMapEntry::set_key(std::string new_key) {
+  key_ = new_key;
+  has_key_ = true;
+}
+std::string* MetadataProto_MetadataMapEntry::mutable_key() {
+  has_key_ = true;
+  return &key_;
+}
 
-const ::gtxilib::oopclasses::protos::AccessibilityHierarchy&
-AccessibilityEvaluation::_Internal::hierarchy(const AccessibilityEvaluation* msg) {
-  return *msg->hierarchy_;
+const TypedValueProto& MetadataProto_MetadataMapEntry::value() const {
+  return value_;
+}
+bool MetadataProto_MetadataMapEntry::has_value() const {
+  return has_value_;
+}
+void MetadataProto_MetadataMapEntry::clear_value() {
+  value_ = TypedValueProto();
+  has_value_ = false;
+}
+void MetadataProto_MetadataMapEntry::set_value(const TypedValueProto& new_value) {
+  value_ = new_value;
+  has_value_ = true;
+}
+TypedValueProto* MetadataProto_MetadataMapEntry::mutable_value() {
+  has_value_ = true;
+  return &value_;
+}
+
+
+const std::map<std::string, TypedValueProto>& MetadataProto::metadata_map() const {
+  return metadata_map_;
+}
+bool MetadataProto::has_metadata_map() const {
+  return has_metadata_map_;
+}
+void MetadataProto::clear_metadata_map() {
+  metadata_map_ = std::map<std::string, TypedValueProto>();
+  has_metadata_map_ = false;
+}
+void MetadataProto::set_metadata_map(const std::map<std::string, TypedValueProto>& new_metadata_map) {
+  metadata_map_ = new_metadata_map;
+  has_metadata_map_ = true;
+}
+std::map<std::string, TypedValueProto>* MetadataProto::mutable_metadata_map() {
+  has_metadata_map_ = true;
+  return &metadata_map_;
+}
+
+
+std::string CheckResultProto::source_check_class() const {
+  return source_check_class_;
+}
+bool CheckResultProto::has_source_check_class() const {
+  return has_source_check_class_;
+}
+void CheckResultProto::clear_source_check_class() {
+  source_check_class_ = std::string();
+  has_source_check_class_ = false;
+}
+void CheckResultProto::set_source_check_class(std::string new_source_check_class) {
+  source_check_class_ = new_source_check_class;
+  has_source_check_class_ = true;
+}
+std::string* CheckResultProto::mutable_source_check_class() {
+  has_source_check_class_ = true;
+  return &source_check_class_;
+}
+
+int32_t CheckResultProto::result_id() const {
+  return result_id_;
+}
+bool CheckResultProto::has_result_id() const {
+  return has_result_id_;
+}
+void CheckResultProto::clear_result_id() {
+  result_id_ = int32_t();
+  has_result_id_ = false;
+}
+void CheckResultProto::set_result_id(int32_t new_result_id) {
+  result_id_ = new_result_id;
+  has_result_id_ = true;
+}
+int32_t* CheckResultProto::mutable_result_id() {
+  has_result_id_ = true;
+  return &result_id_;
+}
+
+int64_t CheckResultProto::hierarchy_source_id() const {
+  return hierarchy_source_id_;
+}
+bool CheckResultProto::has_hierarchy_source_id() const {
+  return has_hierarchy_source_id_;
+}
+void CheckResultProto::clear_hierarchy_source_id() {
+  hierarchy_source_id_ = int64_t();
+  has_hierarchy_source_id_ = false;
+}
+void CheckResultProto::set_hierarchy_source_id(int64_t new_hierarchy_source_id) {
+  hierarchy_source_id_ = new_hierarchy_source_id;
+  has_hierarchy_source_id_ = true;
+}
+int64_t* CheckResultProto::mutable_hierarchy_source_id() {
+  has_hierarchy_source_id_ = true;
+  return &hierarchy_source_id_;
+}
+
+ResultType CheckResultProto::result_type() const {
+  return result_type_;
+}
+bool CheckResultProto::has_result_type() const {
+  return has_result_type_;
+}
+void CheckResultProto::clear_result_type() {
+  result_type_ = ResultType();
+  has_result_type_ = false;
+}
+void CheckResultProto::set_result_type(ResultType new_result_type) {
+  result_type_ = new_result_type;
+  has_result_type_ = true;
+}
+ResultType* CheckResultProto::mutable_result_type() {
+  has_result_type_ = true;
+  return &result_type_;
+}
+
+const MetadataProto& CheckResultProto::metadata() const {
+  return metadata_;
+}
+bool CheckResultProto::has_metadata() const {
+  return has_metadata_;
+}
+void CheckResultProto::clear_metadata() {
+  metadata_ = MetadataProto();
+  has_metadata_ = false;
+}
+void CheckResultProto::set_metadata(const MetadataProto& new_metadata) {
+  metadata_ = new_metadata;
+  has_metadata_ = true;
+}
+MetadataProto* CheckResultProto::mutable_metadata() {
+  has_metadata_ = true;
+  return &metadata_;
+}
+
+
+const AccessibilityHierarchy& AccessibilityEvaluation::hierarchy() const {
+  return hierarchy_;
+}
+bool AccessibilityEvaluation::has_hierarchy() const {
+  return has_hierarchy_;
 }
 void AccessibilityEvaluation::clear_hierarchy() {
-  if (GetArena() == nullptr && hierarchy_ != nullptr) {
-    delete hierarchy_;
-  }
-  hierarchy_ = nullptr;
+  hierarchy_ = AccessibilityHierarchy();
+  has_hierarchy_ = false;
 }
-AccessibilityEvaluation::AccessibilityEvaluation(::PROTOBUF_NAMESPACE_ID::Arena* arena)
-  : ::PROTOBUF_NAMESPACE_ID::Message(arena),
-  results_(arena) {
-  SharedCtor();
-  RegisterArenaDtor(arena);
-  // @@protoc_insertion_point(arena_constructor:gtxilib.oopclasses.protos.AccessibilityEvaluation)
+void AccessibilityEvaluation::set_hierarchy(const AccessibilityHierarchy& new_hierarchy) {
+  hierarchy_ = new_hierarchy;
+  has_hierarchy_ = true;
 }
-AccessibilityEvaluation::AccessibilityEvaluation(const AccessibilityEvaluation& from)
-  : ::PROTOBUF_NAMESPACE_ID::Message(),
-      results_(from.results_) {
-  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
-  if (from._internal_has_hierarchy()) {
-    hierarchy_ = new ::gtxilib::oopclasses::protos::AccessibilityHierarchy(*from.hierarchy_);
-  } else {
-    hierarchy_ = nullptr;
-  }
-  // @@protoc_insertion_point(copy_constructor:gtxilib.oopclasses.protos.AccessibilityEvaluation)
+AccessibilityHierarchy* AccessibilityEvaluation::mutable_hierarchy() {
+  has_hierarchy_ = true;
+  return &hierarchy_;
 }
 
-void AccessibilityEvaluation::SharedCtor() {
-  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_AccessibilityEvaluation_result_2eproto.base);
-  hierarchy_ = nullptr;
+const CheckResultProto& AccessibilityEvaluation::results(int index) const {
+  return results_[index];
+}
+const std::vector<CheckResultProto>& AccessibilityEvaluation::results() const {
+  return results_;
+}
+bool AccessibilityEvaluation::has_results() const {
+  return has_results_;
+}
+void AccessibilityEvaluation::clear_results() {
+  results_.clear();
+  has_results_ = false;
+}
+void AccessibilityEvaluation::set_results(int index, const CheckResultProto& new_results) {
+  results_[index] = new_results;
+  has_results_ = true;
+}
+CheckResultProto* AccessibilityEvaluation::mutable_results(int index) {
+  has_results_ = true;
+  return &results_[index];
+}
+CheckResultProto* AccessibilityEvaluation::add_results() {
+  results_.emplace_back();
+  has_results_ = true;
+  return &results_.back();
+}
+int AccessibilityEvaluation::results_size() const {
+  return results_.size();
 }
 
-AccessibilityEvaluation::~AccessibilityEvaluation() {
-  // @@protoc_insertion_point(destructor:gtxilib.oopclasses.protos.AccessibilityEvaluation)
-  SharedDtor();
-  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
-}
-
-void AccessibilityEvaluation::SharedDtor() {
-  GOOGLE_DCHECK(GetArena() == nullptr);
-  if (this != internal_default_instance()) delete hierarchy_;
-}
-
-void AccessibilityEvaluation::ArenaDtor(void* object) {
-  AccessibilityEvaluation* _this = reinterpret_cast< AccessibilityEvaluation* >(object);
-  (void)_this;
-}
-void AccessibilityEvaluation::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
-}
-void AccessibilityEvaluation::SetCachedSize(int size) const {
-  _cached_size_.Set(size);
-}
-const AccessibilityEvaluation& AccessibilityEvaluation::default_instance() {
-  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_AccessibilityEvaluation_result_2eproto.base);
-  return *internal_default_instance();
-}
-
-
-void AccessibilityEvaluation::Clear() {
-// @@protoc_insertion_point(message_clear_start:gtxilib.oopclasses.protos.AccessibilityEvaluation)
-  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
-  // Prevent compiler warnings about cached_has_bits being unused
-  (void) cached_has_bits;
-
-  results_.Clear();
-  if (GetArena() == nullptr && hierarchy_ != nullptr) {
-    delete hierarchy_;
-  }
-  hierarchy_ = nullptr;
-  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
-}
-
-const char* AccessibilityEvaluation::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
-#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
-  ::PROTOBUF_NAMESPACE_ID::Arena* arena = GetArena(); (void)arena;
-  while (!ctx->Done(&ptr)) {
-    ::PROTOBUF_NAMESPACE_ID::uint32 tag;
-    ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
-    CHK_(ptr);
-    switch (tag >> 3) {
-      // .gtxilib.oopclasses.protos.AccessibilityHierarchy hierarchy = 1;
-      case 1:
-        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
-          ptr = ctx->ParseMessage(_internal_mutable_hierarchy(), ptr);
-          CHK_(ptr);
-        } else goto handle_unusual;
-        continue;
-      // repeated .gtxilib.oopclasses.protos.CheckResultProto results = 2;
-      case 2:
-        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) {
-          ptr -= 1;
-          do {
-            ptr += 1;
-            ptr = ctx->ParseMessage(_internal_add_results(), ptr);
-            CHK_(ptr);
-            if (!ctx->DataAvailable(ptr)) break;
-          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<18>(ptr));
-        } else goto handle_unusual;
-        continue;
-      default: {
-      handle_unusual:
-        if ((tag & 7) == 4 || tag == 0) {
-          ctx->SetLastTag(tag);
-          goto success;
-        }
-        ptr = UnknownFieldParse(tag,
-            _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
-            ptr, ctx);
-        CHK_(ptr != nullptr);
-        continue;
-      }
-    }  // switch
-  }  // while
-success:
-  return ptr;
-failure:
-  ptr = nullptr;
-  goto success;
-#undef CHK_
-}
-
-::PROTOBUF_NAMESPACE_ID::uint8* AccessibilityEvaluation::_InternalSerialize(
-    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
-  // @@protoc_insertion_point(serialize_to_array_start:gtxilib.oopclasses.protos.AccessibilityEvaluation)
-  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
-  (void) cached_has_bits;
-
-  // .gtxilib.oopclasses.protos.AccessibilityHierarchy hierarchy = 1;
-  if (this->has_hierarchy()) {
-    target = stream->EnsureSpace(target);
-    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
-      InternalWriteMessage(
-        1, _Internal::hierarchy(this), target, stream);
-  }
-
-  // repeated .gtxilib.oopclasses.protos.CheckResultProto results = 2;
-  for (unsigned int i = 0,
-      n = static_cast<unsigned int>(this->_internal_results_size()); i < n; i++) {
-    target = stream->EnsureSpace(target);
-    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
-      InternalWriteMessage(2, this->_internal_results(i), target, stream);
-  }
-
-  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
-    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
-        _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
-  }
-  // @@protoc_insertion_point(serialize_to_array_end:gtxilib.oopclasses.protos.AccessibilityEvaluation)
-  return target;
-}
-
-size_t AccessibilityEvaluation::ByteSizeLong() const {
-// @@protoc_insertion_point(message_byte_size_start:gtxilib.oopclasses.protos.AccessibilityEvaluation)
-  size_t total_size = 0;
-
-  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
-  // Prevent compiler warnings about cached_has_bits being unused
-  (void) cached_has_bits;
-
-  // repeated .gtxilib.oopclasses.protos.CheckResultProto results = 2;
-  total_size += 1UL * this->_internal_results_size();
-  for (const auto& msg : this->results_) {
-    total_size +=
-      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
-  }
-
-  // .gtxilib.oopclasses.protos.AccessibilityHierarchy hierarchy = 1;
-  if (this->has_hierarchy()) {
-    total_size += 1 +
-      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
-        *hierarchy_);
-  }
-
-  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
-    return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize(
-        _internal_metadata_, total_size, &_cached_size_);
-  }
-  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
-  SetCachedSize(cached_size);
-  return total_size;
-}
-
-void AccessibilityEvaluation::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
-// @@protoc_insertion_point(generalized_merge_from_start:gtxilib.oopclasses.protos.AccessibilityEvaluation)
-  GOOGLE_DCHECK_NE(&from, this);
-  const AccessibilityEvaluation* source =
-      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<AccessibilityEvaluation>(
-          &from);
-  if (source == nullptr) {
-  // @@protoc_insertion_point(generalized_merge_from_cast_fail:gtxilib.oopclasses.protos.AccessibilityEvaluation)
-    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
-  } else {
-  // @@protoc_insertion_point(generalized_merge_from_cast_success:gtxilib.oopclasses.protos.AccessibilityEvaluation)
-    MergeFrom(*source);
-  }
-}
-
-void AccessibilityEvaluation::MergeFrom(const AccessibilityEvaluation& from) {
-// @@protoc_insertion_point(class_specific_merge_from_start:gtxilib.oopclasses.protos.AccessibilityEvaluation)
-  GOOGLE_DCHECK_NE(&from, this);
-  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
-  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
-  (void) cached_has_bits;
-
-  results_.MergeFrom(from.results_);
-  if (from.has_hierarchy()) {
-    _internal_mutable_hierarchy()->::gtxilib::oopclasses::protos::AccessibilityHierarchy::MergeFrom(from._internal_hierarchy());
-  }
-}
-
-void AccessibilityEvaluation::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
-// @@protoc_insertion_point(generalized_copy_from_start:gtxilib.oopclasses.protos.AccessibilityEvaluation)
-  if (&from == this) return;
-  Clear();
-  MergeFrom(from);
-}
-
-void AccessibilityEvaluation::CopyFrom(const AccessibilityEvaluation& from) {
-// @@protoc_insertion_point(class_specific_copy_from_start:gtxilib.oopclasses.protos.AccessibilityEvaluation)
-  if (&from == this) return;
-  Clear();
-  MergeFrom(from);
-}
-
-bool AccessibilityEvaluation::IsInitialized() const {
-  return true;
-}
-
-void AccessibilityEvaluation::InternalSwap(AccessibilityEvaluation* other) {
-  using std::swap;
-  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
-  results_.InternalSwap(&other->results_);
-  swap(hierarchy_, other->hierarchy_);
-}
-
-::PROTOBUF_NAMESPACE_ID::Metadata AccessibilityEvaluation::GetMetadata() const {
-  return GetMetadataStatic();
-}
-
-
-// @@protoc_insertion_point(namespace_scope)
-}  // namespace protos
-}  // namespace oopclasses
-}  // namespace gtxilib
-PROTOBUF_NAMESPACE_OPEN
-template<> PROTOBUF_NOINLINE ::gtxilib::oopclasses::protos::StringListProto* Arena::CreateMaybeMessage< ::gtxilib::oopclasses::protos::StringListProto >(Arena* arena) {
-  return Arena::CreateMessageInternal< ::gtxilib::oopclasses::protos::StringListProto >(arena);
-}
-template<> PROTOBUF_NOINLINE ::gtxilib::oopclasses::protos::IntListProto* Arena::CreateMaybeMessage< ::gtxilib::oopclasses::protos::IntListProto >(Arena* arena) {
-  return Arena::CreateMessageInternal< ::gtxilib::oopclasses::protos::IntListProto >(arena);
-}
-template<> PROTOBUF_NOINLINE ::gtxilib::oopclasses::protos::TypedValueProto* Arena::CreateMaybeMessage< ::gtxilib::oopclasses::protos::TypedValueProto >(Arena* arena) {
-  return Arena::CreateMessageInternal< ::gtxilib::oopclasses::protos::TypedValueProto >(arena);
-}
-template<> PROTOBUF_NOINLINE ::gtxilib::oopclasses::protos::MetadataProto_MetadataMapEntry_DoNotUse* Arena::CreateMaybeMessage< ::gtxilib::oopclasses::protos::MetadataProto_MetadataMapEntry_DoNotUse >(Arena* arena) {
-  return Arena::CreateMessageInternal< ::gtxilib::oopclasses::protos::MetadataProto_MetadataMapEntry_DoNotUse >(arena);
-}
-template<> PROTOBUF_NOINLINE ::gtxilib::oopclasses::protos::MetadataProto* Arena::CreateMaybeMessage< ::gtxilib::oopclasses::protos::MetadataProto >(Arena* arena) {
-  return Arena::CreateMessageInternal< ::gtxilib::oopclasses::protos::MetadataProto >(arena);
-}
-template<> PROTOBUF_NOINLINE ::gtxilib::oopclasses::protos::CheckResultProto* Arena::CreateMaybeMessage< ::gtxilib::oopclasses::protos::CheckResultProto >(Arena* arena) {
-  return Arena::CreateMessageInternal< ::gtxilib::oopclasses::protos::CheckResultProto >(arena);
-}
-template<> PROTOBUF_NOINLINE ::gtxilib::oopclasses::protos::AccessibilityEvaluation* Arena::CreateMaybeMessage< ::gtxilib::oopclasses::protos::AccessibilityEvaluation >(Arena* arena) {
-  return Arena::CreateMessageInternal< ::gtxilib::oopclasses::protos::AccessibilityEvaluation >(arena);
-}
-PROTOBUF_NAMESPACE_CLOSE
-
-// @@protoc_insertion_point(global_scope)
-#include <google/protobuf/port_undef.inc>
+}  // GTXiLib
+}  // OOPClasses
+}  // Protos
diff --git a/OOPClasses/Protos/result.pb.h b/OOPClasses/Protos/result.pb.h
old mode 100644
new mode 100755
index df9aa8c..d14b7ca
--- a/OOPClasses/Protos/result.pb.h
+++ b/OOPClasses/Protos/result.pb.h
@@ -1,104 +1,59 @@
-// Generated by the protocol buffer compiler.  DO NOT EDIT!
-// source: result.proto
+#ifndef THIRD_PARTY_OBJECTIVE_C_GTXILIB_OOPCLASSES_PROTOS_RESULT_PB_H
+#define THIRD_PARTY_OBJECTIVE_C_GTXILIB_OOPCLASSES_PROTOS_RESULT_PB_H
 
-#ifndef GOOGLE_PROTOBUF_INCLUDED_result_2eproto
-#define GOOGLE_PROTOBUF_INCLUDED_result_2eproto
-
-#include <limits>
+#include <map>
 #include <string>
+#include <stdlib.h>
+#include <vector>
 
-#include <google/protobuf/port_def.inc>
-#if PROTOBUF_VERSION < 3013000
-#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 3013000 < 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/port_undef.inc>
-#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/inlined_string_field.h>
-#include <google/protobuf/metadata_lite.h>
-#include <google/protobuf/generated_message_reflection.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/map.h>  // IWYU pragma: export
-#include <google/protobuf/map_entry.h>
-#include <google/protobuf/map_field_inl.h>
-#include <google/protobuf/generated_enum_reflection.h>
-#include <google/protobuf/unknown_field_set.h>
 #include "enums.pb.h"
 #include "gtx.pb.h"
-// @@protoc_insertion_point(includes)
-#include <google/protobuf/port_def.inc>
-#define PROTOBUF_INTERNAL_EXPORT_result_2eproto
-PROTOBUF_NAMESPACE_OPEN
-namespace internal {
-class AnyMetadata;
-}  // namespace internal
-PROTOBUF_NAMESPACE_CLOSE
 
-// Internal implementation detail -- do not use these members.
-struct TableStruct_result_2eproto {
-  static const ::PROTOBUF_NAMESPACE_ID::internal::ParseTableField entries[]
-    PROTOBUF_SECTION_VARIABLE(protodesc_cold);
-  static const ::PROTOBUF_NAMESPACE_ID::internal::AuxiliaryParseTableField aux[]
-    PROTOBUF_SECTION_VARIABLE(protodesc_cold);
-  static const ::PROTOBUF_NAMESPACE_ID::internal::ParseTable schema[7]
-    PROTOBUF_SECTION_VARIABLE(protodesc_cold);
-  static const ::PROTOBUF_NAMESPACE_ID::internal::FieldMetadata field_metadata[];
-  static const ::PROTOBUF_NAMESPACE_ID::internal::SerializationTable serialization_table[];
-  static const ::PROTOBUF_NAMESPACE_ID::uint32 offsets[];
+namespace gtxilib {
+namespace oopclasses {
+namespace protos {
+
+
+
+
+class StringListProto {
+
+public:
+
+
+  std::string values(int index) const;
+  const std::vector<std::string>& values() const;
+  bool has_values() const;
+  void clear_values();
+  void set_values(int index, std::string new_values);
+  std::string* mutable_values(int index);
+  void add_values(std::string new_values);
+  int values_size() const;
+
+private:
+  std::vector<std::string> values_ = std::vector<std::string>();
+  bool has_values_ = false;
 };
-extern const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable descriptor_table_result_2eproto;
-namespace gtxilib {
-namespace oopclasses {
-namespace protos {
-class AccessibilityEvaluation;
-class AccessibilityEvaluationDefaultTypeInternal;
-extern AccessibilityEvaluationDefaultTypeInternal _AccessibilityEvaluation_default_instance_;
-class CheckResultProto;
-class CheckResultProtoDefaultTypeInternal;
-extern CheckResultProtoDefaultTypeInternal _CheckResultProto_default_instance_;
-class IntListProto;
-class IntListProtoDefaultTypeInternal;
-extern IntListProtoDefaultTypeInternal _IntListProto_default_instance_;
-class MetadataProto;
-class MetadataProtoDefaultTypeInternal;
-extern MetadataProtoDefaultTypeInternal _MetadataProto_default_instance_;
-class MetadataProto_MetadataMapEntry_DoNotUse;
-class MetadataProto_MetadataMapEntry_DoNotUseDefaultTypeInternal;
-extern MetadataProto_MetadataMapEntry_DoNotUseDefaultTypeInternal _MetadataProto_MetadataMapEntry_DoNotUse_default_instance_;
-class StringListProto;
-class StringListProtoDefaultTypeInternal;
-extern StringListProtoDefaultTypeInternal _StringListProto_default_instance_;
-class TypedValueProto;
-class TypedValueProtoDefaultTypeInternal;
-extern TypedValueProtoDefaultTypeInternal _TypedValueProto_default_instance_;
-}  // namespace protos
-}  // namespace oopclasses
-}  // namespace gtxilib
-PROTOBUF_NAMESPACE_OPEN
-template<> ::gtxilib::oopclasses::protos::AccessibilityEvaluation* Arena::CreateMaybeMessage<::gtxilib::oopclasses::protos::AccessibilityEvaluation>(Arena*);
-template<> ::gtxilib::oopclasses::protos::CheckResultProto* Arena::CreateMaybeMessage<::gtxilib::oopclasses::protos::CheckResultProto>(Arena*);
-template<> ::gtxilib::oopclasses::protos::IntListProto* Arena::CreateMaybeMessage<::gtxilib::oopclasses::protos::IntListProto>(Arena*);
-template<> ::gtxilib::oopclasses::protos::MetadataProto* Arena::CreateMaybeMessage<::gtxilib::oopclasses::protos::MetadataProto>(Arena*);
-template<> ::gtxilib::oopclasses::protos::MetadataProto_MetadataMapEntry_DoNotUse* Arena::CreateMaybeMessage<::gtxilib::oopclasses::protos::MetadataProto_MetadataMapEntry_DoNotUse>(Arena*);
-template<> ::gtxilib::oopclasses::protos::StringListProto* Arena::CreateMaybeMessage<::gtxilib::oopclasses::protos::StringListProto>(Arena*);
-template<> ::gtxilib::oopclasses::protos::TypedValueProto* Arena::CreateMaybeMessage<::gtxilib::oopclasses::protos::TypedValueProto>(Arena*);
-PROTOBUF_NAMESPACE_CLOSE
-namespace gtxilib {
-namespace oopclasses {
-namespace protos {
+
+
+class IntListProto {
+
+public:
+
+
+  int32_t values(int index) const;
+  const std::vector<int32_t>& values() const;
+  bool has_values() const;
+  void clear_values();
+  void set_values(int index, int32_t new_values);
+  int32_t* mutable_values(int index);
+  void add_values(int32_t new_values);
+  int values_size() const;
+
+private:
+  std::vector<int32_t> values_ = std::vector<int32_t>();
+  bool has_values_ = false;
+};
 
 enum TypedValueProto_TypeProto : int {
   TypedValueProto_TypeProto_UNKNOWN = 0,
@@ -113,369 +68,25 @@
   TypedValueProto_TypeProto_STRING = 9,
   TypedValueProto_TypeProto_STRING_LIST = 10,
   TypedValueProto_TypeProto_INT_LIST = 11,
-  TypedValueProto_TypeProto_TypedValueProto_TypeProto_INT_MIN_SENTINEL_DO_NOT_USE_ = std::numeric_limits<::PROTOBUF_NAMESPACE_ID::int32>::min(),
-  TypedValueProto_TypeProto_TypedValueProto_TypeProto_INT_MAX_SENTINEL_DO_NOT_USE_ = std::numeric_limits<::PROTOBUF_NAMESPACE_ID::int32>::max()
 };
-bool TypedValueProto_TypeProto_IsValid(int value);
-constexpr TypedValueProto_TypeProto TypedValueProto_TypeProto_TypeProto_MIN = TypedValueProto_TypeProto_UNKNOWN;
-constexpr TypedValueProto_TypeProto TypedValueProto_TypeProto_TypeProto_MAX = TypedValueProto_TypeProto_INT_LIST;
-constexpr int TypedValueProto_TypeProto_TypeProto_ARRAYSIZE = TypedValueProto_TypeProto_TypeProto_MAX + 1;
 
-const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* TypedValueProto_TypeProto_descriptor();
-template<typename T>
-inline const std::string& TypedValueProto_TypeProto_Name(T enum_t_value) {
-  static_assert(::std::is_same<T, TypedValueProto_TypeProto>::value ||
-    ::std::is_integral<T>::value,
-    "Incorrect type passed to function TypedValueProto_TypeProto_Name.");
-  return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum(
-    TypedValueProto_TypeProto_descriptor(), enum_t_value);
-}
-inline bool TypedValueProto_TypeProto_Parse(
-    ::PROTOBUF_NAMESPACE_ID::ConstStringParam name, TypedValueProto_TypeProto* value) {
-  return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum<TypedValueProto_TypeProto>(
-    TypedValueProto_TypeProto_descriptor(), name, value);
-}
-// ===================================================================
+class TypedValueProto {
 
-class StringListProto PROTOBUF_FINAL :
-    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:gtxilib.oopclasses.protos.StringListProto) */ {
- public:
-  inline StringListProto() : StringListProto(nullptr) {}
-  virtual ~StringListProto();
+public:
 
-  StringListProto(const StringListProto& from);
-  StringListProto(StringListProto&& from) noexcept
-    : StringListProto() {
-    *this = ::std::move(from);
-  }
-
-  inline StringListProto& operator=(const StringListProto& from) {
-    CopyFrom(from);
-    return *this;
-  }
-  inline StringListProto& operator=(StringListProto&& from) noexcept {
-    if (GetArena() == from.GetArena()) {
-      if (this != &from) InternalSwap(&from);
-    } else {
-      CopyFrom(from);
-    }
-    return *this;
-  }
-
-  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
-    return GetDescriptor();
-  }
-  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
-    return GetMetadataStatic().descriptor;
-  }
-  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
-    return GetMetadataStatic().reflection;
-  }
-  static const StringListProto& default_instance();
-
-  static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
-  static inline const StringListProto* internal_default_instance() {
-    return reinterpret_cast<const StringListProto*>(
-               &_StringListProto_default_instance_);
-  }
-  static constexpr int kIndexInFileMessages =
-    0;
-
-  friend void swap(StringListProto& a, StringListProto& b) {
-    a.Swap(&b);
-  }
-  inline void Swap(StringListProto* other) {
-    if (other == this) return;
-    if (GetArena() == other->GetArena()) {
-      InternalSwap(other);
-    } else {
-      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
-    }
-  }
-  void UnsafeArenaSwap(StringListProto* other) {
-    if (other == this) return;
-    GOOGLE_DCHECK(GetArena() == other->GetArena());
-    InternalSwap(other);
-  }
-
-  // implements Message ----------------------------------------------
-
-  inline StringListProto* New() const final {
-    return CreateMaybeMessage<StringListProto>(nullptr);
-  }
-
-  StringListProto* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
-    return CreateMaybeMessage<StringListProto>(arena);
-  }
-  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
-  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
-  void CopyFrom(const StringListProto& from);
-  void MergeFrom(const StringListProto& from);
-  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
-  bool IsInitialized() const final;
-
-  size_t ByteSizeLong() const final;
-  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
-  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
-      ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
-  int GetCachedSize() const final { return _cached_size_.Get(); }
-
-  private:
-  inline void SharedCtor();
-  inline void SharedDtor();
-  void SetCachedSize(int size) const final;
-  void InternalSwap(StringListProto* other);
-  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
-  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
-    return "gtxilib.oopclasses.protos.StringListProto";
-  }
-  protected:
-  explicit StringListProto(::PROTOBUF_NAMESPACE_ID::Arena* arena);
-  private:
-  static void ArenaDtor(void* object);
-  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
-  public:
-
-  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
-  private:
-  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
-    ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_result_2eproto);
-    return ::descriptor_table_result_2eproto.file_level_metadata[kIndexInFileMessages];
-  }
-
-  public:
-
-  // nested types ----------------------------------------------------
-
-  // accessors -------------------------------------------------------
-
-  enum : int {
-    kValuesFieldNumber = 1,
-  };
-  // repeated string values = 1;
-  int values_size() const;
-  private:
-  int _internal_values_size() const;
-  public:
-  void clear_values();
-  const std::string& values(int index) const;
-  std::string* mutable_values(int index);
-  void set_values(int index, const std::string& value);
-  void set_values(int index, std::string&& value);
-  void set_values(int index, const char* value);
-  void set_values(int index, const char* value, size_t size);
-  std::string* add_values();
-  void add_values(const std::string& value);
-  void add_values(std::string&& value);
-  void add_values(const char* value);
-  void add_values(const char* value, size_t size);
-  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>& values() const;
-  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>* mutable_values();
-  private:
-  const std::string& _internal_values(int index) const;
-  std::string* _internal_add_values();
-  public:
-
-  // @@protoc_insertion_point(class_scope:gtxilib.oopclasses.protos.StringListProto)
- private:
-  class _Internal;
-
-  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
-  typedef void InternalArenaConstructable_;
-  typedef void DestructorSkippable_;
-  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string> values_;
-  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
-  friend struct ::TableStruct_result_2eproto;
-};
-// -------------------------------------------------------------------
-
-class IntListProto PROTOBUF_FINAL :
-    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:gtxilib.oopclasses.protos.IntListProto) */ {
- public:
-  inline IntListProto() : IntListProto(nullptr) {}
-  virtual ~IntListProto();
-
-  IntListProto(const IntListProto& from);
-  IntListProto(IntListProto&& from) noexcept
-    : IntListProto() {
-    *this = ::std::move(from);
-  }
-
-  inline IntListProto& operator=(const IntListProto& from) {
-    CopyFrom(from);
-    return *this;
-  }
-  inline IntListProto& operator=(IntListProto&& from) noexcept {
-    if (GetArena() == from.GetArena()) {
-      if (this != &from) InternalSwap(&from);
-    } else {
-      CopyFrom(from);
-    }
-    return *this;
-  }
-
-  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
-    return GetDescriptor();
-  }
-  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
-    return GetMetadataStatic().descriptor;
-  }
-  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
-    return GetMetadataStatic().reflection;
-  }
-  static const IntListProto& default_instance();
-
-  static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
-  static inline const IntListProto* internal_default_instance() {
-    return reinterpret_cast<const IntListProto*>(
-               &_IntListProto_default_instance_);
-  }
-  static constexpr int kIndexInFileMessages =
-    1;
-
-  friend void swap(IntListProto& a, IntListProto& b) {
-    a.Swap(&b);
-  }
-  inline void Swap(IntListProto* other) {
-    if (other == this) return;
-    if (GetArena() == other->GetArena()) {
-      InternalSwap(other);
-    } else {
-      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
-    }
-  }
-  void UnsafeArenaSwap(IntListProto* other) {
-    if (other == this) return;
-    GOOGLE_DCHECK(GetArena() == other->GetArena());
-    InternalSwap(other);
-  }
-
-  // implements Message ----------------------------------------------
-
-  inline IntListProto* New() const final {
-    return CreateMaybeMessage<IntListProto>(nullptr);
-  }
-
-  IntListProto* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
-    return CreateMaybeMessage<IntListProto>(arena);
-  }
-  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
-  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
-  void CopyFrom(const IntListProto& from);
-  void MergeFrom(const IntListProto& from);
-  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
-  bool IsInitialized() const final;
-
-  size_t ByteSizeLong() const final;
-  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
-  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
-      ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
-  int GetCachedSize() const final { return _cached_size_.Get(); }
-
-  private:
-  inline void SharedCtor();
-  inline void SharedDtor();
-  void SetCachedSize(int size) const final;
-  void InternalSwap(IntListProto* other);
-  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
-  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
-    return "gtxilib.oopclasses.protos.IntListProto";
-  }
-  protected:
-  explicit IntListProto(::PROTOBUF_NAMESPACE_ID::Arena* arena);
-  private:
-  static void ArenaDtor(void* object);
-  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
-  public:
-
-  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
-  private:
-  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
-    ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_result_2eproto);
-    return ::descriptor_table_result_2eproto.file_level_metadata[kIndexInFileMessages];
-  }
-
-  public:
-
-  // nested types ----------------------------------------------------
-
-  // accessors -------------------------------------------------------
-
-  enum : int {
-    kValuesFieldNumber = 1,
-  };
-  // repeated int32 values = 1;
-  int values_size() const;
-  private:
-  int _internal_values_size() const;
-  public:
-  void clear_values();
-  private:
-  ::PROTOBUF_NAMESPACE_ID::int32 _internal_values(int index) const;
-  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
-      _internal_values() const;
-  void _internal_add_values(::PROTOBUF_NAMESPACE_ID::int32 value);
-  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
-      _internal_mutable_values();
-  public:
-  ::PROTOBUF_NAMESPACE_ID::int32 values(int index) const;
-  void set_values(int index, ::PROTOBUF_NAMESPACE_ID::int32 value);
-  void add_values(::PROTOBUF_NAMESPACE_ID::int32 value);
-  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >&
-      values() const;
-  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 >*
-      mutable_values();
-
-  // @@protoc_insertion_point(class_scope:gtxilib.oopclasses.protos.IntListProto)
- private:
-  class _Internal;
-
-  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
-  typedef void InternalArenaConstructable_;
-  typedef void DestructorSkippable_;
-  ::PROTOBUF_NAMESPACE_ID::RepeatedField< ::PROTOBUF_NAMESPACE_ID::int32 > values_;
-  mutable std::atomic<int> _values_cached_byte_size_;
-  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
-  friend struct ::TableStruct_result_2eproto;
-};
-// -------------------------------------------------------------------
-
-class TypedValueProto PROTOBUF_FINAL :
-    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:gtxilib.oopclasses.protos.TypedValueProto) */ {
- public:
-  inline TypedValueProto() : TypedValueProto(nullptr) {}
-  virtual ~TypedValueProto();
-
-  TypedValueProto(const TypedValueProto& from);
-  TypedValueProto(TypedValueProto&& from) noexcept
-    : TypedValueProto() {
-    *this = ::std::move(from);
-  }
-
-  inline TypedValueProto& operator=(const TypedValueProto& from) {
-    CopyFrom(from);
-    return *this;
-  }
-  inline TypedValueProto& operator=(TypedValueProto&& from) noexcept {
-    if (GetArena() == from.GetArena()) {
-      if (this != &from) InternalSwap(&from);
-    } else {
-      CopyFrom(from);
-    }
-    return *this;
-  }
-
-  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
-    return GetDescriptor();
-  }
-  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
-    return GetMetadataStatic().descriptor;
-  }
-  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
-    return GetMetadataStatic().reflection;
-  }
-  static const TypedValueProto& default_instance();
-
+  typedef TypedValueProto_TypeProto TypeProto;
+  static constexpr TypedValueProto_TypeProto UNKNOWN = TypedValueProto_TypeProto_UNKNOWN;
+  static constexpr TypedValueProto_TypeProto BOOLEAN = TypedValueProto_TypeProto_BOOLEAN;
+  static constexpr TypedValueProto_TypeProto BYTE = TypedValueProto_TypeProto_BYTE;
+  static constexpr TypedValueProto_TypeProto SHORT = TypedValueProto_TypeProto_SHORT;
+  static constexpr TypedValueProto_TypeProto CHAR = TypedValueProto_TypeProto_CHAR;
+  static constexpr TypedValueProto_TypeProto INT = TypedValueProto_TypeProto_INT;
+  static constexpr TypedValueProto_TypeProto FLOAT = TypedValueProto_TypeProto_FLOAT;
+  static constexpr TypedValueProto_TypeProto LONG = TypedValueProto_TypeProto_LONG;
+  static constexpr TypedValueProto_TypeProto DOUBLE = TypedValueProto_TypeProto_DOUBLE;
+  static constexpr TypedValueProto_TypeProto STRING = TypedValueProto_TypeProto_STRING;
+  static constexpr TypedValueProto_TypeProto STRING_LIST = TypedValueProto_TypeProto_STRING_LIST;
+  static constexpr TypedValueProto_TypeProto INT_LIST = TypedValueProto_TypeProto_INT_LIST;
   enum ValueCase {
     kBooleanValue = 2,
     kByteValue = 3,
@@ -490,2254 +101,231 @@
     kIntListValue = 12,
     VALUE_NOT_SET = 0,
   };
-
-  static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
-  static inline const TypedValueProto* internal_default_instance() {
-    return reinterpret_cast<const TypedValueProto*>(
-               &_TypedValueProto_default_instance_);
-  }
-  static constexpr int kIndexInFileMessages =
-    2;
-
-  friend void swap(TypedValueProto& a, TypedValueProto& b) {
-    a.Swap(&b);
-  }
-  inline void Swap(TypedValueProto* other) {
-    if (other == this) return;
-    if (GetArena() == other->GetArena()) {
-      InternalSwap(other);
-    } else {
-      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
-    }
-  }
-  void UnsafeArenaSwap(TypedValueProto* other) {
-    if (other == this) return;
-    GOOGLE_DCHECK(GetArena() == other->GetArena());
-    InternalSwap(other);
-  }
-
-  // implements Message ----------------------------------------------
-
-  inline TypedValueProto* New() const final {
-    return CreateMaybeMessage<TypedValueProto>(nullptr);
-  }
-
-  TypedValueProto* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
-    return CreateMaybeMessage<TypedValueProto>(arena);
-  }
-  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
-  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
-  void CopyFrom(const TypedValueProto& from);
-  void MergeFrom(const TypedValueProto& from);
-  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
-  bool IsInitialized() const final;
-
-  size_t ByteSizeLong() const final;
-  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
-  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
-      ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
-  int GetCachedSize() const final { return _cached_size_.Get(); }
-
-  private:
-  inline void SharedCtor();
-  inline void SharedDtor();
-  void SetCachedSize(int size) const final;
-  void InternalSwap(TypedValueProto* other);
-  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
-  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
-    return "gtxilib.oopclasses.protos.TypedValueProto";
-  }
-  protected:
-  explicit TypedValueProto(::PROTOBUF_NAMESPACE_ID::Arena* arena);
-  private:
-  static void ArenaDtor(void* object);
-  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
-  public:
-
-  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
-  private:
-  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
-    ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_result_2eproto);
-    return ::descriptor_table_result_2eproto.file_level_metadata[kIndexInFileMessages];
-  }
-
-  public:
-
-  // nested types ----------------------------------------------------
-
-  typedef TypedValueProto_TypeProto TypeProto;
-  static constexpr TypeProto UNKNOWN =
-    TypedValueProto_TypeProto_UNKNOWN;
-  static constexpr TypeProto BOOLEAN =
-    TypedValueProto_TypeProto_BOOLEAN;
-  static constexpr TypeProto BYTE =
-    TypedValueProto_TypeProto_BYTE;
-  static constexpr TypeProto SHORT =
-    TypedValueProto_TypeProto_SHORT;
-  static constexpr TypeProto CHAR =
-    TypedValueProto_TypeProto_CHAR;
-  static constexpr TypeProto INT =
-    TypedValueProto_TypeProto_INT;
-  static constexpr TypeProto FLOAT =
-    TypedValueProto_TypeProto_FLOAT;
-  static constexpr TypeProto LONG =
-    TypedValueProto_TypeProto_LONG;
-  static constexpr TypeProto DOUBLE =
-    TypedValueProto_TypeProto_DOUBLE;
-  static constexpr TypeProto STRING =
-    TypedValueProto_TypeProto_STRING;
-  static constexpr TypeProto STRING_LIST =
-    TypedValueProto_TypeProto_STRING_LIST;
-  static constexpr TypeProto INT_LIST =
-    TypedValueProto_TypeProto_INT_LIST;
-  static inline bool TypeProto_IsValid(int value) {
-    return TypedValueProto_TypeProto_IsValid(value);
-  }
-  static constexpr TypeProto TypeProto_MIN =
-    TypedValueProto_TypeProto_TypeProto_MIN;
-  static constexpr TypeProto TypeProto_MAX =
-    TypedValueProto_TypeProto_TypeProto_MAX;
-  static constexpr int TypeProto_ARRAYSIZE =
-    TypedValueProto_TypeProto_TypeProto_ARRAYSIZE;
-  static inline const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor*
-  TypeProto_descriptor() {
-    return TypedValueProto_TypeProto_descriptor();
-  }
-  template<typename T>
-  static inline const std::string& TypeProto_Name(T enum_t_value) {
-    static_assert(::std::is_same<T, TypeProto>::value ||
-      ::std::is_integral<T>::value,
-      "Incorrect type passed to function TypeProto_Name.");
-    return TypedValueProto_TypeProto_Name(enum_t_value);
-  }
-  static inline bool TypeProto_Parse(::PROTOBUF_NAMESPACE_ID::ConstStringParam name,
-      TypeProto* value) {
-    return TypedValueProto_TypeProto_Parse(name, value);
-  }
-
-  // accessors -------------------------------------------------------
-
-  enum : int {
-    kTypeFieldNumber = 1,
-    kBooleanValueFieldNumber = 2,
-    kByteValueFieldNumber = 3,
-    kShortValueFieldNumber = 4,
-    kCharValueFieldNumber = 5,
-    kIntValueFieldNumber = 6,
-    kFloatValueFieldNumber = 7,
-    kLongValueFieldNumber = 8,
-    kDoubleValueFieldNumber = 9,
-    kStringValueFieldNumber = 10,
-    kStringListValueFieldNumber = 11,
-    kIntListValueFieldNumber = 12,
-  };
-  // .gtxilib.oopclasses.protos.TypedValueProto.TypeProto type = 1;
-  bool has_type() const;
-  private:
-  bool _internal_has_type() const;
-  public:
-  void clear_type();
-  ::gtxilib::oopclasses::protos::TypedValueProto_TypeProto type() const;
-  void set_type(::gtxilib::oopclasses::protos::TypedValueProto_TypeProto value);
-  private:
-  ::gtxilib::oopclasses::protos::TypedValueProto_TypeProto _internal_type() const;
-  void _internal_set_type(::gtxilib::oopclasses::protos::TypedValueProto_TypeProto value);
-  public:
-
-  // bool boolean_value = 2;
-  private:
-  bool _internal_has_boolean_value() const;
-  public:
-  void clear_boolean_value();
-  bool boolean_value() const;
-  void set_boolean_value(bool value);
-  private:
-  bool _internal_boolean_value() const;
-  void _internal_set_boolean_value(bool value);
-  public:
-
-  // bytes byte_value = 3;
-  private:
-  bool _internal_has_byte_value() const;
-  public:
-  void clear_byte_value();
-  const std::string& byte_value() const;
-  void set_byte_value(const std::string& value);
-  void set_byte_value(std::string&& value);
-  void set_byte_value(const char* value);
-  void set_byte_value(const void* value, size_t size);
-  std::string* mutable_byte_value();
-  std::string* release_byte_value();
-  void set_allocated_byte_value(std::string* byte_value);
-  private:
-  const std::string& _internal_byte_value() const;
-  void _internal_set_byte_value(const std::string& value);
-  std::string* _internal_mutable_byte_value();
-  public:
-
-  // bytes short_value = 4;
-  private:
-  bool _internal_has_short_value() const;
-  public:
-  void clear_short_value();
-  const std::string& short_value() const;
-  void set_short_value(const std::string& value);
-  void set_short_value(std::string&& value);
-  void set_short_value(const char* value);
-  void set_short_value(const void* value, size_t size);
-  std::string* mutable_short_value();
-  std::string* release_short_value();
-  void set_allocated_short_value(std::string* short_value);
-  private:
-  const std::string& _internal_short_value() const;
-  void _internal_set_short_value(const std::string& value);
-  std::string* _internal_mutable_short_value();
-  public:
-
-  // bytes char_value = 5;
-  private:
-  bool _internal_has_char_value() const;
-  public:
-  void clear_char_value();
-  const std::string& char_value() const;
-  void set_char_value(const std::string& value);
-  void set_char_value(std::string&& value);
-  void set_char_value(const char* value);
-  void set_char_value(const void* value, size_t size);
-  std::string* mutable_char_value();
-  std::string* release_char_value();
-  void set_allocated_char_value(std::string* char_value);
-  private:
-  const std::string& _internal_char_value() const;
-  void _internal_set_char_value(const std::string& value);
-  std::string* _internal_mutable_char_value();
-  public:
-
-  // int32 int_value = 6;
-  private:
-  bool _internal_has_int_value() const;
-  public:
-  void clear_int_value();
-  ::PROTOBUF_NAMESPACE_ID::int32 int_value() const;
-  void set_int_value(::PROTOBUF_NAMESPACE_ID::int32 value);
-  private:
-  ::PROTOBUF_NAMESPACE_ID::int32 _internal_int_value() const;
-  void _internal_set_int_value(::PROTOBUF_NAMESPACE_ID::int32 value);
-  public:
-
-  // float float_value = 7;
-  private:
-  bool _internal_has_float_value() const;
-  public:
-  void clear_float_value();
-  float float_value() const;
-  void set_float_value(float value);
-  private:
-  float _internal_float_value() const;
-  void _internal_set_float_value(float value);
-  public:
-
-  // int64 long_value = 8;
-  private:
-  bool _internal_has_long_value() const;
-  public:
-  void clear_long_value();
-  ::PROTOBUF_NAMESPACE_ID::int64 long_value() const;
-  void set_long_value(::PROTOBUF_NAMESPACE_ID::int64 value);
-  private:
-  ::PROTOBUF_NAMESPACE_ID::int64 _internal_long_value() const;
-  void _internal_set_long_value(::PROTOBUF_NAMESPACE_ID::int64 value);
-  public:
-
-  // double double_value = 9;
-  private:
-  bool _internal_has_double_value() const;
-  public:
-  void clear_double_value();
-  double double_value() const;
-  void set_double_value(double value);
-  private:
-  double _internal_double_value() const;
-  void _internal_set_double_value(double value);
-  public:
-
-  // string string_value = 10;
-  private:
-  bool _internal_has_string_value() const;
-  public:
-  void clear_string_value();
-  const std::string& string_value() const;
-  void set_string_value(const std::string& value);
-  void set_string_value(std::string&& value);
-  void set_string_value(const char* value);
-  void set_string_value(const char* value, size_t size);
-  std::string* mutable_string_value();
-  std::string* release_string_value();
-  void set_allocated_string_value(std::string* string_value);
-  private:
-  const std::string& _internal_string_value() const;
-  void _internal_set_string_value(const std::string& value);
-  std::string* _internal_mutable_string_value();
-  public:
-
-  // .gtxilib.oopclasses.protos.StringListProto string_list_value = 11;
-  bool has_string_list_value() const;
-  private:
-  bool _internal_has_string_list_value() const;
-  public:
-  void clear_string_list_value();
-  const ::gtxilib::oopclasses::protos::StringListProto& string_list_value() const;
-  ::gtxilib::oopclasses::protos::StringListProto* release_string_list_value();
-  ::gtxilib::oopclasses::protos::StringListProto* mutable_string_list_value();
-  void set_allocated_string_list_value(::gtxilib::oopclasses::protos::StringListProto* string_list_value);
-  private:
-  const ::gtxilib::oopclasses::protos::StringListProto& _internal_string_list_value() const;
-  ::gtxilib::oopclasses::protos::StringListProto* _internal_mutable_string_list_value();
-  public:
-  void unsafe_arena_set_allocated_string_list_value(
-      ::gtxilib::oopclasses::protos::StringListProto* string_list_value);
-  ::gtxilib::oopclasses::protos::StringListProto* unsafe_arena_release_string_list_value();
-
-  // .gtxilib.oopclasses.protos.IntListProto int_list_value = 12;
-  bool has_int_list_value() const;
-  private:
-  bool _internal_has_int_list_value() const;
-  public:
-  void clear_int_list_value();
-  const ::gtxilib::oopclasses::protos::IntListProto& int_list_value() const;
-  ::gtxilib::oopclasses::protos::IntListProto* release_int_list_value();
-  ::gtxilib::oopclasses::protos::IntListProto* mutable_int_list_value();
-  void set_allocated_int_list_value(::gtxilib::oopclasses::protos::IntListProto* int_list_value);
-  private:
-  const ::gtxilib::oopclasses::protos::IntListProto& _internal_int_list_value() const;
-  ::gtxilib::oopclasses::protos::IntListProto* _internal_mutable_int_list_value();
-  public:
-  void unsafe_arena_set_allocated_int_list_value(
-      ::gtxilib::oopclasses::protos::IntListProto* int_list_value);
-  ::gtxilib::oopclasses::protos::IntListProto* unsafe_arena_release_int_list_value();
-
   void clear_value();
   ValueCase value_case() const;
-  // @@protoc_insertion_point(class_scope:gtxilib.oopclasses.protos.TypedValueProto)
- private:
-  class _Internal;
-  void set_has_boolean_value();
-  void set_has_byte_value();
-  void set_has_short_value();
-  void set_has_char_value();
-  void set_has_int_value();
-  void set_has_float_value();
-  void set_has_long_value();
-  void set_has_double_value();
-  void set_has_string_value();
-  void set_has_string_list_value();
-  void set_has_int_list_value();
 
-  inline bool has_value() const;
-  inline void clear_has_value();
+  TypedValueProto_TypeProto type() const;
+  bool has_type() const;
+  void clear_type();
+  void set_type(TypedValueProto_TypeProto new_type);
+  TypedValueProto_TypeProto* mutable_type();
 
-  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
-  typedef void InternalArenaConstructable_;
-  typedef void DestructorSkippable_;
-  ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
-  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
-  int type_;
-  union ValueUnion {
-    ValueUnion() {}
-    bool boolean_value_;
-    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr byte_value_;
-    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr short_value_;
-    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr char_value_;
-    ::PROTOBUF_NAMESPACE_ID::int32 int_value_;
-    float float_value_;
-    ::PROTOBUF_NAMESPACE_ID::int64 long_value_;
-    double double_value_;
-    ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr string_value_;
-    ::gtxilib::oopclasses::protos::StringListProto* string_list_value_;
-    ::gtxilib::oopclasses::protos::IntListProto* int_list_value_;
-  } value_;
-  ::PROTOBUF_NAMESPACE_ID::uint32 _oneof_case_[1];
+  bool boolean_value() const;
+  bool has_boolean_value() const;
+  void clear_boolean_value();
+  void set_boolean_value(bool new_boolean_value);
+  bool* mutable_boolean_value();
 
-  friend struct ::TableStruct_result_2eproto;
+  std::string byte_value() const;
+  bool has_byte_value() const;
+  void clear_byte_value();
+  void set_byte_value(std::string new_byte_value);
+  std::string* mutable_byte_value();
+
+  std::string short_value() const;
+  bool has_short_value() const;
+  void clear_short_value();
+  void set_short_value(std::string new_short_value);
+  std::string* mutable_short_value();
+
+  std::string char_value() const;
+  bool has_char_value() const;
+  void clear_char_value();
+  void set_char_value(std::string new_char_value);
+  std::string* mutable_char_value();
+
+  int32_t int_value() const;
+  bool has_int_value() const;
+  void clear_int_value();
+  void set_int_value(int32_t new_int_value);
+  int32_t* mutable_int_value();
+
+  float float_value() const;
+  bool has_float_value() const;
+  void clear_float_value();
+  void set_float_value(float new_float_value);
+  float* mutable_float_value();
+
+  int64_t long_value() const;
+  bool has_long_value() const;
+  void clear_long_value();
+  void set_long_value(int64_t new_long_value);
+  int64_t* mutable_long_value();
+
+  double double_value() const;
+  bool has_double_value() const;
+  void clear_double_value();
+  void set_double_value(double new_double_value);
+  double* mutable_double_value();
+
+  std::string string_value() const;
+  bool has_string_value() const;
+  void clear_string_value();
+  void set_string_value(std::string new_string_value);
+  std::string* mutable_string_value();
+
+  const StringListProto& string_list_value() const;
+  bool has_string_list_value() const;
+  void clear_string_list_value();
+  void set_string_list_value(const StringListProto& new_string_list_value);
+  StringListProto* mutable_string_list_value();
+
+  const IntListProto& int_list_value() const;
+  bool has_int_list_value() const;
+  void clear_int_list_value();
+  void set_int_list_value(const IntListProto& new_int_list_value);
+  IntListProto* mutable_int_list_value();
+
+private:
+  ValueCase value_case_;
+  TypedValueProto_TypeProto type_ = TypedValueProto_TypeProto();
+  bool has_type_ = false;
+  bool boolean_value_ = bool();
+  bool has_boolean_value_ = false;
+  std::string byte_value_ = std::string();
+  bool has_byte_value_ = false;
+  std::string short_value_ = std::string();
+  bool has_short_value_ = false;
+  std::string char_value_ = std::string();
+  bool has_char_value_ = false;
+  int32_t int_value_ = int32_t();
+  bool has_int_value_ = false;
+  float float_value_ = float();
+  bool has_float_value_ = false;
+  int64_t long_value_ = int64_t();
+  bool has_long_value_ = false;
+  double double_value_ = double();
+  bool has_double_value_ = false;
+  std::string string_value_ = std::string();
+  bool has_string_value_ = false;
+  StringListProto string_list_value_ = StringListProto();
+  bool has_string_list_value_ = false;
+  IntListProto int_list_value_ = IntListProto();
+  bool has_int_list_value_ = false;
 };
-// -------------------------------------------------------------------
 
-class MetadataProto_MetadataMapEntry_DoNotUse : public ::PROTOBUF_NAMESPACE_ID::internal::MapEntry<MetadataProto_MetadataMapEntry_DoNotUse, 
-    std::string, ::gtxilib::oopclasses::protos::TypedValueProto,
-    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::TYPE_STRING,
-    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::TYPE_MESSAGE,
-    0 > {
+
+
+class MetadataProto_MetadataMapEntry {
+
 public:
-  typedef ::PROTOBUF_NAMESPACE_ID::internal::MapEntry<MetadataProto_MetadataMapEntry_DoNotUse, 
-    std::string, ::gtxilib::oopclasses::protos::TypedValueProto,
-    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::TYPE_STRING,
-    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::TYPE_MESSAGE,
-    0 > SuperType;
-  MetadataProto_MetadataMapEntry_DoNotUse();
-  explicit MetadataProto_MetadataMapEntry_DoNotUse(::PROTOBUF_NAMESPACE_ID::Arena* arena);
-  void MergeFrom(const MetadataProto_MetadataMapEntry_DoNotUse& other);
-  static const MetadataProto_MetadataMapEntry_DoNotUse* internal_default_instance() { return reinterpret_cast<const MetadataProto_MetadataMapEntry_DoNotUse*>(&_MetadataProto_MetadataMapEntry_DoNotUse_default_instance_); }
-  static bool ValidateKey(std::string* s) {
-    return ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(s->data(), static_cast<int>(s->size()), ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::PARSE, "gtxilib.oopclasses.protos.MetadataProto.MetadataMapEntry.key");
- }
-  static bool ValidateValue(void*) { return true; }
-  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& other) final;
-  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
-  private:
-  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
-    ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_result_2eproto);
-    return ::descriptor_table_result_2eproto.file_level_metadata[3];
-  }
 
-  public:
+
+  std::string key() const;
+  bool has_key() const;
+  void clear_key();
+  void set_key(std::string new_key);
+  std::string* mutable_key();
+
+  const TypedValueProto& value() const;
+  bool has_value() const;
+  void clear_value();
+  void set_value(const TypedValueProto& new_value);
+  TypedValueProto* mutable_value();
+
+private:
+  std::string key_ = std::string();
+  bool has_key_ = false;
+  TypedValueProto value_ = TypedValueProto();
+  bool has_value_ = false;
 };
 
-// -------------------------------------------------------------------
+class MetadataProto {
 
-class MetadataProto PROTOBUF_FINAL :
-    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:gtxilib.oopclasses.protos.MetadataProto) */ {
- public:
-  inline MetadataProto() : MetadataProto(nullptr) {}
-  virtual ~MetadataProto();
+public:
 
-  MetadataProto(const MetadataProto& from);
-  MetadataProto(MetadataProto&& from) noexcept
-    : MetadataProto() {
-    *this = ::std::move(from);
-  }
+  typedef MetadataProto_MetadataMapEntry MetadataMapEntry;
 
-  inline MetadataProto& operator=(const MetadataProto& from) {
-    CopyFrom(from);
-    return *this;
-  }
-  inline MetadataProto& operator=(MetadataProto&& from) noexcept {
-    if (GetArena() == from.GetArena()) {