Glib::ArrayHandle<int> Gio::UnixFDMessage::steal_fds() (struct UnixFDMessage * const this)
{
  struct GUnixFDMessage * D.98347;
  int length.0;
  int D.98349;
  long unsigned int D.98350;
  int length;
  const int * fds;

  try
    {
      length = 0;
      D.98347 = Gio::UnixFDMessage::gobj (this);
      fds = g_unix_fd_message_steal_fds (D.98347, &length);
      length.0 = length;
      D.98349 = length.0 + -1;
      D.98350 = (long unsigned int) D.98349;
      Glib::ArrayHandle<int>::ArrayHandle (<retval>, fds, D.98350, 2);
      return <retval>;
    }
  finally
    {
      length = {CLOBBER};
    }
}


GUnixFDMessage* Gio::UnixFDMessage::gobj() (struct UnixFDMessage * const this)
{
  struct GUnixFDMessage * D.98356;
  int (*__vtbl_ptr_type) () * D.98357;
  int (*__vtbl_ptr_type) () * D.98358;
  long int D.98359;
  sizetype D.98360;
  struct ObjectBase * D.98361;

  D.98357 = this->D.86180.D.86034._vptr.Object;
  D.98358 = D.98357 + 18446744073709551592;
  D.98359 = MEM[(long int *)D.98358];
  D.98360 = (sizetype) D.98359;
  D.98361 = this + D.98360;
  D.98356 = D.98361->gobject_;
  return D.98356;
}


Glib::ArrayHandle<T, Tr>::ArrayHandle(const CType*, std::size_t, Glib::OwnershipType) [with T = int; Tr = Glib::Container_Helpers::TypeTraits<int>; Glib::ArrayHandle<T, Tr>::CType = int; std::size_t = long unsigned int] (struct ArrayHandle * const this, const CType * array, size_t array_size, OwnershipType ownership)
{
  long unsigned int iftmp.1;

  if (array != 0B) goto <D.98364>; else goto <D.98365>;
  <D.98364>:
  iftmp.1 = array_size;
  goto <D.98366>;
  <D.98365>:
  iftmp.1 = 0;
  <D.98366>:
  this->size_ = iftmp.1;
  this->parray_ = array;
  this->ownership_ = ownership;
}


Glib::RefPtr<Gio::UnixFDMessage> Glib::wrap(GUnixFDMessage*, bool) (struct GUnixFDMessage * object, bool take_copy)
{
  struct UnixFDMessage * iftmp.2;
  int D.98369;
  struct ObjectBase * D.98370;

  D.98369 = (int) take_copy;
  D.98370 = Glib::wrap_auto (object, D.98369);
  if (D.98370 == 0B) goto <D.98371>; else goto <D.98372>;
  <D.98371>:
  iftmp.2 = 0B;
  goto <D.98373>;
  <D.98372>:
  iftmp.2 = __dynamic_cast (D.98370, &_ZTIN4Glib10ObjectBaseE, &_ZTIN3Gio13UnixFDMessageE, -1);
  <D.98373>:
  Glib::RefPtr<Gio::UnixFDMessage>::RefPtr (<retval>, iftmp.2);
  return <retval>;
}


Glib::RefPtr<T_CppObject>::RefPtr(T_CppObject*) [with T_CppObject = Gio::UnixFDMessage] (struct RefPtr * const this, struct UnixFDMessage * pCppObject)
{
  this->pCppObject_ = pCppObject;
}


const Glib::Class& Gio::UnixFDMessage_Class::init() (struct UnixFDMessage_Class * const this)
{
  long unsigned int D.98376;
  long unsigned int D.98379;
  struct Class * D.98380;
  const struct Class & D.98382;

  D.98376 = this->D.86247.gtype_;
  if (D.98376 == 0) goto <D.98377>; else goto <D.98378>;
  <D.98377>:
  this->D.86247.class_init_func_ = class_init_function;
  D.98379 = g_unix_fd_message_get_type ();
  D.98380 = &this->D.86247;
  Glib::Class::register_derived_type (D.98380, D.98379);
  goto <D.98381>;
  <D.98378>:
  <D.98381>:
  D.98382 = &this->D.86247;
  return D.98382;
}


static void Gio::UnixFDMessage_Class::class_init_function(void*, void*) (void * g_class, void * class_data)
{
  struct BaseClassType * const klass;

  klass = g_class;
  Gio::SocketControlMessage_Class::class_init_function (klass, class_data);
}


static Glib::ObjectBase* Gio::UnixFDMessage_Class::wrap_new(GObject*) (struct GObject * object)
{
  struct ObjectBase * D.98385;
  struct ObjectBase * iftmp.3;
  void * D.97211;
  void * D.98387;
  int (*__vtbl_ptr_type) () * D.98390;
  int (*__vtbl_ptr_type) () * D.98391;
  long int D.98392;
  sizetype D.98393;

  D.97211 = operator new (48);
  try
    {
      Gio::UnixFDMessage::UnixFDMessage (D.97211, object);
    }
  catch
    {
      operator delete (D.97211);
    }
  D.98387 = D.97211;
  if (D.98387 != 0B) goto <D.98388>; else goto <D.98389>;
  <D.98388>:
  D.98390 = MEM[(struct UnixFDMessage *)D.98387].D.86180.D.86034._vptr.Object;
  D.98391 = D.98390 + 18446744073709551592;
  D.98392 = MEM[(long int *)D.98391];
  D.98393 = (sizetype) D.98392;
  iftmp.3 = D.98387 + D.98393;
  goto <D.98394>;
  <D.98389>:
  iftmp.3 = 0B;
  <D.98394>:
  D.98385 = iftmp.3;
  return D.98385;
}


GUnixFDMessage* Gio::UnixFDMessage::gobj_copy() (struct UnixFDMessage * const this)
{
  int (*__vtbl_ptr_type) () * D.98398;
  int (*__vtbl_ptr_type) () * D.98399;
  long int D.98400;
  sizetype D.98401;
  struct ObjectBase * D.98402;
  int (*__vtbl_ptr_type) () * D.98403;
  int (*__vtbl_ptr_type) () * D.98404;
  int (*__vtbl_ptr_type) () D.98405;
  struct GUnixFDMessage * D.98406;

  D.98398 = this->D.86180.D.86034._vptr.Object;
  D.98399 = D.98398 + 18446744073709551592;
  D.98400 = MEM[(long int *)D.98399];
  D.98401 = (sizetype) D.98400;
  D.98402 = this + D.98401;
  D.98398 = this->D.86180.D.86034._vptr.Object;
  D.98399 = D.98398 + 18446744073709551592;
  D.98400 = MEM[(long int *)D.98399];
  D.98401 = (sizetype) D.98400;
  D.98402 = this + D.98401;
  D.98403 = D.98402->_vptr.ObjectBase;
  D.98404 = D.98403 + 16;
  D.98405 = *D.98404;
  D.98398 = this->D.86180.D.86034._vptr.Object;
  D.98399 = D.98398 + 18446744073709551592;
  D.98400 = MEM[(long int *)D.98399];
  D.98401 = (sizetype) D.98400;
  D.98402 = this + D.98401;
  OBJ_TYPE_REF(D.98405;(const struct ObjectBase)D.98402->2) (D.98402);
  D.98406 = Gio::UnixFDMessage::gobj (this);
  return D.98406;
}


Gio::UnixFDMessage::UnixFDMessage(const Glib::ConstructParams&) (struct UnixFDMessage * const this, const void * * __vtt_parm, const struct ConstructParams & construct_params)
{
  struct trackable * D.98410;
  const void * * iftmp.4;
  struct ObjectBase * D.98418;
  const void * * iftmp.5;
  struct SocketControlMessage * D.98424;
  int (*__vtbl_ptr_type) () * iftmp.6;
  sizetype iftmp.7;
  int (*__vtbl_ptr_type) () * D.98432;
  int (*__vtbl_ptr_type) () * D.98433;
  long int D.98434;
  struct ObjectBase * D.98436;
  int (*__vtbl_ptr_type) () * iftmp.8;
  const void * * iftmp.9;
  const void * * iftmp.10;

  if (0 != 0) goto <D.98408>; else goto <D.98409>;
  <D.98408>:
  D.98410 = &this->D.86183;
  sigc::trackable::trackable (D.98410);
  goto <D.98411>;
  <D.98409>:
  <D.98411>:
  try
    {
      if (0 != 0) goto <D.98412>; else goto <D.98413>;
      <D.98412>:
      if (0 == 0) goto <D.98415>; else goto <D.98416>;
      <D.98415>:
      iftmp.4 = __vtt_parm + 48;
      goto <D.98417>;
      <D.98416>:
      iftmp.4 = &MEM[(void *)&_ZTTN3Gio13UnixFDMessageE + 48B];
      <D.98417>:
      D.98418 = &this->D.86182;
      Glib::ObjectBase::ObjectBase (D.98418, iftmp.4);
      goto <D.98419>;
      <D.98413>:
      <D.98419>:
      try
        {
          if (0 == 0) goto <D.98421>; else goto <D.98422>;
          <D.98421>:
          iftmp.5 = __vtt_parm + 8;
          goto <D.98423>;
          <D.98422>:
          iftmp.5 = &MEM[(void *)&_ZTTN3Gio13UnixFDMessageE + 8B];
          <D.98423>:
          D.98424 = &this->D.86180;
          Gio::SocketControlMessage::SocketControlMessage (D.98424, iftmp.5, construct_params);
          try
            {
              if (0 == 0) goto <D.98426>; else goto <D.98427>;
              <D.98426>:
              iftmp.6 = *__vtt_parm;
              goto <D.98428>;
              <D.98427>:
              iftmp.6 = &MEM[(void *)&_ZTVN3Gio13UnixFDMessageE + 32B];
              <D.98428>:
              this->D.86180.D.86034._vptr.Object = iftmp.6;
              if (0 == 0) goto <D.98430>; else goto <D.98431>;
              <D.98430>:
              D.98432 = this->D.86180.D.86034._vptr.Object;
              D.98433 = D.98432 + 18446744073709551592;
              D.98434 = MEM[(long int *)D.98433];
              iftmp.7 = (sizetype) D.98434;
              goto <D.98435>;
              <D.98431>:
              iftmp.7 = 8;
              <D.98435>:
              D.98436 = this + iftmp.7;
              if (0 == 0) goto <D.98438>; else goto <D.98439>;
              <D.98438>:
              iftmp.8 = MEM[(const void * *)__vtt_parm + 40B];
              goto <D.98440>;
              <D.98439>:
              iftmp.8 = &MEM[(void *)&_ZTVN3Gio13UnixFDMessageE + 144B];
              <D.98440>:
              D.98436->_vptr.ObjectBase = iftmp.8;
            }
          catch
            {
              if (0 == 0) goto <D.98442>; else goto <D.98443>;
              <D.98442>:
              iftmp.9 = __vtt_parm + 8;
              goto <D.98444>;
              <D.98443>:
              iftmp.9 = &MEM[(void *)&_ZTTN3Gio13UnixFDMessageE + 8B];
              <D.98444>:
              D.98424 = &this->D.86180;
              Gio::SocketControlMessage::~SocketControlMessage (D.98424, iftmp.9);
            }
        }
      catch
        {
          if (0 != 0) goto <D.98445>; else goto <D.98446>;
          <D.98445>:
          if (0 == 0) goto <D.98448>; else goto <D.98449>;
          <D.98448>:
          iftmp.10 = __vtt_parm + 48;
          goto <D.98450>;
          <D.98449>:
          iftmp.10 = &MEM[(void *)&_ZTTN3Gio13UnixFDMessageE + 48B];
          <D.98450>:
          D.98418 = &this->D.86182;
          Glib::ObjectBase::~ObjectBase (D.98418, iftmp.10);
          goto <D.98451>;
          <D.98446>:
          <D.98451>:
        }
    }
  catch
    {
      if (0 != 0) goto <D.98452>; else goto <D.98453>;
      <D.98452>:
      D.98410 = &this->D.86183;
      sigc::trackable::~trackable (D.98410);
      goto <D.98454>;
      <D.98453>:
      <D.98454>:
    }
}


Gio::UnixFDMessage::UnixFDMessage(const Glib::ConstructParams&) (struct UnixFDMessage * const this, const struct ConstructParams & construct_params)
{
  struct trackable * D.98459;
  const void * * iftmp.11;
  struct ObjectBase * D.98467;
  const void * * iftmp.12;
  struct SocketControlMessage * D.98473;
  int (*__vtbl_ptr_type) () * iftmp.13;
  const void * * D.98477;
  sizetype iftmp.14;
  int (*__vtbl_ptr_type) () * D.98482;
  int (*__vtbl_ptr_type) () * D.98483;
  long int D.98484;
  struct ObjectBase * D.98486;
  int (*__vtbl_ptr_type) () * iftmp.15;
  const void * * iftmp.16;
  const void * * iftmp.17;

  if (1 != 0) goto <D.98457>; else goto <D.98458>;
  <D.98457>:
  D.98459 = &this->D.86183;
  sigc::trackable::trackable (D.98459);
  goto <D.98460>;
  <D.98458>:
  <D.98460>:
  try
    {
      if (1 != 0) goto <D.98461>; else goto <D.98462>;
      <D.98461>:
      if (1 == 0) goto <D.98464>; else goto <D.98465>;
      <D.98464>:
      iftmp.11 = 48B;
      goto <D.98466>;
      <D.98465>:
      iftmp.11 = &MEM[(void *)&_ZTTN3Gio13UnixFDMessageE + 48B];
      <D.98466>:
      D.98467 = &this->D.86182;
      Glib::ObjectBase::ObjectBase (D.98467, iftmp.11);
      goto <D.98468>;
      <D.98462>:
      <D.98468>:
      try
        {
          if (1 == 0) goto <D.98470>; else goto <D.98471>;
          <D.98470>:
          iftmp.12 = 8B;
          goto <D.98472>;
          <D.98471>:
          iftmp.12 = &MEM[(void *)&_ZTTN3Gio13UnixFDMessageE + 8B];
          <D.98472>:
          D.98473 = &this->D.86180;
          Gio::SocketControlMessage::SocketControlMessage (D.98473, iftmp.12, construct_params);
          try
            {
              if (1 == 0) goto <D.98475>; else goto <D.98476>;
              <D.98475>:
              D.98477 = 0B;
              iftmp.13 = *D.98477;
              goto <D.98478>;
              <D.98476>:
              iftmp.13 = &MEM[(void *)&_ZTVN3Gio13UnixFDMessageE + 32B];
              <D.98478>:
              this->D.86180.D.86034._vptr.Object = iftmp.13;
              if (1 == 0) goto <D.98480>; else goto <D.98481>;
              <D.98480>:
              D.98482 = this->D.86180.D.86034._vptr.Object;
              D.98483 = D.98482 + 18446744073709551592;
              D.98484 = MEM[(long int *)D.98483];
              iftmp.14 = (sizetype) D.98484;
              goto <D.98485>;
              <D.98481>:
              iftmp.14 = 8;
              <D.98485>:
              D.98486 = this + iftmp.14;
              if (1 == 0) goto <D.98488>; else goto <D.98489>;
              <D.98488>:
              iftmp.15 = MEM[(const void * *)0B + 40B];
              goto <D.98490>;
              <D.98489>:
              iftmp.15 = &MEM[(void *)&_ZTVN3Gio13UnixFDMessageE + 144B];
              <D.98490>:
              D.98486->_vptr.ObjectBase = iftmp.15;
            }
          catch
            {
              if (1 == 0) goto <D.98492>; else goto <D.98493>;
              <D.98492>:
              iftmp.16 = 8B;
              goto <D.98494>;
              <D.98493>:
              iftmp.16 = &MEM[(void *)&_ZTTN3Gio13UnixFDMessageE + 8B];
              <D.98494>:
              D.98473 = &this->D.86180;
              Gio::SocketControlMessage::~SocketControlMessage (D.98473, iftmp.16);
            }
        }
      catch
        {
          if (1 != 0) goto <D.98495>; else goto <D.98496>;
          <D.98495>:
          if (1 == 0) goto <D.98498>; else goto <D.98499>;
          <D.98498>:
          iftmp.17 = 48B;
          goto <D.98500>;
          <D.98499>:
          iftmp.17 = &MEM[(void *)&_ZTTN3Gio13UnixFDMessageE + 48B];
          <D.98500>:
          D.98467 = &this->D.86182;
          Glib::ObjectBase::~ObjectBase (D.98467, iftmp.17);
          goto <D.98501>;
          <D.98496>:
          <D.98501>:
        }
    }
  catch
    {
      if (1 != 0) goto <D.98502>; else goto <D.98503>;
      <D.98502>:
      D.98459 = &this->D.86183;
      sigc::trackable::~trackable (D.98459);
      goto <D.98504>;
      <D.98503>:
      <D.98504>:
    }
}


Gio::UnixFDMessage::UnixFDMessage(GUnixFDMessage*) (struct UnixFDMessage * const this, const void * * __vtt_parm, struct GUnixFDMessage * castitem)
{
  struct trackable * D.98509;
  const void * * iftmp.18;
  struct ObjectBase * D.98517;
  const void * * iftmp.19;
  struct SocketControlMessage * D.98523;
  int (*__vtbl_ptr_type) () * iftmp.20;
  sizetype iftmp.21;
  int (*__vtbl_ptr_type) () * D.98531;
  int (*__vtbl_ptr_type) () * D.98532;
  long int D.98533;
  struct ObjectBase * D.98535;
  int (*__vtbl_ptr_type) () * iftmp.22;
  const void * * iftmp.23;
  const void * * iftmp.24;

  if (0 != 0) goto <D.98507>; else goto <D.98508>;
  <D.98507>:
  D.98509 = &this->D.86183;
  sigc::trackable::trackable (D.98509);
  goto <D.98510>;
  <D.98508>:
  <D.98510>:
  try
    {
      if (0 != 0) goto <D.98511>; else goto <D.98512>;
      <D.98511>:
      if (0 == 0) goto <D.98514>; else goto <D.98515>;
      <D.98514>:
      iftmp.18 = __vtt_parm + 48;
      goto <D.98516>;
      <D.98515>:
      iftmp.18 = &MEM[(void *)&_ZTTN3Gio13UnixFDMessageE + 48B];
      <D.98516>:
      D.98517 = &this->D.86182;
      Glib::ObjectBase::ObjectBase (D.98517, iftmp.18);
      goto <D.98518>;
      <D.98512>:
      <D.98518>:
      try
        {
          if (0 == 0) goto <D.98520>; else goto <D.98521>;
          <D.98520>:
          iftmp.19 = __vtt_parm + 8;
          goto <D.98522>;
          <D.98521>:
          iftmp.19 = &MEM[(void *)&_ZTTN3Gio13UnixFDMessageE + 8B];
          <D.98522>:
          D.98523 = &this->D.86180;
          Gio::SocketControlMessage::SocketControlMessage (D.98523, iftmp.19, castitem);
          try
            {
              if (0 == 0) goto <D.98525>; else goto <D.98526>;
              <D.98525>:
              iftmp.20 = *__vtt_parm;
              goto <D.98527>;
              <D.98526>:
              iftmp.20 = &MEM[(void *)&_ZTVN3Gio13UnixFDMessageE + 32B];
              <D.98527>:
              this->D.86180.D.86034._vptr.Object = iftmp.20;
              if (0 == 0) goto <D.98529>; else goto <D.98530>;
              <D.98529>:
              D.98531 = this->D.86180.D.86034._vptr.Object;
              D.98532 = D.98531 + 18446744073709551592;
              D.98533 = MEM[(long int *)D.98532];
              iftmp.21 = (sizetype) D.98533;
              goto <D.98534>;
              <D.98530>:
              iftmp.21 = 8;
              <D.98534>:
              D.98535 = this + iftmp.21;
              if (0 == 0) goto <D.98537>; else goto <D.98538>;
              <D.98537>:
              iftmp.22 = MEM[(const void * *)__vtt_parm + 40B];
              goto <D.98539>;
              <D.98538>:
              iftmp.22 = &MEM[(void *)&_ZTVN3Gio13UnixFDMessageE + 144B];
              <D.98539>:
              D.98535->_vptr.ObjectBase = iftmp.22;
            }
          catch
            {
              if (0 == 0) goto <D.98541>; else goto <D.98542>;
              <D.98541>:
              iftmp.23 = __vtt_parm + 8;
              goto <D.98543>;
              <D.98542>:
              iftmp.23 = &MEM[(void *)&_ZTTN3Gio13UnixFDMessageE + 8B];
              <D.98543>:
              D.98523 = &this->D.86180;
              Gio::SocketControlMessage::~SocketControlMessage (D.98523, iftmp.23);
            }
        }
      catch
        {
          if (0 != 0) goto <D.98544>; else goto <D.98545>;
          <D.98544>:
          if (0 == 0) goto <D.98547>; else goto <D.98548>;
          <D.98547>:
          iftmp.24 = __vtt_parm + 48;
          goto <D.98549>;
          <D.98548>:
          iftmp.24 = &MEM[(void *)&_ZTTN3Gio13UnixFDMessageE + 48B];
          <D.98549>:
          D.98517 = &this->D.86182;
          Glib::ObjectBase::~ObjectBase (D.98517, iftmp.24);
          goto <D.98550>;
          <D.98545>:
          <D.98550>:
        }
    }
  catch
    {
      if (0 != 0) goto <D.98551>; else goto <D.98552>;
      <D.98551>:
      D.98509 = &this->D.86183;
      sigc::trackable::~trackable (D.98509);
      goto <D.98553>;
      <D.98552>:
      <D.98553>:
    }
}


Gio::UnixFDMessage::UnixFDMessage(GUnixFDMessage*) (struct UnixFDMessage * const this, struct GUnixFDMessage * castitem)
{
  struct trackable * D.98558;
  const void * * iftmp.25;
  struct ObjectBase * D.98566;
  const void * * iftmp.26;
  struct SocketControlMessage * D.98572;
  int (*__vtbl_ptr_type) () * iftmp.27;
  const void * * D.98576;
  sizetype iftmp.28;
  int (*__vtbl_ptr_type) () * D.98581;
  int (*__vtbl_ptr_type) () * D.98582;
  long int D.98583;
  struct ObjectBase * D.98585;
  int (*__vtbl_ptr_type) () * iftmp.29;
  const void * * iftmp.30;
  const void * * iftmp.31;

  if (1 != 0) goto <D.98556>; else goto <D.98557>;
  <D.98556>:
  D.98558 = &this->D.86183;
  sigc::trackable::trackable (D.98558);
  goto <D.98559>;
  <D.98557>:
  <D.98559>:
  try
    {
      if (1 != 0) goto <D.98560>; else goto <D.98561>;
      <D.98560>:
      if (1 == 0) goto <D.98563>; else goto <D.98564>;
      <D.98563>:
      iftmp.25 = 48B;
      goto <D.98565>;
      <D.98564>:
      iftmp.25 = &MEM[(void *)&_ZTTN3Gio13UnixFDMessageE + 48B];
      <D.98565>:
      D.98566 = &this->D.86182;
      Glib::ObjectBase::ObjectBase (D.98566, iftmp.25);
      goto <D.98567>;
      <D.98561>:
      <D.98567>:
      try
        {
          if (1 == 0) goto <D.98569>; else goto <D.98570>;
          <D.98569>:
          iftmp.26 = 8B;
          goto <D.98571>;
          <D.98570>:
          iftmp.26 = &MEM[(void *)&_ZTTN3Gio13UnixFDMessageE + 8B];
          <D.98571>:
          D.98572 = &this->D.86180;
          Gio::SocketControlMessage::SocketControlMessage (D.98572, iftmp.26, castitem);
          try
            {
              if (1 == 0) goto <D.98574>; else goto <D.98575>;
              <D.98574>:
              D.98576 = 0B;
              iftmp.27 = *D.98576;
              goto <D.98577>;
              <D.98575>:
              iftmp.27 = &MEM[(void *)&_ZTVN3Gio13UnixFDMessageE + 32B];
              <D.98577>:
              this->D.86180.D.86034._vptr.Object = iftmp.27;
              if (1 == 0) goto <D.98579>; else goto <D.98580>;
              <D.98579>:
              D.98581 = this->D.86180.D.86034._vptr.Object;
              D.98582 = D.98581 + 18446744073709551592;
              D.98583 = MEM[(long int *)D.98582];
              iftmp.28 = (sizetype) D.98583;
              goto <D.98584>;
              <D.98580>:
              iftmp.28 = 8;
              <D.98584>:
              D.98585 = this + iftmp.28;
              if (1 == 0) goto <D.98587>; else goto <D.98588>;
              <D.98587>:
              iftmp.29 = MEM[(const void * *)0B + 40B];
              goto <D.98589>;
              <D.98588>:
              iftmp.29 = &MEM[(void *)&_ZTVN3Gio13UnixFDMessageE + 144B];
              <D.98589>:
              D.98585->_vptr.ObjectBase = iftmp.29;
            }
          catch
            {
              if (1 == 0) goto <D.98591>; else goto <D.98592>;
              <D.98591>:
              iftmp.30 = 8B;
              goto <D.98593>;
              <D.98592>:
              iftmp.30 = &MEM[(void *)&_ZTTN3Gio13UnixFDMessageE + 8B];
              <D.98593>:
              D.98572 = &this->D.86180;
              Gio::SocketControlMessage::~SocketControlMessage (D.98572, iftmp.30);
            }
        }
      catch
        {
          if (1 != 0) goto <D.98594>; else goto <D.98595>;
          <D.98594>:
          if (1 == 0) goto <D.98597>; else goto <D.98598>;
          <D.98597>:
          iftmp.31 = 48B;
          goto <D.98599>;
          <D.98598>:
          iftmp.31 = &MEM[(void *)&_ZTTN3Gio13UnixFDMessageE + 48B];
          <D.98599>:
          D.98566 = &this->D.86182;
          Glib::ObjectBase::~ObjectBase (D.98566, iftmp.31);
          goto <D.98600>;
          <D.98595>:
          <D.98600>:
        }
    }
  catch
    {
      if (1 != 0) goto <D.98601>; else goto <D.98602>;
      <D.98601>:
      D.98558 = &this->D.86183;
      sigc::trackable::~trackable (D.98558);
      goto <D.98603>;
      <D.98602>:
      <D.98603>:
    }
}


Gio::UnixFDMessage::~UnixFDMessage() (struct UnixFDMessage * const this, const void * * __vtt_parm)
{
  int (*__vtbl_ptr_type) () * iftmp.32;
  sizetype iftmp.33;
  int (*__vtbl_ptr_type) () * D.98613;
  int (*__vtbl_ptr_type) () * D.98614;
  long int D.98615;
  struct ObjectBase * D.98617;
  int (*__vtbl_ptr_type) () * iftmp.34;
  const void * * iftmp.35;
  struct SocketControlMessage * D.98626;
  int D.98627;
  const void * * iftmp.36;
  struct ObjectBase * D.98634;
  struct trackable * D.98638;
  int D.98640;

  {
    if (0 == 0) goto <D.98607>; else goto <D.98608>;
    <D.98607>:
    iftmp.32 = *__vtt_parm;
    goto <D.98609>;
    <D.98608>:
    iftmp.32 = &MEM[(void *)&_ZTVN3Gio13UnixFDMessageE + 32B];
    <D.98609>:
    this->D.86180.D.86034._vptr.Object = iftmp.32;
    if (0 == 0) goto <D.98611>; else goto <D.98612>;
    <D.98611>:
    D.98613 = this->D.86180.D.86034._vptr.Object;
    D.98614 = D.98613 + 18446744073709551592;
    D.98615 = MEM[(long int *)D.98614];
    iftmp.33 = (sizetype) D.98615;
    goto <D.98616>;
    <D.98612>:
    iftmp.33 = 8;
    <D.98616>:
    D.98617 = this + iftmp.33;
    if (0 == 0) goto <D.98619>; else goto <D.98620>;
    <D.98619>:
    iftmp.34 = MEM[(const void * *)__vtt_parm + 40B];
    goto <D.98621>;
    <D.98620>:
    iftmp.34 = &MEM[(void *)&_ZTVN3Gio13UnixFDMessageE + 144B];
    <D.98621>:
    D.98617->_vptr.ObjectBase = iftmp.34;
    try
      {
        try
          {
            try
              {
                try
                  {

                  }
                finally
                  {
                    if (0 == 0) goto <D.98623>; else goto <D.98624>;
                    <D.98623>:
                    iftmp.35 = __vtt_parm + 8;
                    goto <D.98625>;
                    <D.98624>:
                    iftmp.35 = &MEM[(void *)&_ZTTN3Gio13UnixFDMessageE + 8B];
                    <D.98625>:
                    D.98626 = &this->D.86180;
                    Gio::SocketControlMessage::~SocketControlMessage (D.98626, iftmp.35);
                  }
              }
            finally
              {
                D.98627 = 0;
                if (D.98627 != 0) goto <D.98628>; else goto <D.98629>;
                <D.98628>:
                if (0 == 0) goto <D.98631>; else goto <D.98632>;
                <D.98631>:
                iftmp.36 = __vtt_parm + 48;
                goto <D.98633>;
                <D.98632>:
                iftmp.36 = &MEM[(void *)&_ZTTN3Gio13UnixFDMessageE + 48B];
                <D.98633>:
                D.98634 = &this->D.86182;
                Glib::ObjectBase::~ObjectBase (D.98634, iftmp.36);
                goto <D.98635>;
                <D.98629>:
                <D.98635>:
              }
          }
        finally
          {
            D.98627 = 0;
            if (D.98627 != 0) goto <D.98636>; else goto <D.98637>;
            <D.98636>:
            D.98638 = &this->D.86183;
            sigc::trackable::~trackable (D.98638);
            goto <D.98639>;
            <D.98637>:
            <D.98639>:
          }
      }
    finally
      {
        *this = {CLOBBER};
      }
  }
  <D.97363>:
  D.98640 = 0;
  if (D.98640 != 0) goto <D.98641>; else goto <D.98642>;
  <D.98641>:
  operator delete (this);
  goto <D.98643>;
  <D.98642>:
  <D.98643>:
}


virtual Gio::UnixFDMessage::~UnixFDMessage() (struct UnixFDMessage * const this)
{
  int (*__vtbl_ptr_type) () * iftmp.37;
  const void * * D.98659;
  sizetype iftmp.38;
  int (*__vtbl_ptr_type) () * D.98664;
  int (*__vtbl_ptr_type) () * D.98665;
  long int D.98666;
  struct ObjectBase * D.98668;
  int (*__vtbl_ptr_type) () * iftmp.39;
  const void * * iftmp.40;
  struct SocketControlMessage * D.98677;
  int D.98678;
  const void * * iftmp.41;
  struct ObjectBase * D.98685;
  struct trackable * D.98689;
  int D.98691;

  {
    if (2 == 0) goto <D.98657>; else goto <D.98658>;
    <D.98657>:
    D.98659 = 0B;
    iftmp.37 = *D.98659;
    goto <D.98660>;
    <D.98658>:
    iftmp.37 = &MEM[(void *)&_ZTVN3Gio13UnixFDMessageE + 32B];
    <D.98660>:
    this->D.86180.D.86034._vptr.Object = iftmp.37;
    if (2 == 0) goto <D.98662>; else goto <D.98663>;
    <D.98662>:
    D.98664 = this->D.86180.D.86034._vptr.Object;
    D.98665 = D.98664 + 18446744073709551592;
    D.98666 = MEM[(long int *)D.98665];
    iftmp.38 = (sizetype) D.98666;
    goto <D.98667>;
    <D.98663>:
    iftmp.38 = 8;
    <D.98667>:
    D.98668 = this + iftmp.38;
    if (2 == 0) goto <D.98670>; else goto <D.98671>;
    <D.98670>:
    iftmp.39 = MEM[(const void * *)0B + 40B];
    goto <D.98672>;
    <D.98671>:
    iftmp.39 = &MEM[(void *)&_ZTVN3Gio13UnixFDMessageE + 144B];
    <D.98672>:
    D.98668->_vptr.ObjectBase = iftmp.39;
    try
      {
        try
          {
            try
              {
                try
                  {

                  }
                finally
                  {
                    if (2 == 0) goto <D.98674>; else goto <D.98675>;
                    <D.98674>:
                    iftmp.40 = 8B;
                    goto <D.98676>;
                    <D.98675>:
                    iftmp.40 = &MEM[(void *)&_ZTTN3Gio13UnixFDMessageE + 8B];
                    <D.98676>:
                    D.98677 = &this->D.86180;
                    Gio::SocketControlMessage::~SocketControlMessage (D.98677, iftmp.40);
                  }
              }
            finally
              {
                D.98678 = 2;
                if (D.98678 != 0) goto <D.98679>; else goto <D.98680>;
                <D.98679>:
                if (2 == 0) goto <D.98682>; else goto <D.98683>;
                <D.98682>:
                iftmp.41 = 48B;
                goto <D.98684>;
                <D.98683>:
                iftmp.41 = &MEM[(void *)&_ZTTN3Gio13UnixFDMessageE + 48B];
                <D.98684>:
                D.98685 = &this->D.86182;
                Glib::ObjectBase::~ObjectBase (D.98685, iftmp.41);
                goto <D.98686>;
                <D.98680>:
                <D.98686>:
              }
          }
        finally
          {
            D.98678 = 2;
            if (D.98678 != 0) goto <D.98687>; else goto <D.98688>;
            <D.98687>:
            D.98689 = &this->D.86183;
            sigc::trackable::~trackable (D.98689);
            goto <D.98690>;
            <D.98688>:
            <D.98690>:
          }
      }
    finally
      {
        *this = {CLOBBER};
      }
  }
  <D.97366>:
  D.98691 = 0;
  if (D.98691 != 0) goto <D.98692>; else goto <D.98693>;
  <D.98692>:
  operator delete (this);
  goto <D.98694>;
  <D.98693>:
  <D.98694>:
}


virtual Gio::UnixFDMessage::~UnixFDMessage() (struct UnixFDMessage * const this)
{
  Gio::UnixFDMessage::~UnixFDMessage (this);
  <D.97371>:
  operator delete (this);
}


static GType Gio::UnixFDMessage::get_type() ()
{
  GType D.98707;
  const struct Class & D.98708;

  D.98708 = Gio::UnixFDMessage_Class::init (&unixfdmessage_class_);
  D.98707 = Glib::Class::get_type (D.98708);
  return D.98707;
}


GType Glib::Class::get_type() const (const struct Class * const this)
{
  GType D.98711;

  D.98711 = this->gtype_;
  return D.98711;
}


static GType Gio::UnixFDMessage::get_base_type() ()
{
  GType D.98713;

  D.98713 = g_unix_fd_message_get_type ();
  return D.98713;
}


Gio::UnixFDMessage::UnixFDMessage() (struct UnixFDMessage * const this, const void * * __vtt_parm)
{
  struct trackable * D.98718;
  const void * * iftmp.42;
  struct ObjectBase * D.98726;
  struct ConstructParams D.97389;
  const struct Class & D.98728;
  const void * * iftmp.43;
  struct SocketControlMessage * D.98733;
  int (*__vtbl_ptr_type) () * iftmp.44;
  sizetype iftmp.45;
  int (*__vtbl_ptr_type) () * D.98741;
  int (*__vtbl_ptr_type) () * D.98742;
  long int D.98743;
  struct ObjectBase * D.98745;
  int (*__vtbl_ptr_type) () * iftmp.46;
  const void * * iftmp.47;
  const void * * iftmp.48;

  if (0 != 0) goto <D.98716>; else goto <D.98717>;
  <D.98716>:
  D.98718 = &this->D.86183;
  sigc::trackable::trackable (D.98718);
  goto <D.98719>;
  <D.98717>:
  <D.98719>:
  try
    {
      if (0 != 0) goto <D.98720>; else goto <D.98721>;
      <D.98720>:
      if (0 == 0) goto <D.98723>; else goto <D.98724>;
      <D.98723>:
      iftmp.42 = __vtt_parm + 48;
      goto <D.98725>;
      <D.98724>:
      iftmp.42 = &MEM[(void *)&_ZTTN3Gio13UnixFDMessageE + 48B];
      <D.98725>:
      D.98726 = &this->D.86182;
      Glib::ObjectBase::ObjectBase (D.98726, iftmp.42, 0B);
      goto <D.98727>;
      <D.98721>:
      <D.98727>:
      try
        {
          D.98728 = Gio::UnixFDMessage_Class::init (&unixfdmessage_class_);
          Glib::ConstructParams::ConstructParams (&D.97389, D.98728);
          try
            {
              if (0 == 0) goto <D.98730>; else goto <D.98731>;
              <D.98730>:
              iftmp.43 = __vtt_parm + 8;
              goto <D.98732>;
              <D.98731>:
              iftmp.43 = &MEM[(void *)&_ZTTN3Gio13UnixFDMessageE + 8B];
              <D.98732>:
              D.98733 = &this->D.86180;
              Gio::SocketControlMessage::SocketControlMessage (D.98733, iftmp.43, &D.97389);
            }
          finally
            {
              Glib::ConstructParams::~ConstructParams (&D.97389);
              D.97389 = {CLOBBER};
            }
          try
            {
              if (0 == 0) goto <D.98735>; else goto <D.98736>;
              <D.98735>:
              iftmp.44 = *__vtt_parm;
              goto <D.98737>;
              <D.98736>:
              iftmp.44 = &MEM[(void *)&_ZTVN3Gio13UnixFDMessageE + 32B];
              <D.98737>:
              this->D.86180.D.86034._vptr.Object = iftmp.44;
              if (0 == 0) goto <D.98739>; else goto <D.98740>;
              <D.98739>:
              D.98741 = this->D.86180.D.86034._vptr.Object;
              D.98742 = D.98741 + 18446744073709551592;
              D.98743 = MEM[(long int *)D.98742];
              iftmp.45 = (sizetype) D.98743;
              goto <D.98744>;
              <D.98740>:
              iftmp.45 = 8;
              <D.98744>:
              D.98745 = this + iftmp.45;
              if (0 == 0) goto <D.98747>; else goto <D.98748>;
              <D.98747>:
              iftmp.46 = MEM[(const void * *)__vtt_parm + 40B];
              goto <D.98749>;
              <D.98748>:
              iftmp.46 = &MEM[(void *)&_ZTVN3Gio13UnixFDMessageE + 144B];
              <D.98749>:
              D.98745->_vptr.ObjectBase = iftmp.46;
            }
          catch
            {
              if (0 == 0) goto <D.98751>; else goto <D.98752>;
              <D.98751>:
              iftmp.47 = __vtt_parm + 8;
              goto <D.98753>;
              <D.98752>:
              iftmp.47 = &MEM[(void *)&_ZTTN3Gio13UnixFDMessageE + 8B];
              <D.98753>:
              D.98733 = &this->D.86180;
              Gio::SocketControlMessage::~SocketControlMessage (D.98733, iftmp.47);
            }
        }
      catch
        {
          if (0 != 0) goto <D.98754>; else goto <D.98755>;
          <D.98754>:
          if (0 == 0) goto <D.98757>; else goto <D.98758>;
          <D.98757>:
          iftmp.48 = __vtt_parm + 48;
          goto <D.98759>;
          <D.98758>:
          iftmp.48 = &MEM[(void *)&_ZTTN3Gio13UnixFDMessageE + 48B];
          <D.98759>:
          D.98726 = &this->D.86182;
          Glib::ObjectBase::~ObjectBase (D.98726, iftmp.48);
          goto <D.98760>;
          <D.98755>:
          <D.98760>:
        }
    }
  catch
    {
      if (0 != 0) goto <D.98761>; else goto <D.98762>;
      <D.98761>:
      D.98718 = &this->D.86183;
      sigc::trackable::~trackable (D.98718);
      goto <D.98763>;
      <D.98762>:
      <D.98763>:
    }
}


Gio::UnixFDMessage::UnixFDMessage() (struct UnixFDMessage * const this)
{
  struct trackable * D.98770;
  const void * * iftmp.49;
  struct ObjectBase * D.98778;
  struct ConstructParams D.97391;
  const struct Class & D.98780;
  const void * * iftmp.50;
  struct SocketControlMessage * D.98785;
  int (*__vtbl_ptr_type) () * iftmp.51;
  const void * * D.98789;
  sizetype iftmp.52;
  int (*__vtbl_ptr_type) () * D.98794;
  int (*__vtbl_ptr_type) () * D.98795;
  long int D.98796;
  struct ObjectBase * D.98798;
  int (*__vtbl_ptr_type) () * iftmp.53;
  const void * * iftmp.54;
  const void * * iftmp.55;

  if (1 != 0) goto <D.98768>; else goto <D.98769>;
  <D.98768>:
  D.98770 = &this->D.86183;
  sigc::trackable::trackable (D.98770);
  goto <D.98771>;
  <D.98769>:
  <D.98771>:
  try
    {
      if (1 != 0) goto <D.98772>; else goto <D.98773>;
      <D.98772>:
      if (1 == 0) goto <D.98775>; else goto <D.98776>;
      <D.98775>:
      iftmp.49 = 48B;
      goto <D.98777>;
      <D.98776>:
      iftmp.49 = &MEM[(void *)&_ZTTN3Gio13UnixFDMessageE + 48B];
      <D.98777>:
      D.98778 = &this->D.86182;
      Glib::ObjectBase::ObjectBase (D.98778, iftmp.49, 0B);
      goto <D.98779>;
      <D.98773>:
      <D.98779>:
      try
        {
          D.98780 = Gio::UnixFDMessage_Class::init (&unixfdmessage_class_);
          Glib::ConstructParams::ConstructParams (&D.97391, D.98780);
          try
            {
              if (1 == 0) goto <D.98782>; else goto <D.98783>;
              <D.98782>:
              iftmp.50 = 8B;
              goto <D.98784>;
              <D.98783>:
              iftmp.50 = &MEM[(void *)&_ZTTN3Gio13UnixFDMessageE + 8B];
              <D.98784>:
              D.98785 = &this->D.86180;
              Gio::SocketControlMessage::SocketControlMessage (D.98785, iftmp.50, &D.97391);
            }
          finally
            {
              Glib::ConstructParams::~ConstructParams (&D.97391);
              D.97391 = {CLOBBER};
            }
          try
            {
              if (1 == 0) goto <D.98787>; else goto <D.98788>;
              <D.98787>:
              D.98789 = 0B;
              iftmp.51 = *D.98789;
              goto <D.98790>;
              <D.98788>:
              iftmp.51 = &MEM[(void *)&_ZTVN3Gio13UnixFDMessageE + 32B];
              <D.98790>:
              this->D.86180.D.86034._vptr.Object = iftmp.51;
              if (1 == 0) goto <D.98792>; else goto <D.98793>;
              <D.98792>:
              D.98794 = this->D.86180.D.86034._vptr.Object;
              D.98795 = D.98794 + 18446744073709551592;
              D.98796 = MEM[(long int *)D.98795];
              iftmp.52 = (sizetype) D.98796;
              goto <D.98797>;
              <D.98793>:
              iftmp.52 = 8;
              <D.98797>:
              D.98798 = this + iftmp.52;
              if (1 == 0) goto <D.98800>; else goto <D.98801>;
              <D.98800>:
              iftmp.53 = MEM[(const void * *)0B + 40B];
              goto <D.98802>;
              <D.98801>:
              iftmp.53 = &MEM[(void *)&_ZTVN3Gio13UnixFDMessageE + 144B];
              <D.98802>:
              D.98798->_vptr.ObjectBase = iftmp.53;
            }
          catch
            {
              if (1 == 0) goto <D.98804>; else goto <D.98805>;
              <D.98804>:
              iftmp.54 = 8B;
              goto <D.98806>;
              <D.98805>:
              iftmp.54 = &MEM[(void *)&_ZTTN3Gio13UnixFDMessageE + 8B];
              <D.98806>:
              D.98785 = &this->D.86180;
              Gio::SocketControlMessage::~SocketControlMessage (D.98785, iftmp.54);
            }
        }
      catch
        {
          if (1 != 0) goto <D.98807>; else goto <D.98808>;
          <D.98807>:
          if (1 == 0) goto <D.98810>; else goto <D.98811>;
          <D.98810>:
          iftmp.55 = 48B;
          goto <D.98812>;
          <D.98811>:
          iftmp.55 = &MEM[(void *)&_ZTTN3Gio13UnixFDMessageE + 48B];
          <D.98812>:
          D.98778 = &this->D.86182;
          Glib::ObjectBase::~ObjectBase (D.98778, iftmp.55);
          goto <D.98813>;
          <D.98808>:
          <D.98813>:
        }
    }
  catch
    {
      if (1 != 0) goto <D.98814>; else goto <D.98815>;
      <D.98814>:
      D.98770 = &this->D.86183;
      sigc::trackable::~trackable (D.98770);
      goto <D.98816>;
      <D.98815>:
      <D.98816>:
    }
}


Gio::UnixFDMessage::UnixFDMessage(const Glib::RefPtr<Gio::UnixFDList>&) (struct UnixFDMessage * const this, const void * * __vtt_parm, const struct RefPtr & fd_list)
{
  struct trackable * D.98823;
  const void * * iftmp.56;
  struct ObjectBase * D.98831;
  struct ConstructParams D.97402;
  struct BaseObjectType * D.98833;
  const struct Class & D.98834;
  const void * * iftmp.57;
  struct SocketControlMessage * D.98839;
  int (*__vtbl_ptr_type) () * iftmp.58;
  sizetype iftmp.59;
  int (*__vtbl_ptr_type) () * D.98847;
  int (*__vtbl_ptr_type) () * D.98848;
  long int D.98849;
  struct ObjectBase * D.98851;
  int (*__vtbl_ptr_type) () * iftmp.60;
  const void * * iftmp.61;
  const void * * iftmp.62;

  if (0 != 0) goto <D.98821>; else goto <D.98822>;
  <D.98821>:
  D.98823 = &this->D.86183;
  sigc::trackable::trackable (D.98823);
  goto <D.98824>;
  <D.98822>:
  <D.98824>:
  try
    {
      if (0 != 0) goto <D.98825>; else goto <D.98826>;
      <D.98825>:
      if (0 == 0) goto <D.98828>; else goto <D.98829>;
      <D.98828>:
      iftmp.56 = __vtt_parm + 48;
      goto <D.98830>;
      <D.98829>:
      iftmp.56 = &MEM[(void *)&_ZTTN3Gio13UnixFDMessageE + 48B];
      <D.98830>:
      D.98831 = &this->D.86182;
      Glib::ObjectBase::ObjectBase (D.98831, iftmp.56, 0B);
      goto <D.98832>;
      <D.98826>:
      <D.98832>:
      try
        {
          D.98833 = Glib::unwrap<Gio::UnixFDList> (fd_list);
          D.98834 = Gio::UnixFDMessage_Class::init (&unixfdmessage_class_);
          Glib::ConstructParams::ConstructParams (&D.97402, D.98834, "fd_list", D.98833, 0B);
          try
            {
              if (0 == 0) goto <D.98836>; else goto <D.98837>;
              <D.98836>:
              iftmp.57 = __vtt_parm + 8;
              goto <D.98838>;
              <D.98837>:
              iftmp.57 = &MEM[(void *)&_ZTTN3Gio13UnixFDMessageE + 8B];
              <D.98838>:
              D.98839 = &this->D.86180;
              Gio::SocketControlMessage::SocketControlMessage (D.98839, iftmp.57, &D.97402);
            }
          finally
            {
              Glib::ConstructParams::~ConstructParams (&D.97402);
              D.97402 = {CLOBBER};
            }
          try
            {
              if (0 == 0) goto <D.98841>; else goto <D.98842>;
              <D.98841>:
              iftmp.58 = *__vtt_parm;
              goto <D.98843>;
              <D.98842>:
              iftmp.58 = &MEM[(void *)&_ZTVN3Gio13UnixFDMessageE + 32B];
              <D.98843>:
              this->D.86180.D.86034._vptr.Object = iftmp.58;
              if (0 == 0) goto <D.98845>; else goto <D.98846>;
              <D.98845>:
              D.98847 = this->D.86180.D.86034._vptr.Object;
              D.98848 = D.98847 + 18446744073709551592;
              D.98849 = MEM[(long int *)D.98848];
              iftmp.59 = (sizetype) D.98849;
              goto <D.98850>;
              <D.98846>:
              iftmp.59 = 8;
              <D.98850>:
              D.98851 = this + iftmp.59;
              if (0 == 0) goto <D.98853>; else goto <D.98854>;
              <D.98853>:
              iftmp.60 = MEM[(const void * *)__vtt_parm + 40B];
              goto <D.98855>;
              <D.98854>:
              iftmp.60 = &MEM[(void *)&_ZTVN3Gio13UnixFDMessageE + 144B];
              <D.98855>:
              D.98851->_vptr.ObjectBase = iftmp.60;
            }
          catch
            {
              if (0 == 0) goto <D.98857>; else goto <D.98858>;
              <D.98857>:
              iftmp.61 = __vtt_parm + 8;
              goto <D.98859>;
              <D.98858>:
              iftmp.61 = &MEM[(void *)&_ZTTN3Gio13UnixFDMessageE + 8B];
              <D.98859>:
              D.98839 = &this->D.86180;
              Gio::SocketControlMessage::~SocketControlMessage (D.98839, iftmp.61);
            }
        }
      catch
        {
          if (0 != 0) goto <D.98860>; else goto <D.98861>;
          <D.98860>:
          if (0 == 0) goto <D.98863>; else goto <D.98864>;
          <D.98863>:
          iftmp.62 = __vtt_parm + 48;
          goto <D.98865>;
          <D.98864>:
          iftmp.62 = &MEM[(void *)&_ZTTN3Gio13UnixFDMessageE + 48B];
          <D.98865>:
          D.98831 = &this->D.86182;
          Glib::ObjectBase::~ObjectBase (D.98831, iftmp.62);
          goto <D.98866>;
          <D.98861>:
          <D.98866>:
        }
    }
  catch
    {
      if (0 != 0) goto <D.98867>; else goto <D.98868>;
      <D.98867>:
      D.98823 = &this->D.86183;
      sigc::trackable::~trackable (D.98823);
      goto <D.98869>;
      <D.98868>:
      <D.98869>:
    }
}


typename T::BaseObjectType* Glib::unwrap(const Glib::RefPtr<T_CppObject>&) [with T = Gio::UnixFDList; typename T::BaseObjectType = _GUnixFDList] (const struct RefPtr & ptr)
{
  struct BaseObjectType * D.98875;
  struct BaseObjectType * iftmp.63;
  bool D.98877;
  struct UnixFDList * D.98880;

  D.98877 = Glib::RefPtr<Gio::UnixFDList>::operator bool (ptr);
  if (D.98877 != 0) goto <D.98878>; else goto <D.98879>;
  <D.98878>:
  D.98880 = Glib::RefPtr<Gio::UnixFDList>::operator-> (ptr);
  iftmp.63 = Gio::UnixFDList::gobj (D.98880);
  goto <D.98881>;
  <D.98879>:
  iftmp.63 = 0B;
  <D.98881>:
  D.98875 = iftmp.63;
  return D.98875;
}


Glib::RefPtr<T_CppObject>::operator bool() const [with T_CppObject = Gio::UnixFDList] (const struct RefPtr * const this)
{
  bool D.98883;
  struct UnixFDList * D.98884;

  D.98884 = this->pCppObject_;
  D.98883 = D.98884 != 0B;
  return D.98883;
}


T_CppObject* Glib::RefPtr<T_CppObject>::operator->() const [with T_CppObject = Gio::UnixFDList] (const struct RefPtr * const this)
{
  struct UnixFDList * D.98886;

  D.98886 = this->pCppObject_;
  return D.98886;
}


GUnixFDList* Gio::UnixFDList::gobj() (struct UnixFDList * const this)
{
  struct GUnixFDList * D.98888;
  int (*__vtbl_ptr_type) () * D.98889;
  int (*__vtbl_ptr_type) () * D.98890;
  long int D.98891;
  sizetype D.98892;
  struct ObjectBase * D.98893;

  D.98889 = this->D.96878._vptr.Object;
  D.98890 = D.98889 + 18446744073709551592;
  D.98891 = MEM[(long int *)D.98890];
  D.98892 = (sizetype) D.98891;
  D.98893 = this + D.98892;
  D.98888 = D.98893->gobject_;
  return D.98888;
}


Gio::UnixFDMessage::UnixFDMessage(const Glib::RefPtr<Gio::UnixFDList>&) (struct UnixFDMessage * const this, const struct RefPtr & fd_list)
{
  struct trackable * D.98897;
  const void * * iftmp.64;
  struct ObjectBase * D.98905;
  struct ConstructParams D.97404;
  struct BaseObjectType * D.98907;
  const struct Class & D.98908;
  const void * * iftmp.65;
  struct SocketControlMessage * D.98913;
  int (*__vtbl_ptr_type) () * iftmp.66;
  const void * * D.98917;
  sizetype iftmp.67;
  int (*__vtbl_ptr_type) () * D.98922;
  int (*__vtbl_ptr_type) () * D.98923;
  long int D.98924;
  struct ObjectBase * D.98926;
  int (*__vtbl_ptr_type) () * iftmp.68;
  const void * * iftmp.69;
  const void * * iftmp.70;

  if (1 != 0) goto <D.98895>; else goto <D.98896>;
  <D.98895>:
  D.98897 = &this->D.86183;
  sigc::trackable::trackable (D.98897);
  goto <D.98898>;
  <D.98896>:
  <D.98898>:
  try
    {
      if (1 != 0) goto <D.98899>; else goto <D.98900>;
      <D.98899>:
      if (1 == 0) goto <D.98902>; else goto <D.98903>;
      <D.98902>:
      iftmp.64 = 48B;
      goto <D.98904>;
      <D.98903>:
      iftmp.64 = &MEM[(void *)&_ZTTN3Gio13UnixFDMessageE + 48B];
      <D.98904>:
      D.98905 = &this->D.86182;
      Glib::ObjectBase::ObjectBase (D.98905, iftmp.64, 0B);
      goto <D.98906>;
      <D.98900>:
      <D.98906>:
      try
        {
          D.98907 = Glib::unwrap<Gio::UnixFDList> (fd_list);
          D.98908 = Gio::UnixFDMessage_Class::init (&unixfdmessage_class_);
          Glib::ConstructParams::ConstructParams (&D.97404, D.98908, "fd_list", D.98907, 0B);
          try
            {
              if (1 == 0) goto <D.98910>; else goto <D.98911>;
              <D.98910>:
              iftmp.65 = 8B;
              goto <D.98912>;
              <D.98911>:
              iftmp.65 = &MEM[(void *)&_ZTTN3Gio13UnixFDMessageE + 8B];
              <D.98912>:
              D.98913 = &this->D.86180;
              Gio::SocketControlMessage::SocketControlMessage (D.98913, iftmp.65, &D.97404);
            }
          finally
            {
              Glib::ConstructParams::~ConstructParams (&D.97404);
              D.97404 = {CLOBBER};
            }
          try
            {
              if (1 == 0) goto <D.98915>; else goto <D.98916>;
              <D.98915>:
              D.98917 = 0B;
              iftmp.66 = *D.98917;
              goto <D.98918>;
              <D.98916>:
              iftmp.66 = &MEM[(void *)&_ZTVN3Gio13UnixFDMessageE + 32B];
              <D.98918>:
              this->D.86180.D.86034._vptr.Object = iftmp.66;
              if (1 == 0) goto <D.98920>; else goto <D.98921>;
              <D.98920>:
              D.98922 = this->D.86180.D.86034._vptr.Object;
              D.98923 = D.98922 + 18446744073709551592;
              D.98924 = MEM[(long int *)D.98923];
              iftmp.67 = (sizetype) D.98924;
              goto <D.98925>;
              <D.98921>:
              iftmp.67 = 8;
              <D.98925>:
              D.98926 = this + iftmp.67;
              if (1 == 0) goto <D.98928>; else goto <D.98929>;
              <D.98928>:
              iftmp.68 = MEM[(const void * *)0B + 40B];
              goto <D.98930>;
              <D.98929>:
              iftmp.68 = &MEM[(void *)&_ZTVN3Gio13UnixFDMessageE + 144B];
              <D.98930>:
              D.98926->_vptr.ObjectBase = iftmp.68;
            }
          catch
            {
              if (1 == 0) goto <D.98932>; else goto <D.98933>;
              <D.98932>:
              iftmp.69 = 8B;
              goto <D.98934>;
              <D.98933>:
              iftmp.69 = &MEM[(void *)&_ZTTN3Gio13UnixFDMessageE + 8B];
              <D.98934>:
              D.98913 = &this->D.86180;
              Gio::SocketControlMessage::~SocketControlMessage (D.98913, iftmp.69);
            }
        }
      catch
        {
          if (1 != 0) goto <D.98935>; else goto <D.98936>;
          <D.98935>:
          if (1 == 0) goto <D.98938>; else goto <D.98939>;
          <D.98938>:
          iftmp.70 = 48B;
          goto <D.98940>;
          <D.98939>:
          iftmp.70 = &MEM[(void *)&_ZTTN3Gio13UnixFDMessageE + 48B];
          <D.98940>:
          D.98905 = &this->D.86182;
          Glib::ObjectBase::~ObjectBase (D.98905, iftmp.70);
          goto <D.98941>;
          <D.98936>:
          <D.98941>:
        }
    }
  catch
    {
      if (1 != 0) goto <D.98942>; else goto <D.98943>;
      <D.98942>:
      D.98897 = &this->D.86183;
      sigc::trackable::~trackable (D.98897);
      goto <D.98944>;
      <D.98943>:
      <D.98944>:
    }
}


static Glib::RefPtr<Gio::UnixFDMessage> Gio::UnixFDMessage::create() ()
{
  void * D.97408;

  D.97408 = operator new (48);
  try
    {
      Gio::UnixFDMessage::UnixFDMessage (D.97408);
    }
  catch
    {
      operator delete (D.97408);
    }
  Glib::RefPtr<Gio::UnixFDMessage>::RefPtr (<retval>, D.97408);
  return <retval>;
}


static Glib::RefPtr<Gio::UnixFDMessage> Gio::UnixFDMessage::create(const Glib::RefPtr<Gio::UnixFDList>&) (const struct RefPtr & fd_list)
{
  void * D.97415;

  D.97415 = operator new (48);
  try
    {
      Gio::UnixFDMessage::UnixFDMessage (D.97415, fd_list);
    }
  catch
    {
      operator delete (D.97415);
    }
  Glib::RefPtr<Gio::UnixFDMessage>::RefPtr (<retval>, D.97415);
  return <retval>;
}


Glib::RefPtr<Gio::UnixFDList> Gio::UnixFDMessage::get_fd_list() (struct UnixFDMessage * const this)
{
  struct GUnixFDMessage * D.98959;
  struct GUnixFDList * D.98960;

  D.98959 = Gio::UnixFDMessage::gobj (this);
  D.98960 = g_unix_fd_message_get_fd_list (D.98959);
  *<retval> = Glib::wrap (D.98960, 0); [return slot optimization]
  return <retval>;
}


Glib::RefPtr<const Gio::UnixFDList> Gio::UnixFDMessage::get_fd_list() const (const struct UnixFDMessage * const this)
{
  struct RefPtr D.97557;

  D.97557 = Gio::UnixFDMessage::get_fd_list (this); [return slot optimization]
  try
    {
      Glib::RefPtr<const Gio::UnixFDList>::RefPtr<Gio::UnixFDList> (<retval>, &D.97557);
      return <retval>;
    }
  finally
    {
      Glib::RefPtr<Gio::UnixFDList>::~RefPtr (&D.97557);
      D.97557 = {CLOBBER};
    }
}


Glib::RefPtr<T_CppObject>::RefPtr(const Glib::RefPtr<T_CastFrom>&) [with T_CastFrom = Gio::UnixFDList; T_CppObject = const Gio::UnixFDList] (struct RefPtr * const this, const struct RefPtr & src)
{
  struct UnixFDList * D.98967;
  const struct UnixFDList * D.98968;
  int (*__vtbl_ptr_type) () * D.98971;
  int (*__vtbl_ptr_type) () * D.98972;
  long int D.98973;
  sizetype D.98974;
  const struct ObjectBase * D.98975;
  int (*__vtbl_ptr_type) () * D.98976;
  int (*__vtbl_ptr_type) () * D.98977;
  int (*__vtbl_ptr_type) () D.98978;

  D.98967 = Glib::RefPtr<Gio::UnixFDList>::operator-> (src);
  this->pCppObject_ = D.98967;
  D.98968 = this->pCppObject_;
  if (D.98968 != 0B) goto <D.98969>; else goto <D.98970>;
  <D.98969>:
  D.98968 = this->pCppObject_;
  D.98968 = this->pCppObject_;
  D.98971 = D.98968->D.96878._vptr.Object;
  D.98972 = D.98971 + 18446744073709551592;
  D.98973 = MEM[(long int *)D.98972];
  D.98974 = (sizetype) D.98973;
  D.98975 = D.98968 + D.98974;
  D.98968 = this->pCppObject_;
  D.98968 = this->pCppObject_;
  D.98971 = D.98968->D.96878._vptr.Object;
  D.98972 = D.98971 + 18446744073709551592;
  D.98973 = MEM[(long int *)D.98972];
  D.98974 = (sizetype) D.98973;
  D.98975 = D.98968 + D.98974;
  D.98976 = D.98975->_vptr.ObjectBase;
  D.98977 = D.98976 + 16;
  D.98978 = *D.98977;
  D.98968 = this->pCppObject_;
  D.98968 = this->pCppObject_;
  D.98971 = D.98968->D.96878._vptr.Object;
  D.98972 = D.98971 + 18446744073709551592;
  D.98973 = MEM[(long int *)D.98972];
  D.98974 = (sizetype) D.98973;
  D.98975 = D.98968 + D.98974;
  OBJ_TYPE_REF(D.98978;(const struct ObjectBase)D.98975->2) (D.98975);
  goto <D.98979>;
  <D.98970>:
  <D.98979>:
}


Glib::RefPtr<T_CppObject>::~RefPtr() [with T_CppObject = Gio::UnixFDList] (struct RefPtr * const this)
{
  struct UnixFDList * D.98980;
  int (*__vtbl_ptr_type) () * D.98983;
  int (*__vtbl_ptr_type) () * D.98984;
  long int D.98985;
  sizetype D.98986;
  struct ObjectBase * D.98987;
  int (*__vtbl_ptr_type) () * D.98988;
  int (*__vtbl_ptr_type) () * D.98989;
  int (*__vtbl_ptr_type) () D.98990;

  {
    try
      {
        D.98980 = this->pCppObject_;
        if (D.98980 != 0B) goto <D.98981>; else goto <D.98982>;
        <D.98981>:
        D.98980 = this->pCppObject_;
        D.98980 = this->pCppObject_;
        D.98983 = D.98980->D.96878._vptr.Object;
        D.98984 = D.98983 + 18446744073709551592;
        D.98985 = MEM[(long int *)D.98984];
        D.98986 = (sizetype) D.98985;
        D.98987 = D.98980 + D.98986;
        D.98980 = this->pCppObject_;
        D.98980 = this->pCppObject_;
        D.98983 = D.98980->D.96878._vptr.Object;
        D.98984 = D.98983 + 18446744073709551592;
        D.98985 = MEM[(long int *)D.98984];
        D.98986 = (sizetype) D.98985;
        D.98987 = D.98980 + D.98986;
        D.98988 = D.98987->_vptr.ObjectBase;
        D.98989 = D.98988 + 24;
        D.98990 = *D.98989;
        D.98980 = this->pCppObject_;
        D.98980 = this->pCppObject_;
        D.98983 = D.98980->D.96878._vptr.Object;
        D.98984 = D.98983 + 18446744073709551592;
        D.98985 = MEM[(long int *)D.98984];
        D.98986 = (sizetype) D.98985;
        D.98987 = D.98980 + D.98986;
        OBJ_TYPE_REF(D.98990;(const struct ObjectBase)D.98987->3) (D.98987);
        goto <D.98991>;
        <D.98982>:
        <D.98991>:
      }
    finally
      {
        *this = {CLOBBER};
      }
  }
  <D.98005>:
}


bool Gio::UnixFDMessage::append_fd(int) (struct UnixFDMessage * const this, int fd)
{
  struct GUnixFDMessage * D.98993;
  int D.98994;
  struct GError * gerror.71;
  bool D.98998;
  struct GError * gerror;
  bool retvalue;

  try
    {
      gerror = 0B;
      D.98993 = Gio::UnixFDMessage::gobj (this);
      D.98994 = g_unix_fd_message_append_fd (D.98993, fd, &gerror);
      retvalue = D.98994 != 0;
      gerror.71 = gerror;
      if (gerror.71 != 0B) goto <D.98996>; else goto <D.98997>;
      <D.98996>:
      gerror.71 = gerror;
      Glib::Error::throw_exception (gerror.71);
      <D.98997>:
      D.98998 = retvalue;
      return D.98998;
    }
  finally
    {
      gerror = {CLOBBER};
    }
}


Glib::PropertyProxy_ReadOnly<Glib::RefPtr<Gio::UnixFDList> > Gio::UnixFDMessage::property_fd_list() const (const struct UnixFDMessage * const this)
{
  int (*__vtbl_ptr_type) () * D.99004;
  int (*__vtbl_ptr_type) () * D.99005;
  long int D.99006;
  sizetype D.99007;
  const struct ObjectBase * D.99008;

  D.99004 = this->D.86180.D.86034._vptr.Object;
  D.99005 = D.99004 + 18446744073709551592;
  D.99006 = MEM[(long int *)D.99005];
  D.99007 = (sizetype) D.99006;
  D.99008 = this + D.99007;
  Glib::PropertyProxy_ReadOnly<Glib::RefPtr<Gio::UnixFDList> >::PropertyProxy_ReadOnly (<retval>, D.99008, "fd-list");
  return <retval>;
}


Glib::PropertyProxy_ReadOnly<T>::PropertyProxy_ReadOnly(const Glib::ObjectBase*, const char*) [with T = Glib::RefPtr<Gio::UnixFDList>] (struct PropertyProxy_ReadOnly * const this, const struct ObjectBase * obj, const char * name)
{
  struct PropertyProxy_Base * D.99010;

  D.99010 = &this->D.97603;
  Glib::PropertyProxy_Base::PropertyProxy_Base (D.99010, obj, name);
}


