/* Account.c generated by valac 0.56.19, the Vala compiler
 * generated from Account.vala, do not modify */

#include <glib-object.h>
#include <gtk/gtk.h>
#include <json-glib/json-glib.h>
#include <glib.h>
#include <stdlib.h>
#include <string.h>
#include <gio/gio.h>
#include <gee.h>
#include <glib/gi18n-lib.h>
#include <adwaita.h>
#include <libsoup/soup.h>

#if !defined(VALA_STRICT_C)
#if !defined(__clang__) && defined(__GNUC__) && (__GNUC__ >= 14)
#pragma GCC diagnostic warning "-Wincompatible-pointer-types"
#elif defined(__clang__) && (__clang_major__ >= 16)
#pragma clang diagnostic ignored "-Wincompatible-function-pointer-types"
#pragma clang diagnostic ignored "-Wincompatible-pointer-types"
#endif
#endif
#if !defined(VALA_EXTERN)
#if defined(_MSC_VER)
#define VALA_EXTERN __declspec(dllexport) extern
#elif __GNUC__ >= 4
#define VALA_EXTERN __attribute__((visibility("default"))) extern
#else
#define VALA_EXTERN extern
#endif
#endif

#define TUBA_TYPE_WIDGETIZABLE (tuba_widgetizable_get_type ())
#define TUBA_WIDGETIZABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TUBA_TYPE_WIDGETIZABLE, TubaWidgetizable))
#define TUBA_IS_WIDGETIZABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TUBA_TYPE_WIDGETIZABLE))
#define TUBA_WIDGETIZABLE_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), TUBA_TYPE_WIDGETIZABLE, TubaWidgetizableIface))

typedef struct _TubaWidgetizable TubaWidgetizable;
typedef struct _TubaWidgetizableIface TubaWidgetizableIface;

#define TUBA_TYPE_ENTITY (tuba_entity_get_type ())
#define TUBA_ENTITY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TUBA_TYPE_ENTITY, TubaEntity))
#define TUBA_ENTITY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TUBA_TYPE_ENTITY, TubaEntityClass))
#define TUBA_IS_ENTITY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TUBA_TYPE_ENTITY))
#define TUBA_IS_ENTITY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TUBA_TYPE_ENTITY))
#define TUBA_ENTITY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TUBA_TYPE_ENTITY, TubaEntityClass))

typedef struct _TubaEntity TubaEntity;
typedef struct _TubaEntityClass TubaEntityClass;

#define TUBA_API_TYPE_ACCOUNT (tuba_api_account_get_type ())
#define TUBA_API_ACCOUNT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TUBA_API_TYPE_ACCOUNT, TubaAPIAccount))
#define TUBA_API_ACCOUNT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TUBA_API_TYPE_ACCOUNT, TubaAPIAccountClass))
#define TUBA_API_IS_ACCOUNT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TUBA_API_TYPE_ACCOUNT))
#define TUBA_API_IS_ACCOUNT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TUBA_API_TYPE_ACCOUNT))
#define TUBA_API_ACCOUNT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TUBA_API_TYPE_ACCOUNT, TubaAPIAccountClass))

typedef struct _TubaAPIAccount TubaAPIAccount;
typedef struct _TubaAPIAccountClass TubaAPIAccountClass;

#define TUBA_TYPE_INSTANCE_ACCOUNT (tuba_instance_account_get_type ())
#define TUBA_INSTANCE_ACCOUNT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TUBA_TYPE_INSTANCE_ACCOUNT, TubaInstanceAccount))
#define TUBA_INSTANCE_ACCOUNT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TUBA_TYPE_INSTANCE_ACCOUNT, TubaInstanceAccountClass))
#define TUBA_IS_INSTANCE_ACCOUNT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TUBA_TYPE_INSTANCE_ACCOUNT))
#define TUBA_IS_INSTANCE_ACCOUNT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TUBA_TYPE_INSTANCE_ACCOUNT))
#define TUBA_INSTANCE_ACCOUNT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TUBA_TYPE_INSTANCE_ACCOUNT, TubaInstanceAccountClass))

typedef struct _TubaInstanceAccount TubaInstanceAccount;
typedef struct _TubaInstanceAccountClass TubaInstanceAccountClass;
typedef struct _TubaEntityPrivate TubaEntityPrivate;

#define TUBA_API_TYPE_SEARCH_RESULT (tuba_api_search_result_get_type ())
#define TUBA_API_SEARCH_RESULT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TUBA_API_TYPE_SEARCH_RESULT, TubaAPISearchResult))
#define TUBA_API_IS_SEARCH_RESULT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TUBA_API_TYPE_SEARCH_RESULT))
#define TUBA_API_SEARCH_RESULT_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), TUBA_API_TYPE_SEARCH_RESULT, TubaAPISearchResultIface))

typedef struct _TubaAPISearchResult TubaAPISearchResult;
typedef struct _TubaAPISearchResultIface TubaAPISearchResultIface;
typedef struct _TubaAPIAccountPrivate TubaAPIAccountPrivate;

#define TUBA_TYPE_STREAMABLE (tuba_streamable_get_type ())
#define TUBA_STREAMABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TUBA_TYPE_STREAMABLE, TubaStreamable))
#define TUBA_IS_STREAMABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TUBA_TYPE_STREAMABLE))
#define TUBA_STREAMABLE_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), TUBA_TYPE_STREAMABLE, TubaStreamableIface))

typedef struct _TubaStreamable TubaStreamable;
typedef struct _TubaStreamableIface TubaStreamableIface;
typedef struct _TubaInstanceAccountPrivate TubaInstanceAccountPrivate;

#define TUBA_INSTANCE_ACCOUNT_TYPE_KIND (tuba_instance_account_kind_get_type ())
typedef struct _TubaInstanceAccountKind TubaInstanceAccountKind;

#define TUBA_TYPE_PLACE (tuba_place_get_type ())
#define TUBA_PLACE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TUBA_TYPE_PLACE, TubaPlace))
#define TUBA_PLACE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TUBA_TYPE_PLACE, TubaPlaceClass))
#define TUBA_IS_PLACE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TUBA_TYPE_PLACE))
#define TUBA_IS_PLACE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TUBA_TYPE_PLACE))
#define TUBA_PLACE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TUBA_TYPE_PLACE, TubaPlaceClass))

typedef struct _TubaPlace TubaPlace;
typedef struct _TubaPlaceClass TubaPlaceClass;

#define TUBA_API_TYPE_NOTIFICATION (tuba_api_notification_get_type ())
#define TUBA_API_NOTIFICATION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TUBA_API_TYPE_NOTIFICATION, TubaAPINotification))
#define TUBA_API_NOTIFICATION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TUBA_API_TYPE_NOTIFICATION, TubaAPINotificationClass))
#define TUBA_API_IS_NOTIFICATION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TUBA_API_TYPE_NOTIFICATION))
#define TUBA_API_IS_NOTIFICATION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TUBA_API_TYPE_NOTIFICATION))
#define TUBA_API_NOTIFICATION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TUBA_API_TYPE_NOTIFICATION, TubaAPINotificationClass))

typedef struct _TubaAPINotification TubaAPINotification;
typedef struct _TubaAPINotificationClass TubaAPINotificationClass;

#define TUBA_INSTANCE_ACCOUNT_TYPE_VISIBILITY (tuba_instance_account_visibility_get_type ())
#define TUBA_INSTANCE_ACCOUNT_VISIBILITY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TUBA_INSTANCE_ACCOUNT_TYPE_VISIBILITY, TubaInstanceAccountVisibility))
#define TUBA_INSTANCE_ACCOUNT_VISIBILITY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TUBA_INSTANCE_ACCOUNT_TYPE_VISIBILITY, TubaInstanceAccountVisibilityClass))
#define TUBA_INSTANCE_ACCOUNT_IS_VISIBILITY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TUBA_INSTANCE_ACCOUNT_TYPE_VISIBILITY))
#define TUBA_INSTANCE_ACCOUNT_IS_VISIBILITY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TUBA_INSTANCE_ACCOUNT_TYPE_VISIBILITY))
#define TUBA_INSTANCE_ACCOUNT_VISIBILITY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TUBA_INSTANCE_ACCOUNT_TYPE_VISIBILITY, TubaInstanceAccountVisibilityClass))

typedef struct _TubaInstanceAccountVisibility TubaInstanceAccountVisibility;
typedef struct _TubaInstanceAccountVisibilityClass TubaInstanceAccountVisibilityClass;

#define TUBA_MASTODON_TYPE_ACCOUNT (tuba_mastodon_account_get_type ())
#define TUBA_MASTODON_ACCOUNT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TUBA_MASTODON_TYPE_ACCOUNT, TubaMastodonAccount))
#define TUBA_MASTODON_ACCOUNT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TUBA_MASTODON_TYPE_ACCOUNT, TubaMastodonAccountClass))
#define TUBA_MASTODON_IS_ACCOUNT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TUBA_MASTODON_TYPE_ACCOUNT))
#define TUBA_MASTODON_IS_ACCOUNT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TUBA_MASTODON_TYPE_ACCOUNT))
#define TUBA_MASTODON_ACCOUNT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TUBA_MASTODON_TYPE_ACCOUNT, TubaMastodonAccountClass))

typedef struct _TubaMastodonAccount TubaMastodonAccount;
typedef struct _TubaMastodonAccountClass TubaMastodonAccountClass;
typedef struct _TubaMastodonAccountPrivate TubaMastodonAccountPrivate;
enum  {
	TUBA_MASTODON_ACCOUNT_0_PROPERTY,
	TUBA_MASTODON_ACCOUNT_NUM_PROPERTIES
};
static GParamSpec* tuba_mastodon_account_properties[TUBA_MASTODON_ACCOUNT_NUM_PROPERTIES];

#define TUBA_DIALOGS_TYPE_MAIN_WINDOW (tuba_dialogs_main_window_get_type ())
#define TUBA_DIALOGS_MAIN_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TUBA_DIALOGS_TYPE_MAIN_WINDOW, TubaDialogsMainWindow))
#define TUBA_DIALOGS_MAIN_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TUBA_DIALOGS_TYPE_MAIN_WINDOW, TubaDialogsMainWindowClass))
#define TUBA_DIALOGS_IS_MAIN_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TUBA_DIALOGS_TYPE_MAIN_WINDOW))
#define TUBA_DIALOGS_IS_MAIN_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TUBA_DIALOGS_TYPE_MAIN_WINDOW))
#define TUBA_DIALOGS_MAIN_WINDOW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TUBA_DIALOGS_TYPE_MAIN_WINDOW, TubaDialogsMainWindowClass))

typedef struct _TubaDialogsMainWindow TubaDialogsMainWindow;
typedef struct _TubaDialogsMainWindowClass TubaDialogsMainWindowClass;

#define TUBA_DIALOGS_TYPE_SAVEABLE (tuba_dialogs_saveable_get_type ())
#define TUBA_DIALOGS_SAVEABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TUBA_DIALOGS_TYPE_SAVEABLE, TubaDialogsSaveable))
#define TUBA_DIALOGS_IS_SAVEABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TUBA_DIALOGS_TYPE_SAVEABLE))
#define TUBA_DIALOGS_SAVEABLE_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), TUBA_DIALOGS_TYPE_SAVEABLE, TubaDialogsSaveableIface))

typedef struct _TubaDialogsSaveable TubaDialogsSaveable;
typedef struct _TubaDialogsSaveableIface TubaDialogsSaveableIface;
typedef struct _TubaDialogsMainWindowPrivate TubaDialogsMainWindowPrivate;

#define TUBA_VIEWS_TYPE_BASE (tuba_views_base_get_type ())
#define TUBA_VIEWS_BASE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TUBA_VIEWS_TYPE_BASE, TubaViewsBase))
#define TUBA_VIEWS_BASE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TUBA_VIEWS_TYPE_BASE, TubaViewsBaseClass))
#define TUBA_VIEWS_IS_BASE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TUBA_VIEWS_TYPE_BASE))
#define TUBA_VIEWS_IS_BASE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TUBA_VIEWS_TYPE_BASE))
#define TUBA_VIEWS_BASE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TUBA_VIEWS_TYPE_BASE, TubaViewsBaseClass))

typedef struct _TubaViewsBase TubaViewsBase;
typedef struct _TubaViewsBaseClass TubaViewsBaseClass;

#define TUBA_VIEWS_TYPE_TABBED_BASE (tuba_views_tabbed_base_get_type ())
#define TUBA_VIEWS_TABBED_BASE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TUBA_VIEWS_TYPE_TABBED_BASE, TubaViewsTabbedBase))
#define TUBA_VIEWS_TABBED_BASE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TUBA_VIEWS_TYPE_TABBED_BASE, TubaViewsTabbedBaseClass))
#define TUBA_VIEWS_IS_TABBED_BASE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TUBA_VIEWS_TYPE_TABBED_BASE))
#define TUBA_VIEWS_IS_TABBED_BASE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TUBA_VIEWS_TYPE_TABBED_BASE))
#define TUBA_VIEWS_TABBED_BASE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TUBA_VIEWS_TYPE_TABBED_BASE, TubaViewsTabbedBaseClass))

typedef struct _TubaViewsTabbedBase TubaViewsTabbedBase;
typedef struct _TubaViewsTabbedBaseClass TubaViewsTabbedBaseClass;
#define _g_free0(var) (var = (g_free (var), NULL))
typedef void (*TubaPlaceOpenFunc) (TubaDialogsMainWindow* window, GObject* extra);

#define TUBA_VIEWS_TYPE_CONTENT_BASE (tuba_views_content_base_get_type ())
#define TUBA_VIEWS_CONTENT_BASE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TUBA_VIEWS_TYPE_CONTENT_BASE, TubaViewsContentBase))
#define TUBA_VIEWS_CONTENT_BASE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TUBA_VIEWS_TYPE_CONTENT_BASE, TubaViewsContentBaseClass))
#define TUBA_VIEWS_IS_CONTENT_BASE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TUBA_VIEWS_TYPE_CONTENT_BASE))
#define TUBA_VIEWS_IS_CONTENT_BASE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TUBA_VIEWS_TYPE_CONTENT_BASE))
#define TUBA_VIEWS_CONTENT_BASE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TUBA_VIEWS_TYPE_CONTENT_BASE, TubaViewsContentBaseClass))

typedef struct _TubaViewsContentBase TubaViewsContentBase;
typedef struct _TubaViewsContentBaseClass TubaViewsContentBaseClass;

#define TUBA_VIEWS_TYPE_TIMELINE (tuba_views_timeline_get_type ())
#define TUBA_VIEWS_TIMELINE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TUBA_VIEWS_TYPE_TIMELINE, TubaViewsTimeline))
#define TUBA_VIEWS_TIMELINE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TUBA_VIEWS_TYPE_TIMELINE, TubaViewsTimelineClass))
#define TUBA_VIEWS_IS_TIMELINE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TUBA_VIEWS_TYPE_TIMELINE))
#define TUBA_VIEWS_IS_TIMELINE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TUBA_VIEWS_TYPE_TIMELINE))
#define TUBA_VIEWS_TIMELINE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TUBA_VIEWS_TYPE_TIMELINE, TubaViewsTimelineClass))

typedef struct _TubaViewsTimeline TubaViewsTimeline;
typedef struct _TubaViewsTimelineClass TubaViewsTimelineClass;

#define TUBA_VIEWS_TYPE_BOOKMARKS (tuba_views_bookmarks_get_type ())
#define TUBA_VIEWS_BOOKMARKS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TUBA_VIEWS_TYPE_BOOKMARKS, TubaViewsBookmarks))
#define TUBA_VIEWS_BOOKMARKS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TUBA_VIEWS_TYPE_BOOKMARKS, TubaViewsBookmarksClass))
#define TUBA_VIEWS_IS_BOOKMARKS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TUBA_VIEWS_TYPE_BOOKMARKS))
#define TUBA_VIEWS_IS_BOOKMARKS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TUBA_VIEWS_TYPE_BOOKMARKS))
#define TUBA_VIEWS_BOOKMARKS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TUBA_VIEWS_TYPE_BOOKMARKS, TubaViewsBookmarksClass))

typedef struct _TubaViewsBookmarks TubaViewsBookmarks;
typedef struct _TubaViewsBookmarksClass TubaViewsBookmarksClass;
#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL)))

#define TUBA_VIEWS_TYPE_FAVORITES (tuba_views_favorites_get_type ())
#define TUBA_VIEWS_FAVORITES(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TUBA_VIEWS_TYPE_FAVORITES, TubaViewsFavorites))
#define TUBA_VIEWS_FAVORITES_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TUBA_VIEWS_TYPE_FAVORITES, TubaViewsFavoritesClass))
#define TUBA_VIEWS_IS_FAVORITES(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TUBA_VIEWS_TYPE_FAVORITES))
#define TUBA_VIEWS_IS_FAVORITES_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TUBA_VIEWS_TYPE_FAVORITES))
#define TUBA_VIEWS_FAVORITES_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TUBA_VIEWS_TYPE_FAVORITES, TubaViewsFavoritesClass))

typedef struct _TubaViewsFavorites TubaViewsFavorites;
typedef struct _TubaViewsFavoritesClass TubaViewsFavoritesClass;

#define TUBA_VIEWS_TYPE_LISTS (tuba_views_lists_get_type ())
#define TUBA_VIEWS_LISTS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TUBA_VIEWS_TYPE_LISTS, TubaViewsLists))
#define TUBA_VIEWS_LISTS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TUBA_VIEWS_TYPE_LISTS, TubaViewsListsClass))
#define TUBA_VIEWS_IS_LISTS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TUBA_VIEWS_TYPE_LISTS))
#define TUBA_VIEWS_IS_LISTS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TUBA_VIEWS_TYPE_LISTS))
#define TUBA_VIEWS_LISTS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TUBA_VIEWS_TYPE_LISTS, TubaViewsListsClass))

typedef struct _TubaViewsLists TubaViewsLists;
typedef struct _TubaViewsListsClass TubaViewsListsClass;

#define TUBA_VIEWS_TYPE_SEARCH (tuba_views_search_get_type ())
#define TUBA_VIEWS_SEARCH(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TUBA_VIEWS_TYPE_SEARCH, TubaViewsSearch))
#define TUBA_VIEWS_SEARCH_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TUBA_VIEWS_TYPE_SEARCH, TubaViewsSearchClass))
#define TUBA_VIEWS_IS_SEARCH(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TUBA_VIEWS_TYPE_SEARCH))
#define TUBA_VIEWS_IS_SEARCH_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TUBA_VIEWS_TYPE_SEARCH))
#define TUBA_VIEWS_SEARCH_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TUBA_VIEWS_TYPE_SEARCH, TubaViewsSearchClass))

typedef struct _TubaViewsSearch TubaViewsSearch;
typedef struct _TubaViewsSearchClass TubaViewsSearchClass;

#define TUBA_VIEWS_TYPE_EXPLORE (tuba_views_explore_get_type ())
#define TUBA_VIEWS_EXPLORE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TUBA_VIEWS_TYPE_EXPLORE, TubaViewsExplore))
#define TUBA_VIEWS_EXPLORE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TUBA_VIEWS_TYPE_EXPLORE, TubaViewsExploreClass))
#define TUBA_VIEWS_IS_EXPLORE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TUBA_VIEWS_TYPE_EXPLORE))
#define TUBA_VIEWS_IS_EXPLORE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TUBA_VIEWS_TYPE_EXPLORE))
#define TUBA_VIEWS_EXPLORE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TUBA_VIEWS_TYPE_EXPLORE, TubaViewsExploreClass))

typedef struct _TubaViewsExplore TubaViewsExplore;
typedef struct _TubaViewsExploreClass TubaViewsExploreClass;

#define TUBA_VIEWS_TYPE_FEDERATED (tuba_views_federated_get_type ())
#define TUBA_VIEWS_FEDERATED(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TUBA_VIEWS_TYPE_FEDERATED, TubaViewsFederated))
#define TUBA_VIEWS_FEDERATED_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TUBA_VIEWS_TYPE_FEDERATED, TubaViewsFederatedClass))
#define TUBA_VIEWS_IS_FEDERATED(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TUBA_VIEWS_TYPE_FEDERATED))
#define TUBA_VIEWS_IS_FEDERATED_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TUBA_VIEWS_TYPE_FEDERATED))
#define TUBA_VIEWS_FEDERATED_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TUBA_VIEWS_TYPE_FEDERATED, TubaViewsFederatedClass))

typedef struct _TubaViewsFederated TubaViewsFederated;
typedef struct _TubaViewsFederatedClass TubaViewsFederatedClass;

#define TUBA_VIEWS_TYPE_LOCAL (tuba_views_local_get_type ())
#define TUBA_VIEWS_LOCAL(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TUBA_VIEWS_TYPE_LOCAL, TubaViewsLocal))
#define TUBA_VIEWS_LOCAL_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TUBA_VIEWS_TYPE_LOCAL, TubaViewsLocalClass))
#define TUBA_VIEWS_IS_LOCAL(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TUBA_VIEWS_TYPE_LOCAL))
#define TUBA_VIEWS_IS_LOCAL_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TUBA_VIEWS_TYPE_LOCAL))
#define TUBA_VIEWS_LOCAL_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TUBA_VIEWS_TYPE_LOCAL, TubaViewsLocalClass))

typedef struct _TubaViewsLocal TubaViewsLocal;
typedef struct _TubaViewsLocalClass TubaViewsLocalClass;

#define TUBA_VIEWS_TYPE_BUBBLE (tuba_views_bubble_get_type ())
#define TUBA_VIEWS_BUBBLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TUBA_VIEWS_TYPE_BUBBLE, TubaViewsBubble))
#define TUBA_VIEWS_BUBBLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TUBA_VIEWS_TYPE_BUBBLE, TubaViewsBubbleClass))
#define TUBA_VIEWS_IS_BUBBLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TUBA_VIEWS_TYPE_BUBBLE))
#define TUBA_VIEWS_IS_BUBBLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TUBA_VIEWS_TYPE_BUBBLE))
#define TUBA_VIEWS_BUBBLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TUBA_VIEWS_TYPE_BUBBLE, TubaViewsBubbleClass))

typedef struct _TubaViewsBubble TubaViewsBubble;
typedef struct _TubaViewsBubbleClass TubaViewsBubbleClass;

#define TUBA_VIEWS_TYPE_HASHTAGS (tuba_views_hashtags_get_type ())
#define TUBA_VIEWS_HASHTAGS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TUBA_VIEWS_TYPE_HASHTAGS, TubaViewsHashtags))
#define TUBA_VIEWS_HASHTAGS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TUBA_VIEWS_TYPE_HASHTAGS, TubaViewsHashtagsClass))
#define TUBA_VIEWS_IS_HASHTAGS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TUBA_VIEWS_TYPE_HASHTAGS))
#define TUBA_VIEWS_IS_HASHTAGS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TUBA_VIEWS_TYPE_HASHTAGS))
#define TUBA_VIEWS_HASHTAGS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TUBA_VIEWS_TYPE_HASHTAGS, TubaViewsHashtagsClass))

typedef struct _TubaViewsHashtags TubaViewsHashtags;
typedef struct _TubaViewsHashtagsClass TubaViewsHashtagsClass;

#define TUBA_VIEWS_TYPE_DRIVE (tuba_views_drive_get_type ())
#define TUBA_VIEWS_DRIVE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TUBA_VIEWS_TYPE_DRIVE, TubaViewsDrive))
#define TUBA_VIEWS_DRIVE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TUBA_VIEWS_TYPE_DRIVE, TubaViewsDriveClass))
#define TUBA_VIEWS_IS_DRIVE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TUBA_VIEWS_TYPE_DRIVE))
#define TUBA_VIEWS_IS_DRIVE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TUBA_VIEWS_TYPE_DRIVE))
#define TUBA_VIEWS_DRIVE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TUBA_VIEWS_TYPE_DRIVE, TubaViewsDriveClass))

typedef struct _TubaViewsDrive TubaViewsDrive;
typedef struct _TubaViewsDriveClass TubaViewsDriveClass;

#define TUBA_TYPE_ACCOUNT_STORE (tuba_account_store_get_type ())
#define TUBA_ACCOUNT_STORE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TUBA_TYPE_ACCOUNT_STORE, TubaAccountStore))
#define TUBA_ACCOUNT_STORE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TUBA_TYPE_ACCOUNT_STORE, TubaAccountStoreClass))
#define TUBA_IS_ACCOUNT_STORE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TUBA_TYPE_ACCOUNT_STORE))
#define TUBA_IS_ACCOUNT_STORE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TUBA_TYPE_ACCOUNT_STORE))
#define TUBA_ACCOUNT_STORE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TUBA_TYPE_ACCOUNT_STORE, TubaAccountStoreClass))

typedef struct _TubaAccountStore TubaAccountStore;
typedef struct _TubaAccountStoreClass TubaAccountStoreClass;
#define _g_error_free0(var) ((var == NULL) ? NULL : (var = (g_error_free (var), NULL)))

#define TUBA_API_TYPE_INSTANCE (tuba_api_instance_get_type ())
#define TUBA_API_INSTANCE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TUBA_API_TYPE_INSTANCE, TubaAPIInstance))
#define TUBA_API_INSTANCE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TUBA_API_TYPE_INSTANCE, TubaAPIInstanceClass))
#define TUBA_API_IS_INSTANCE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TUBA_API_TYPE_INSTANCE))
#define TUBA_API_IS_INSTANCE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TUBA_API_TYPE_INSTANCE))
#define TUBA_API_INSTANCE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TUBA_API_TYPE_INSTANCE, TubaAPIInstanceClass))

typedef struct _TubaAPIInstance TubaAPIInstance;
typedef struct _TubaAPIInstanceClass TubaAPIInstanceClass;
typedef enum  {
	TUBA_INSTANCE_ACCOUNT_INSTANCE_FEATURES_NONE = 1 << 0,
	TUBA_INSTANCE_ACCOUNT_INSTANCE_FEATURES_QUOTE = 1 << 1,
	TUBA_INSTANCE_ACCOUNT_INSTANCE_FEATURES_EMOJI_REACTIONS = 1 << 2,
	TUBA_INSTANCE_ACCOUNT_INSTANCE_FEATURES_BUBBLE = 1 << 3,
	TUBA_INSTANCE_ACCOUNT_INSTANCE_FEATURES_GROUP_NOTIFICATIONS = 1 << 4,
	TUBA_INSTANCE_ACCOUNT_INSTANCE_FEATURES_FEATURE_TAGS = 1 << 5,
	TUBA_INSTANCE_ACCOUNT_INSTANCE_FEATURES_ENDORSE_USERS = 1 << 6,
	TUBA_INSTANCE_ACCOUNT_INSTANCE_FEATURES_MUTUALS = 1 << 7,
	TUBA_INSTANCE_ACCOUNT_INSTANCE_FEATURES_TRANSLATION = 1 << 8,
	TUBA_INSTANCE_ACCOUNT_INSTANCE_FEATURES_ICESHRIMP = 1 << 9,
	TUBA_INSTANCE_ACCOUNT_INSTANCE_FEATURES_GLITCH = 1 << 10,
	TUBA_INSTANCE_ACCOUNT_INSTANCE_FEATURES_LOCAL_ONLY = 1 << 11,
	TUBA_INSTANCE_ACCOUNT_INSTANCE_FEATURES_GOTOSOCIAL = 1 << 12
} TubaInstanceAccountInstanceFeatures;

#define TUBA_INSTANCE_ACCOUNT_TYPE_INSTANCE_FEATURES (tuba_instance_account_instance_features_get_type ())

#define TUBA_TYPE_APPLICATION (tuba_application_get_type ())
#define TUBA_APPLICATION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TUBA_TYPE_APPLICATION, TubaApplication))
#define TUBA_APPLICATION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TUBA_TYPE_APPLICATION, TubaApplicationClass))
#define TUBA_IS_APPLICATION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TUBA_TYPE_APPLICATION))
#define TUBA_IS_APPLICATION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TUBA_TYPE_APPLICATION))
#define TUBA_APPLICATION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TUBA_TYPE_APPLICATION, TubaApplicationClass))

typedef struct _TubaApplication TubaApplication;
typedef struct _TubaApplicationClass TubaApplicationClass;

#define TUBA_API_INSTANCE_V2_TYPE_API_VERSIONS (tuba_api_instance_v2_api_versions_get_type ())
#define TUBA_API_INSTANCE_V2_API_VERSIONS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TUBA_API_INSTANCE_V2_TYPE_API_VERSIONS, TubaAPIInstanceV2APIVersions))
#define TUBA_API_INSTANCE_V2_API_VERSIONS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TUBA_API_INSTANCE_V2_TYPE_API_VERSIONS, TubaAPIInstanceV2APIVersionsClass))
#define TUBA_API_INSTANCE_V2_IS_API_VERSIONS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TUBA_API_INSTANCE_V2_TYPE_API_VERSIONS))
#define TUBA_API_INSTANCE_V2_IS_API_VERSIONS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TUBA_API_INSTANCE_V2_TYPE_API_VERSIONS))
#define TUBA_API_INSTANCE_V2_API_VERSIONS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TUBA_API_INSTANCE_V2_TYPE_API_VERSIONS, TubaAPIInstanceV2APIVersionsClass))

typedef struct _TubaAPIInstanceV2APIVersions TubaAPIInstanceV2APIVersions;
typedef struct _TubaAPIInstanceV2APIVersionsClass TubaAPIInstanceV2APIVersionsClass;
typedef struct _Block54Data Block54Data;

#define TUBA_TYPE_REQUEST_V2 (tuba_request_v2_get_type ())
#define TUBA_REQUEST_V2(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TUBA_TYPE_REQUEST_V2, TubaRequestV2))
#define TUBA_REQUEST_V2_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TUBA_TYPE_REQUEST_V2, TubaRequestV2Class))
#define TUBA_IS_REQUEST_V2(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TUBA_TYPE_REQUEST_V2))
#define TUBA_IS_REQUEST_V2_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TUBA_TYPE_REQUEST_V2))
#define TUBA_REQUEST_V2_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TUBA_TYPE_REQUEST_V2, TubaRequestV2Class))

typedef struct _TubaRequestV2 TubaRequestV2;
typedef struct _TubaRequestV2Class TubaRequestV2Class;
typedef enum  {
	TUBA_REQUEST_V2_METHOD_GET,
	TUBA_REQUEST_V2_METHOD_POST,
	TUBA_REQUEST_V2_METHOD_PUT,
	TUBA_REQUEST_V2_METHOD_DELETE,
	TUBA_REQUEST_V2_METHOD_PATCH
} TubaRequestV2Method;

#define TUBA_REQUEST_V2_TYPE_METHOD (tuba_request_v2_method_get_type ())

#define TUBA_TYPE_OOPSIE (tuba_oopsie_get_type ())
typedef struct _TubaMastodonAccountAnswerFollowRequestRealData TubaMastodonAccountAnswerFollowRequestRealData;

#define TUBA_API_TYPE_RELATIONSHIP (tuba_api_relationship_get_type ())
#define TUBA_API_RELATIONSHIP(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TUBA_API_TYPE_RELATIONSHIP, TubaAPIRelationship))
#define TUBA_API_RELATIONSHIP_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TUBA_API_TYPE_RELATIONSHIP, TubaAPIRelationshipClass))
#define TUBA_API_IS_RELATIONSHIP(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TUBA_API_TYPE_RELATIONSHIP))
#define TUBA_API_IS_RELATIONSHIP_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TUBA_API_TYPE_RELATIONSHIP))
#define TUBA_API_RELATIONSHIP_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TUBA_API_TYPE_RELATIONSHIP, TubaAPIRelationshipClass))

typedef struct _TubaAPIRelationship TubaAPIRelationship;
typedef struct _TubaAPIRelationshipClass TubaAPIRelationshipClass;
typedef struct _Block55Data Block55Data;
typedef struct _TubaMastodonAccountFollowRealData TubaMastodonAccountFollowRealData;
typedef struct _TubaMastodonAccountRemoveFromFollowersRealData TubaMastodonAccountRemoveFromFollowersRealData;

#define TUBA_API_TYPE_STATUS (tuba_api_status_get_type ())
#define TUBA_API_STATUS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TUBA_API_TYPE_STATUS, TubaAPIStatus))
#define TUBA_API_STATUS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TUBA_API_TYPE_STATUS, TubaAPIStatusClass))
#define TUBA_API_IS_STATUS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TUBA_API_TYPE_STATUS))
#define TUBA_API_IS_STATUS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TUBA_API_TYPE_STATUS))
#define TUBA_API_STATUS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TUBA_API_TYPE_STATUS, TubaAPIStatusClass))

typedef struct _TubaAPIStatus TubaAPIStatus;
typedef struct _TubaAPIStatusClass TubaAPIStatusClass;
typedef void (*TubaDialogsComposerDialogSuccessCallback) (TubaAPIStatus* cb_status, gpointer user_data);

#define TUBA_DIALOGS_COMPOSER_TYPE_DIALOG (tuba_dialogs_composer_dialog_get_type ())
#define TUBA_DIALOGS_COMPOSER_DIALOG(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TUBA_DIALOGS_COMPOSER_TYPE_DIALOG, TubaDialogsComposerDialog))
#define TUBA_DIALOGS_COMPOSER_DIALOG_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TUBA_DIALOGS_COMPOSER_TYPE_DIALOG, TubaDialogsComposerDialogClass))
#define TUBA_DIALOGS_COMPOSER_IS_DIALOG(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TUBA_DIALOGS_COMPOSER_TYPE_DIALOG))
#define TUBA_DIALOGS_COMPOSER_IS_DIALOG_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TUBA_DIALOGS_COMPOSER_TYPE_DIALOG))
#define TUBA_DIALOGS_COMPOSER_DIALOG_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TUBA_DIALOGS_COMPOSER_TYPE_DIALOG, TubaDialogsComposerDialogClass))

typedef struct _TubaDialogsComposerDialog TubaDialogsComposerDialog;
typedef struct _TubaDialogsComposerDialogClass TubaDialogsComposerDialogClass;
typedef enum  {
	TUBA_API_STATUS_VISIBILITY_PUBLIC,
	TUBA_API_STATUS_VISIBILITY_UNLISTED,
	TUBA_API_STATUS_VISIBILITY_PRIVATE,
	TUBA_API_STATUS_VISIBILITY_DIRECT,
	TUBA_API_STATUS_VISIBILITY_LOCAL
} TubaAPIStatusVisibility;

#define TUBA_API_STATUS_TYPE_VISIBILITY (tuba_api_status_visibility_get_type ())

struct _TubaWidgetizableIface {
	GTypeInterface parent_iface;
	GtkWidget* (*to_widget) (TubaWidgetizable* self);
	void (*open) (TubaWidgetizable* self);
	void (*resolve_open) (TubaWidgetizable* self, TubaInstanceAccount* account);
};

struct _TubaEntity {
	GObject parent_instance;
	TubaEntityPrivate * priv;
};

struct _TubaEntityClass {
	GObjectClass parent_class;
	gboolean (*is_local) (TubaEntity* self, TubaInstanceAccount* account);
	GType (*deserialize_array_type) (TubaEntity* self, const gchar* prop);
};

struct _TubaAPISearchResultIface {
	GTypeInterface parent_iface;
	GRegex* (*get_tuba_search_query_regex) (TubaAPISearchResult* self);
	void (*set_tuba_search_query_regex) (TubaAPISearchResult* self, GRegex* value);
};

struct _TubaAPIAccount {
	TubaEntity parent_instance;
	TubaAPIAccountPrivate * priv;
};

struct _TubaAPIAccountClass {
	TubaEntityClass parent_class;
};

struct _TubaStreamableIface {
	GTypeInterface parent_iface;
	gchar* (*get_stream_url) (TubaStreamable* self);
	void (*on_streaming_policy_changed) (TubaStreamable* self);
	const gchar* (*get_t_connection_url) (TubaStreamable* self);
	void (*set_t_connection_url) (TubaStreamable* self, const gchar* value);
	gboolean (*get_subscribed) (TubaStreamable* self);
	void (*set_subscribed) (TubaStreamable* self, gboolean value);
};

struct _TubaInstanceAccountKind {
	gchar* icon;
	gchar* description;
	gchar* url;
};

struct _TubaInstanceAccount {
	TubaAPIAccount parent_instance;
	TubaInstanceAccountPrivate * priv;
	GListStore* known_places;
	GListStore* list_places;
	GListStore* tags_places;
	GeeHashMap* type_overrides;
	GeeHashMap* visibility;
	GListStore* visibility_list;
	GListStore* supported_mime_types;
};

struct _TubaInstanceAccountClass {
	TubaAPIAccountClass parent_class;
	void (*describe_kind) (TubaInstanceAccount* self, const gchar* kind, TubaInstanceAccountKind* _result_, const gchar* actor_name, const gchar* callback_url, const gchar* other_data);
	void (*register_known_places) (TubaInstanceAccount* self, GListStore* places);
	void (*register_extra) (TubaInstanceAccount* self, GListStore* places, TubaPlace** extra, gint extra_length1);
	void (*bump_sidebar_items) (TubaInstanceAccount* self);
	void (*check_notifications) (TubaInstanceAccount* self, GAsyncReadyCallback _callback_, gpointer _user_data_);
	void (*check_notifications_finish) (TubaInstanceAccount* self, GAsyncResult* _res_);
	gchar* (*get_stream_url) (TubaInstanceAccount* self);
	void (*on_notification_received) (TubaInstanceAccount* self, TubaAPINotification* entity);
	void (*open_status_url) (TubaInstanceAccount* self, const gchar* url);
	void (*answer_follow_request) (TubaInstanceAccount* self, const gchar* issuer_id, const gchar* fr_id, gboolean accept);
	void (*follow_back) (TubaInstanceAccount* self, const gchar* issuer_id, const gchar* acc_id);
	void (*reply_to_status_uri) (TubaInstanceAccount* self, const gchar* issuer_id, const gchar* uri);
	void (*remove_from_followers) (TubaInstanceAccount* self, const gchar* issuer_id, const gchar* acc_id);
	void (*activated) (TubaInstanceAccount* self);
	void (*deactivated) (TubaInstanceAccount* self);
	void (*added) (TubaInstanceAccount* self);
	void (*removed) (TubaInstanceAccount* self);
};

struct _TubaMastodonAccount {
	TubaInstanceAccount parent_instance;
	TubaMastodonAccountPrivate * priv;
};

struct _TubaMastodonAccountClass {
	TubaInstanceAccountClass parent_class;
};

struct _TubaDialogsSaveableIface {
	GTypeInterface parent_iface;
};

struct _TubaDialogsMainWindow {
	AdwApplicationWindow parent_instance;
	TubaDialogsMainWindowPrivate * priv;
	AdwOverlaySplitView* split_view;
	AdwNavigationPage* main_page;
};

struct _TubaDialogsMainWindowClass {
	AdwApplicationWindowClass parent_class;
};

struct _Block54Data {
	int _ref_count_;
	TubaMastodonAccount* self;
	gchar* url;
};

typedef enum  {
	TUBA_OOPSIE_USER,
	TUBA_OOPSIE_PARSING,
	TUBA_OOPSIE_INSTANCE,
	TUBA_OOPSIE_INTERNAL,
	TUBA_OOPSIE_HTTP_401 = 401,
	TUBA_OOPSIE_HTTP_403 = 403,
	TUBA_OOPSIE_HTTP_404 = 404,
	TUBA_OOPSIE_HTTP_410 = 410,
	TUBA_OOPSIE_HTTP_422 = 422,
	TUBA_OOPSIE_HTTP_429 = 429,
	TUBA_OOPSIE_HTTP_500 = 500,
	TUBA_OOPSIE_HTTP_503 = 503
} TubaOopsie;
#define TUBA_OOPSIE tuba_oopsie_quark ()

struct _TubaMastodonAccountAnswerFollowRequestRealData {
	int _state_;
	GObject* _source_object_;
	GAsyncResult* _res_;
	GTask* _async_result;
	TubaMastodonAccount* self;
	gchar* fr_id;
	gboolean accept;
	const gchar* _tmp0_;
	TubaRequestV2* req;
	const gchar* _tmp1_;
	const gchar* _tmp2_;
	gchar* _tmp3_;
	gchar* _tmp4_;
	TubaInstanceAccount* _tmp5_;
	TubaRequestV2* _tmp6_;
	TubaRequestV2* _tmp7_;
	GInputStream* _tmp8_;
	GInputStream* _tmp9_;
	GError* e;
	const gchar* _tmp10_;
	const gchar* _tmp11_;
	GError* _tmp12_;
	gchar* _tmp13_;
	gchar* _tmp14_;
	GError* _tmp15_;
	const gchar* _tmp16_;
	const gchar* _tmp17_;
	gchar* _tmp18_;
	gchar* _tmp19_;
	GError* _inner_error0_;
};

struct _Block55Data {
	int _ref_count_;
	TubaMastodonAccount* self;
	TubaAPIRelationship* relationship;
	gulong invalidate_signal_id;
	gchar* acc_id;
};

struct _TubaMastodonAccountFollowRealData {
	int _state_;
	GObject* _source_object_;
	GAsyncResult* _res_;
	GTask* _async_result;
	TubaMastodonAccount* self;
	gchar* acc_id;
	TubaRequestV2* req;
	const gchar* _tmp0_;
	gchar* _tmp1_;
	gchar* _tmp2_;
	TubaInstanceAccount* _tmp3_;
	TubaRequestV2* _tmp4_;
	TubaRequestV2* _tmp5_;
	GInputStream* _tmp6_;
	GInputStream* _tmp7_;
	GError* e;
	const gchar* _tmp8_;
	GError* _tmp9_;
	gchar* _tmp10_;
	gchar* _tmp11_;
	GError* _tmp12_;
	const gchar* _tmp13_;
	const gchar* _tmp14_;
	gchar* _tmp15_;
	gchar* _tmp16_;
	GError* _inner_error0_;
};

struct _TubaMastodonAccountRemoveFromFollowersRealData {
	int _state_;
	GObject* _source_object_;
	GAsyncResult* _res_;
	GTask* _async_result;
	TubaMastodonAccount* self;
	gchar* acc_id;
	TubaRequestV2* req;
	const gchar* _tmp0_;
	gchar* _tmp1_;
	gchar* _tmp2_;
	TubaInstanceAccount* _tmp3_;
	TubaRequestV2* _tmp4_;
	TubaRequestV2* _tmp5_;
	GInputStream* _tmp6_;
	GInputStream* _tmp7_;
	GError* e;
	const gchar* _tmp8_;
	GError* _tmp9_;
	gchar* _tmp10_;
	gchar* _tmp11_;
	GError* _tmp12_;
	const gchar* _tmp13_;
	const gchar* _tmp14_;
	gchar* _tmp15_;
	gchar* _tmp16_;
	GError* _inner_error0_;
};

static gpointer tuba_mastodon_account_parent_class = NULL;
VALA_EXTERN TubaPlace* tuba_mastodon_account_PLACE_HOME;
TubaPlace* tuba_mastodon_account_PLACE_HOME = NULL;
VALA_EXTERN TubaPlace* tuba_mastodon_account_PLACE_NOTIFICATIONS;
TubaPlace* tuba_mastodon_account_PLACE_NOTIFICATIONS = NULL;
VALA_EXTERN TubaPlace* tuba_mastodon_account_PLACE_CONVERSATIONS;
TubaPlace* tuba_mastodon_account_PLACE_CONVERSATIONS = NULL;
VALA_EXTERN TubaPlace* tuba_mastodon_account_PLACE_BOOKMARKS;
TubaPlace* tuba_mastodon_account_PLACE_BOOKMARKS = NULL;
VALA_EXTERN TubaPlace* tuba_mastodon_account_PLACE_FAVORITES;
TubaPlace* tuba_mastodon_account_PLACE_FAVORITES = NULL;
VALA_EXTERN TubaPlace* tuba_mastodon_account_PLACE_LISTS;
TubaPlace* tuba_mastodon_account_PLACE_LISTS = NULL;
VALA_EXTERN TubaPlace* tuba_mastodon_account_PLACE_SEARCH;
TubaPlace* tuba_mastodon_account_PLACE_SEARCH = NULL;
VALA_EXTERN TubaPlace* tuba_mastodon_account_PLACE_EXPLORE;
TubaPlace* tuba_mastodon_account_PLACE_EXPLORE = NULL;
VALA_EXTERN TubaPlace* tuba_mastodon_account_PLACE_LOCAL;
TubaPlace* tuba_mastodon_account_PLACE_LOCAL = NULL;
VALA_EXTERN TubaPlace* tuba_mastodon_account_PLACE_BUBBLE;
TubaPlace* tuba_mastodon_account_PLACE_BUBBLE = NULL;
VALA_EXTERN TubaPlace* tuba_mastodon_account_PLACE_FEDERATED;
TubaPlace* tuba_mastodon_account_PLACE_FEDERATED = NULL;
VALA_EXTERN TubaPlace* tuba_mastodon_account_PLACE_HASHTAGS;
TubaPlace* tuba_mastodon_account_PLACE_HASHTAGS = NULL;
VALA_EXTERN TubaPlace* tuba_mastodon_account_PLACE_DRIVE;
TubaPlace* tuba_mastodon_account_PLACE_DRIVE = NULL;
static TubaPlace** tuba_mastodon_account_SIDEBAR_PLACES;
static gint tuba_mastodon_account_SIDEBAR_PLACES_length1;
static TubaPlace** tuba_mastodon_account_SIDEBAR_PLACES = NULL;
static gint tuba_mastodon_account_SIDEBAR_PLACES_length1 = 0;
static gint _tuba_mastodon_account_SIDEBAR_PLACES_size_ = 0;
VALA_EXTERN TubaApplication* tuba_app;

VALA_EXTERN GType tuba_entity_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (TubaEntity, g_object_unref)
VALA_EXTERN GType tuba_api_account_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (TubaAPIAccount, g_object_unref)
VALA_EXTERN GType tuba_instance_account_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (TubaInstanceAccount, g_object_unref)
VALA_EXTERN GType tuba_widgetizable_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (TubaWidgetizable, g_object_unref)
VALA_EXTERN GType tuba_api_search_result_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (TubaAPISearchResult, g_object_unref)
VALA_EXTERN GType tuba_streamable_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (TubaStreamable, g_object_unref)
VALA_EXTERN GType tuba_instance_account_kind_get_type (void) G_GNUC_CONST ;
VALA_EXTERN TubaInstanceAccountKind* tuba_instance_account_kind_dup (const TubaInstanceAccountKind* self);
VALA_EXTERN void tuba_instance_account_kind_free (TubaInstanceAccountKind* self);
VALA_EXTERN void tuba_instance_account_kind_copy (const TubaInstanceAccountKind* self,
                                      TubaInstanceAccountKind* dest);
VALA_EXTERN void tuba_instance_account_kind_destroy (TubaInstanceAccountKind* self);
G_DEFINE_AUTO_CLEANUP_CLEAR_FUNC (TubaInstanceAccountKind, tuba_instance_account_kind_destroy)
VALA_EXTERN GType tuba_place_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (TubaPlace, g_object_unref)
VALA_EXTERN GType tuba_api_notification_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (TubaAPINotification, g_object_unref)
VALA_EXTERN GType tuba_instance_account_visibility_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (TubaInstanceAccountVisibility, g_object_unref)
VALA_EXTERN GType tuba_mastodon_account_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (TubaMastodonAccount, g_object_unref)
VALA_EXTERN void tuba_instance_account_bump_sidebar_items (TubaInstanceAccount* self);
VALA_EXTERN void tuba_instance_account_register_known_places (TubaInstanceAccount* self,
                                                  GListStore* places);
VALA_EXTERN void tuba_instance_account_register_extra (TubaInstanceAccount* self,
                                           GListStore* places,
                                           TubaPlace** extra,
                                           gint extra_length1);
VALA_EXTERN void tuba_instance_account_open_status_url (TubaInstanceAccount* self,
                                            const gchar* url);
VALA_EXTERN void tuba_instance_account_answer_follow_request (TubaInstanceAccount* self,
                                                  const gchar* issuer_id,
                                                  const gchar* fr_id,
                                                  gboolean accept);
VALA_EXTERN void tuba_instance_account_follow_back (TubaInstanceAccount* self,
                                        const gchar* issuer_id,
                                        const gchar* acc_id);
VALA_EXTERN void tuba_instance_account_remove_from_followers (TubaInstanceAccount* self,
                                                  const gchar* issuer_id,
                                                  const gchar* acc_id);
VALA_EXTERN void tuba_instance_account_reply_to_status_uri (TubaInstanceAccount* self,
                                                const gchar* issuer_id,
                                                const gchar* uri);
VALA_EXTERN GType tuba_dialogs_main_window_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (TubaDialogsMainWindow, g_object_unref)
static void _tuba_mastodon_account_place_home_lambda176_ (TubaDialogsMainWindow* win);
VALA_EXTERN void tuba_dialogs_main_window_go_back_to_start (TubaDialogsMainWindow* self);
VALA_EXTERN GType tuba_dialogs_saveable_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (TubaDialogsSaveable, g_object_unref)
VALA_EXTERN GType tuba_views_base_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (TubaViewsBase, g_object_unref)
VALA_EXTERN GType tuba_views_tabbed_base_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (TubaViewsTabbedBase, g_object_unref)
VALA_EXTERN void tuba_views_tabbed_base_change_page_to_named (TubaViewsTabbedBase* self,
                                                  const gchar* page_name);
VALA_EXTERN void tuba_dialogs_main_window_set_sidebar_selected_item (TubaDialogsMainWindow* self,
                                                         gint pos);
static void __tuba_mastodon_account_place_home_lambda176__tuba_place_open_func (TubaDialogsMainWindow* window,
                                                                         GObject* extra);
VALA_EXTERN TubaPlace* tuba_place_new (void);
VALA_EXTERN TubaPlace* tuba_place_construct (GType object_type);
VALA_EXTERN void tuba_place_set_icon (TubaPlace* self,
                          const gchar* value);
VALA_EXTERN void tuba_place_set_title (TubaPlace* self,
                           const gchar* value);
VALA_EXTERN void tuba_place_set_needs_attention (TubaPlace* self,
                                     gboolean value);
VALA_EXTERN void tuba_place_set_open_func (TubaPlace* self,
                               TubaPlaceOpenFunc value);
static void _tuba_mastodon_account_place_notifications_lambda177_ (TubaDialogsMainWindow* win);
static void __tuba_mastodon_account_place_notifications_lambda177__tuba_place_open_func (TubaDialogsMainWindow* window,
                                                                                  GObject* extra);
static void _tuba_mastodon_account_place_conversations_lambda178_ (TubaDialogsMainWindow* win);
static void __tuba_mastodon_account_place_conversations_lambda178__tuba_place_open_func (TubaDialogsMainWindow* window,
                                                                                  GObject* extra);
static void _tuba_mastodon_account_place_bookmarks_lambda179_ (TubaDialogsMainWindow* win);
VALA_EXTERN TubaViewsBase* tuba_dialogs_main_window_open_view (TubaDialogsMainWindow* self,
                                                   TubaViewsBase* view);
VALA_EXTERN TubaViewsBase* tuba_instance_account_set_as_sidebar_item (TubaViewsBase* view);
VALA_EXTERN TubaViewsBookmarks* tuba_views_bookmarks_new (void);
VALA_EXTERN TubaViewsBookmarks* tuba_views_bookmarks_construct (GType object_type);
VALA_EXTERN GType tuba_views_content_base_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (TubaViewsContentBase, g_object_unref)
VALA_EXTERN GType tuba_views_timeline_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (TubaViewsTimeline, g_object_unref)
VALA_EXTERN GType tuba_views_bookmarks_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (TubaViewsBookmarks, g_object_unref)
static void __tuba_mastodon_account_place_bookmarks_lambda179__tuba_place_open_func (TubaDialogsMainWindow* window,
                                                                              GObject* extra);
static void _tuba_mastodon_account_place_favorites_lambda180_ (TubaDialogsMainWindow* win);
VALA_EXTERN TubaViewsFavorites* tuba_views_favorites_new (void);
VALA_EXTERN TubaViewsFavorites* tuba_views_favorites_construct (GType object_type);
VALA_EXTERN GType tuba_views_favorites_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (TubaViewsFavorites, g_object_unref)
static void __tuba_mastodon_account_place_favorites_lambda180__tuba_place_open_func (TubaDialogsMainWindow* window,
                                                                              GObject* extra);
static void _tuba_mastodon_account_place_lists_lambda181_ (TubaDialogsMainWindow* win);
VALA_EXTERN TubaViewsLists* tuba_views_lists_new (void);
VALA_EXTERN TubaViewsLists* tuba_views_lists_construct (GType object_type);
VALA_EXTERN GType tuba_views_lists_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (TubaViewsLists, g_object_unref)
static void __tuba_mastodon_account_place_lists_lambda181__tuba_place_open_func (TubaDialogsMainWindow* window,
                                                                          GObject* extra);
static void _tuba_mastodon_account_place_search_lambda182_ (TubaDialogsMainWindow* win);
VALA_EXTERN TubaViewsSearch* tuba_views_search_new (void);
VALA_EXTERN TubaViewsSearch* tuba_views_search_construct (GType object_type);
VALA_EXTERN GType tuba_views_search_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (TubaViewsSearch, g_object_unref)
static void __tuba_mastodon_account_place_search_lambda182__tuba_place_open_func (TubaDialogsMainWindow* window,
                                                                           GObject* extra);
static void _tuba_mastodon_account_place_explore_lambda187_ (TubaDialogsMainWindow* win);
VALA_EXTERN TubaViewsExplore* tuba_views_explore_new (void);
VALA_EXTERN TubaViewsExplore* tuba_views_explore_construct (GType object_type);
VALA_EXTERN GType tuba_views_explore_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (TubaViewsExplore, g_object_unref)
static void __tuba_mastodon_account_place_explore_lambda187__tuba_place_open_func (TubaDialogsMainWindow* window,
                                                                            GObject* extra);
VALA_EXTERN void tuba_place_set_separated (TubaPlace* self,
                               gboolean value);
static void _tuba_mastodon_account_place_local_lambda188_ (TubaDialogsMainWindow* win);
VALA_EXTERN TubaViewsLocal* tuba_views_local_new (void);
VALA_EXTERN TubaViewsLocal* tuba_views_local_construct (GType object_type);
VALA_EXTERN GType tuba_views_federated_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (TubaViewsFederated, g_object_unref)
VALA_EXTERN GType tuba_views_local_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (TubaViewsLocal, g_object_unref)
static void __tuba_mastodon_account_place_local_lambda188__tuba_place_open_func (TubaDialogsMainWindow* window,
                                                                          GObject* extra);
static void _tuba_mastodon_account_place_bubble_lambda189_ (TubaDialogsMainWindow* win);
VALA_EXTERN TubaViewsBubble* tuba_views_bubble_new (void);
VALA_EXTERN TubaViewsBubble* tuba_views_bubble_construct (GType object_type);
VALA_EXTERN GType tuba_views_bubble_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (TubaViewsBubble, g_object_unref)
static void __tuba_mastodon_account_place_bubble_lambda189__tuba_place_open_func (TubaDialogsMainWindow* window,
                                                                           GObject* extra);
VALA_EXTERN void tuba_place_set_visible (TubaPlace* self,
                             gboolean value);
static void _tuba_mastodon_account_place_federated_lambda190_ (TubaDialogsMainWindow* win);
VALA_EXTERN TubaViewsFederated* tuba_views_federated_new (void);
VALA_EXTERN TubaViewsFederated* tuba_views_federated_construct (GType object_type);
static void __tuba_mastodon_account_place_federated_lambda190__tuba_place_open_func (TubaDialogsMainWindow* window,
                                                                              GObject* extra);
static void _tuba_mastodon_account_place_hashtags_lambda191_ (TubaDialogsMainWindow* win);
VALA_EXTERN TubaViewsHashtags* tuba_views_hashtags_new (void);
VALA_EXTERN TubaViewsHashtags* tuba_views_hashtags_construct (GType object_type);
VALA_EXTERN GType tuba_views_hashtags_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (TubaViewsHashtags, g_object_unref)
static void __tuba_mastodon_account_place_hashtags_lambda191__tuba_place_open_func (TubaDialogsMainWindow* window,
                                                                             GObject* extra);
static void _tuba_mastodon_account_place_drive_lambda192_ (TubaDialogsMainWindow* win);
VALA_EXTERN TubaViewsDrive* tuba_views_drive_new (void);
VALA_EXTERN TubaViewsDrive* tuba_views_drive_construct (GType object_type);
VALA_EXTERN GType tuba_views_drive_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (TubaViewsDrive, g_object_unref)
static void __tuba_mastodon_account_place_drive_lambda192__tuba_place_open_func (TubaDialogsMainWindow* window,
                                                                          GObject* extra);
VALA_EXTERN GType tuba_account_store_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (TubaAccountStore, g_object_unref)
VALA_EXTERN void tuba_mastodon_account_register (TubaAccountStore* store);
static TubaInstanceAccount* tuba_mastodon_account_create_for_backend (JsonNode* node);
static TubaInstanceAccount* _tuba_mastodon_account_create_for_backend_tuba_account_store_create_for_backend (TubaAccountStore* _sender,
                                                                                                      JsonNode* node,
                                                                                                      gpointer self);
VALA_EXTERN TubaEntity* tuba_entity_from_json (GType type,
                                   JsonNode* node,
                                   GError** error);
VALA_EXTERN const gchar* tuba_instance_account_get_backend (TubaInstanceAccount* self);
VALA_EXTERN void tuba_instance_account_set_backend (TubaInstanceAccount* self,
                                        const gchar* value);
static void tuba_mastodon_account_real_bump_sidebar_items (TubaInstanceAccount* base);
VALA_EXTERN GType tuba_api_instance_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (TubaAPIInstance, g_object_unref)
VALA_EXTERN TubaAPIInstance* tuba_instance_account_get_instance_info (TubaInstanceAccount* self);
VALA_EXTERN gboolean tuba_api_instance_get_supports_bubble (TubaAPIInstance* self);
VALA_EXTERN GType tuba_instance_account_instance_features_get_type (void) G_GNUC_CONST ;
VALA_EXTERN TubaInstanceAccountInstanceFeatures tuba_instance_account_get_tuba_instance_features (TubaInstanceAccount* self);
VALA_EXTERN GType tuba_application_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (TubaApplication, g_object_unref)
VALA_EXTERN GType tuba_api_instance_v2_api_versions_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (TubaAPIInstanceV2APIVersions, g_object_unref)
VALA_EXTERN TubaAPIInstanceV2APIVersions* tuba_instance_account_get_tuba_api_versions (TubaInstanceAccount* self);
VALA_EXTERN gint8 tuba_api_instance_v2_api_versions_get_mastodon (TubaAPIInstanceV2APIVersions* self);
static void tuba_mastodon_account_real_register_known_places (TubaInstanceAccount* base,
                                                       GListStore* places);
static void tuba_mastodon_account_real_register_extra (TubaInstanceAccount* base,
                                                GListStore* places,
                                                TubaPlace** extra,
                                                gint extra_length1);
static void tuba_mastodon_account_real_open_status_url (TubaInstanceAccount* base,
                                                 const gchar* url);
static Block54Data* block54_data_ref (Block54Data* _data54_);
static void block54_data_unref (void * _userdata_);
VALA_EXTERN gboolean tuba_widgets_rich_label_should_resolve_url (const gchar* url);
VALA_EXTERN void tuba_instance_account_resolve (TubaInstanceAccount* self,
                                    const gchar* url,
                                    GAsyncReadyCallback _callback_,
                                    gpointer _user_data_);
VALA_EXTERN TubaEntity* tuba_instance_account_resolve_finish (TubaInstanceAccount* self,
                                                  GAsyncResult* _res_,
                                                  GError** error);
static void __lambda196_ (Block54Data* _data54_,
                   GObject* obj,
                   GAsyncResult* res);
VALA_EXTERN void tuba_widgetizable_open (TubaWidgetizable* self);
VALA_EXTERN TubaDialogsMainWindow* tuba_application_get_main_window (TubaApplication* self);
VALA_EXTERN void tuba_utils_host_open_url (const gchar* _uri,
                               GAsyncReadyCallback _callback_,
                               gpointer _user_data_);
VALA_EXTERN gboolean tuba_utils_host_open_url_finish (GAsyncResult* _res_);
static void ___lambda196__gasync_ready_callback (GObject* source_object,
                                          GAsyncResult* res,
                                          gpointer self);
static gboolean tuba_mastodon_account_check_issuer (TubaMastodonAccount* self,
                                             const gchar* issuer_id);
VALA_EXTERN const gchar* tuba_api_account_get_id (TubaAPIAccount* self);
VALA_EXTERN AdwAlertDialog* tuba_application_inform (TubaApplication* self,
                                         const gchar* text,
                                         const gchar* msg);
static void tuba_mastodon_account_real_answer_follow_request (TubaInstanceAccount* base,
                                                       const gchar* issuer_id,
                                                       const gchar* fr_id,
                                                       gboolean accept);
static void tuba_mastodon_account_answer_follow_request_real (TubaMastodonAccount* self,
                                                       const gchar* fr_id,
                                                       gboolean accept,
                                                       GAsyncReadyCallback _callback_,
                                                       gpointer _user_data_);
static void tuba_mastodon_account_answer_follow_request_real_finish (TubaMastodonAccount* self,
                                                              GAsyncResult* _res_);
static void tuba_mastodon_account_answer_follow_request_real_data_free (gpointer _data);
static gboolean tuba_mastodon_account_answer_follow_request_real_co (TubaMastodonAccountAnswerFollowRequestRealData* _data_);
VALA_EXTERN GType tuba_request_v2_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (TubaRequestV2, g_object_unref)
VALA_EXTERN GType tuba_request_v2_method_get_type (void) G_GNUC_CONST ;
VALA_EXTERN TubaRequestV2* tuba_request_v2_new (const gchar* url,
                                    TubaRequestV2Method method);
VALA_EXTERN TubaRequestV2* tuba_request_v2_construct (GType object_type,
                                          const gchar* url,
                                          TubaRequestV2Method method);
VALA_EXTERN void tuba_request_v2_set_account (TubaRequestV2* self,
                                  TubaInstanceAccount* value);
VALA_EXTERN void tuba_request_v2_exec (TubaRequestV2* self,
                           GAsyncReadyCallback _callback_,
                           gpointer _user_data_);
VALA_EXTERN GQuark tuba_oopsie_quark (void);
VALA_EXTERN GType tuba_oopsie_get_type (void) G_GNUC_CONST ;
VALA_EXTERN GInputStream* tuba_request_v2_exec_finish (TubaRequestV2* self,
                                           GAsyncResult* _res_,
                                           SoupMessageHeaders** response_headers,
                                           GError** error);
static void tuba_mastodon_account_answer_follow_request_real_ready (GObject* source_object,
                                                             GAsyncResult* _res_,
                                                             gpointer _user_data_);
static void tuba_mastodon_account_real_follow_back (TubaInstanceAccount* base,
                                             const gchar* issuer_id,
                                             const gchar* acc_id);
VALA_EXTERN GType tuba_api_relationship_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (TubaAPIRelationship, g_object_unref)
static Block55Data* block55_data_ref (Block55Data* _data55_);
static void block55_data_unref (void * _userdata_);
VALA_EXTERN TubaAPIRelationship* tuba_api_relationship_new_for_account_id (const gchar* t_id);
VALA_EXTERN TubaAPIRelationship* tuba_api_relationship_construct_for_account_id (GType object_type,
                                                                     const gchar* t_id);
static void __lambda197_ (Block55Data* _data55_);
VALA_EXTERN gboolean tuba_api_relationship_get_following (TubaAPIRelationship* self);
static void tuba_mastodon_account_follow_real (TubaMastodonAccount* self,
                                        const gchar* acc_id,
                                        GAsyncReadyCallback _callback_,
                                        gpointer _user_data_);
static void tuba_mastodon_account_follow_real_finish (TubaMastodonAccount* self,
                                               GAsyncResult* _res_);
static void ___lambda197__tuba_api_relationship_invalidated (TubaAPIRelationship* _sender,
                                                      gpointer self);
static void tuba_mastodon_account_follow_real_data_free (gpointer _data);
static gboolean tuba_mastodon_account_follow_real_co (TubaMastodonAccountFollowRealData* _data_);
static void tuba_mastodon_account_follow_real_ready (GObject* source_object,
                                              GAsyncResult* _res_,
                                              gpointer _user_data_);
static void tuba_mastodon_account_real_remove_from_followers (TubaInstanceAccount* base,
                                                       const gchar* issuer_id,
                                                       const gchar* acc_id);
static void tuba_mastodon_account_remove_from_followers_real (TubaMastodonAccount* self,
                                                       const gchar* acc_id,
                                                       GAsyncReadyCallback _callback_,
                                                       gpointer _user_data_);
static void tuba_mastodon_account_remove_from_followers_real_finish (TubaMastodonAccount* self,
                                                              GAsyncResult* _res_);
static void tuba_mastodon_account_remove_from_followers_real_data_free (gpointer _data);
static gboolean tuba_mastodon_account_remove_from_followers_real_co (TubaMastodonAccountRemoveFromFollowersRealData* _data_);
static void tuba_mastodon_account_remove_from_followers_real_ready (GObject* source_object,
                                                             GAsyncResult* _res_,
                                                             gpointer _user_data_);
static void tuba_mastodon_account_real_reply_to_status_uri (TubaInstanceAccount* base,
                                                     const gchar* issuer_id,
                                                     const gchar* uri);
static void __lambda198_ (TubaMastodonAccount* self,
                   GObject* obj,
                   GAsyncResult* res);
VALA_EXTERN GType tuba_api_status_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (TubaAPIStatus, g_object_unref)
VALA_EXTERN TubaAPIStatus* tuba_api_status_get_formal (TubaAPIStatus* self);
VALA_EXTERN TubaDialogsComposerDialog* tuba_dialogs_composer_dialog_new_reply (TubaAPIStatus* to,
                                                                   TubaDialogsComposerDialogSuccessCallback t_cb,
                                                                   gpointer t_cb_target,
                                                                   GDestroyNotify t_cb_target_destroy_notify);
VALA_EXTERN TubaDialogsComposerDialog* tuba_dialogs_composer_dialog_construct_reply (GType object_type,
                                                                         TubaAPIStatus* to,
                                                                         TubaDialogsComposerDialogSuccessCallback t_cb,
                                                                         gpointer t_cb_target,
                                                                         GDestroyNotify t_cb_target_destroy_notify);
VALA_EXTERN GType tuba_dialogs_composer_dialog_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (TubaDialogsComposerDialog, g_object_unref)
VALA_EXTERN const gchar* tuba_api_account_get_url (TubaAPIAccount* self);
static void ___lambda198__gasync_ready_callback (GObject* source_object,
                                          GAsyncResult* res,
                                          gpointer self);
VALA_EXTERN TubaMastodonAccount* tuba_mastodon_account_new (void);
VALA_EXTERN TubaMastodonAccount* tuba_mastodon_account_construct (GType object_type);
VALA_EXTERN TubaInstanceAccount* tuba_instance_account_new (void);
VALA_EXTERN TubaInstanceAccount* tuba_instance_account_construct (GType object_type);
static GObject * tuba_mastodon_account_constructor (GType type,
                                             guint n_construct_properties,
                                             GObjectConstructParam * construct_properties);
VALA_EXTERN void tuba_instance_account_set_visibility (TubaInstanceAccount* self,
                                           TubaInstanceAccountVisibility* obj);
VALA_EXTERN GType tuba_api_status_visibility_get_type (void) G_GNUC_CONST ;
VALA_EXTERN gchar* tuba_api_status_visibility_to_string (TubaAPIStatusVisibility self);
VALA_EXTERN gchar* tuba_api_status_visibility_to_title (TubaAPIStatusVisibility self);
VALA_EXTERN TubaInstanceAccountVisibility* tuba_instance_account_visibility_new (void);
VALA_EXTERN TubaInstanceAccountVisibility* tuba_instance_account_visibility_construct (GType object_type);
VALA_EXTERN void tuba_instance_account_visibility_set_id (TubaInstanceAccountVisibility* self,
                                              const gchar* value);
VALA_EXTERN void tuba_instance_account_visibility_set_name (TubaInstanceAccountVisibility* self,
                                                const gchar* value);
VALA_EXTERN void tuba_instance_account_visibility_set_icon_name (TubaInstanceAccountVisibility* self,
                                                     const gchar* value);
VALA_EXTERN void tuba_instance_account_visibility_set_small_icon_name (TubaInstanceAccountVisibility* self,
                                                           const gchar* value);
VALA_EXTERN void tuba_instance_account_visibility_set_description (TubaInstanceAccountVisibility* self,
                                                       const gchar* value);
static void tuba_mastodon_account_finalize (GObject * obj);
static GType tuba_mastodon_account_get_type_once (void);
static void _vala_array_destroy (gpointer array,
                          gssize array_length,
                          GDestroyNotify destroy_func);
static void _vala_array_free (gpointer array,
                       gssize array_length,
                       GDestroyNotify destroy_func);

static void
_tuba_mastodon_account_place_home_lambda176_ (TubaDialogsMainWindow* win)
{
	AdwNavigationPage* _tmp0_;
	GtkWidget* _tmp1_;
	GtkWidget* _tmp2_;
	g_return_if_fail (win != NULL);
	tuba_dialogs_main_window_go_back_to_start (win);
	_tmp0_ = win->main_page;
	_tmp1_ = adw_navigation_page_get_child (_tmp0_);
	_tmp2_ = _tmp1_;
	tuba_views_tabbed_base_change_page_to_named (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, TUBA_VIEWS_TYPE_TABBED_BASE, TubaViewsTabbedBase), "1");
	tuba_dialogs_main_window_set_sidebar_selected_item (win, 0);
}

static void
__tuba_mastodon_account_place_home_lambda176__tuba_place_open_func (TubaDialogsMainWindow* window,
                                                                    GObject* extra)
{
	_tuba_mastodon_account_place_home_lambda176_ (window);
}

static void
_tuba_mastodon_account_place_notifications_lambda177_ (TubaDialogsMainWindow* win)
{
	AdwNavigationPage* _tmp0_;
	GtkWidget* _tmp1_;
	GtkWidget* _tmp2_;
	g_return_if_fail (win != NULL);
	tuba_dialogs_main_window_go_back_to_start (win);
	_tmp0_ = win->main_page;
	_tmp1_ = adw_navigation_page_get_child (_tmp0_);
	_tmp2_ = _tmp1_;
	tuba_views_tabbed_base_change_page_to_named (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, TUBA_VIEWS_TYPE_TABBED_BASE, TubaViewsTabbedBase), "2");
	tuba_dialogs_main_window_set_sidebar_selected_item (win, 1);
}

static void
__tuba_mastodon_account_place_notifications_lambda177__tuba_place_open_func (TubaDialogsMainWindow* window,
                                                                             GObject* extra)
{
	_tuba_mastodon_account_place_notifications_lambda177_ (window);
}

static void
_tuba_mastodon_account_place_conversations_lambda178_ (TubaDialogsMainWindow* win)
{
	AdwNavigationPage* _tmp0_;
	GtkWidget* _tmp1_;
	GtkWidget* _tmp2_;
	g_return_if_fail (win != NULL);
	tuba_dialogs_main_window_go_back_to_start (win);
	_tmp0_ = win->main_page;
	_tmp1_ = adw_navigation_page_get_child (_tmp0_);
	_tmp2_ = _tmp1_;
	tuba_views_tabbed_base_change_page_to_named (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, TUBA_VIEWS_TYPE_TABBED_BASE, TubaViewsTabbedBase), "3");
	tuba_dialogs_main_window_set_sidebar_selected_item (win, 2);
}

static void
__tuba_mastodon_account_place_conversations_lambda178__tuba_place_open_func (TubaDialogsMainWindow* window,
                                                                             GObject* extra)
{
	_tuba_mastodon_account_place_conversations_lambda178_ (window);
}

static void
_tuba_mastodon_account_place_bookmarks_lambda179_ (TubaDialogsMainWindow* win)
{
	TubaViewsBookmarks* _tmp0_;
	TubaViewsBookmarks* _tmp1_;
	TubaViewsBase* _tmp2_;
	TubaViewsBase* _tmp3_;
	TubaViewsBase* _tmp4_;
	TubaViewsBase* _tmp5_;
	g_return_if_fail (win != NULL);
	_tmp0_ = tuba_views_bookmarks_new ();
	g_object_ref_sink (_tmp0_);
	_tmp1_ = _tmp0_;
	_tmp2_ = tuba_instance_account_set_as_sidebar_item ((TubaViewsBase*) _tmp1_);
	_tmp3_ = _tmp2_;
	_tmp4_ = tuba_dialogs_main_window_open_view (win, _tmp3_);
	_tmp5_ = _tmp4_;
	_g_object_unref0 (_tmp5_);
	_g_object_unref0 (_tmp3_);
	_g_object_unref0 (_tmp1_);
}

static void
__tuba_mastodon_account_place_bookmarks_lambda179__tuba_place_open_func (TubaDialogsMainWindow* window,
                                                                         GObject* extra)
{
	_tuba_mastodon_account_place_bookmarks_lambda179_ (window);
}

static void
_tuba_mastodon_account_place_favorites_lambda180_ (TubaDialogsMainWindow* win)
{
	TubaViewsFavorites* _tmp0_;
	TubaViewsFavorites* _tmp1_;
	TubaViewsBase* _tmp2_;
	TubaViewsBase* _tmp3_;
	TubaViewsBase* _tmp4_;
	TubaViewsBase* _tmp5_;
	g_return_if_fail (win != NULL);
	_tmp0_ = tuba_views_favorites_new ();
	g_object_ref_sink (_tmp0_);
	_tmp1_ = _tmp0_;
	_tmp2_ = tuba_instance_account_set_as_sidebar_item ((TubaViewsBase*) _tmp1_);
	_tmp3_ = _tmp2_;
	_tmp4_ = tuba_dialogs_main_window_open_view (win, _tmp3_);
	_tmp5_ = _tmp4_;
	_g_object_unref0 (_tmp5_);
	_g_object_unref0 (_tmp3_);
	_g_object_unref0 (_tmp1_);
}

static void
__tuba_mastodon_account_place_favorites_lambda180__tuba_place_open_func (TubaDialogsMainWindow* window,
                                                                         GObject* extra)
{
	_tuba_mastodon_account_place_favorites_lambda180_ (window);
}

static void
_tuba_mastodon_account_place_lists_lambda181_ (TubaDialogsMainWindow* win)
{
	TubaViewsLists* _tmp0_;
	TubaViewsLists* _tmp1_;
	TubaViewsBase* _tmp2_;
	TubaViewsBase* _tmp3_;
	TubaViewsBase* _tmp4_;
	TubaViewsBase* _tmp5_;
	g_return_if_fail (win != NULL);
	_tmp0_ = tuba_views_lists_new ();
	g_object_ref_sink (_tmp0_);
	_tmp1_ = _tmp0_;
	_tmp2_ = tuba_instance_account_set_as_sidebar_item ((TubaViewsBase*) _tmp1_);
	_tmp3_ = _tmp2_;
	_tmp4_ = tuba_dialogs_main_window_open_view (win, _tmp3_);
	_tmp5_ = _tmp4_;
	_g_object_unref0 (_tmp5_);
	_g_object_unref0 (_tmp3_);
	_g_object_unref0 (_tmp1_);
}

static void
__tuba_mastodon_account_place_lists_lambda181__tuba_place_open_func (TubaDialogsMainWindow* window,
                                                                     GObject* extra)
{
	_tuba_mastodon_account_place_lists_lambda181_ (window);
}

static void
_tuba_mastodon_account_place_search_lambda182_ (TubaDialogsMainWindow* win)
{
	TubaViewsSearch* _tmp0_;
	TubaViewsSearch* _tmp1_;
	TubaViewsBase* _tmp2_;
	TubaViewsBase* _tmp3_;
	TubaViewsBase* _tmp4_;
	TubaViewsBase* _tmp5_;
	g_return_if_fail (win != NULL);
	_tmp0_ = tuba_views_search_new ();
	g_object_ref_sink (_tmp0_);
	_tmp1_ = _tmp0_;
	_tmp2_ = tuba_instance_account_set_as_sidebar_item ((TubaViewsBase*) _tmp1_);
	_tmp3_ = _tmp2_;
	_tmp4_ = tuba_dialogs_main_window_open_view (win, _tmp3_);
	_tmp5_ = _tmp4_;
	_g_object_unref0 (_tmp5_);
	_g_object_unref0 (_tmp3_);
	_g_object_unref0 (_tmp1_);
}

static void
__tuba_mastodon_account_place_search_lambda182__tuba_place_open_func (TubaDialogsMainWindow* window,
                                                                      GObject* extra)
{
	_tuba_mastodon_account_place_search_lambda182_ (window);
}

static void
_tuba_mastodon_account_place_explore_lambda187_ (TubaDialogsMainWindow* win)
{
	TubaViewsExplore* _tmp0_;
	TubaViewsExplore* _tmp1_;
	TubaViewsBase* _tmp2_;
	TubaViewsBase* _tmp3_;
	TubaViewsBase* _tmp4_;
	TubaViewsBase* _tmp5_;
	g_return_if_fail (win != NULL);
	_tmp0_ = tuba_views_explore_new ();
	g_object_ref_sink (_tmp0_);
	_tmp1_ = _tmp0_;
	_tmp2_ = tuba_instance_account_set_as_sidebar_item ((TubaViewsBase*) _tmp1_);
	_tmp3_ = _tmp2_;
	_tmp4_ = tuba_dialogs_main_window_open_view (win, _tmp3_);
	_tmp5_ = _tmp4_;
	_g_object_unref0 (_tmp5_);
	_g_object_unref0 (_tmp3_);
	_g_object_unref0 (_tmp1_);
}

static void
__tuba_mastodon_account_place_explore_lambda187__tuba_place_open_func (TubaDialogsMainWindow* window,
                                                                       GObject* extra)
{
	_tuba_mastodon_account_place_explore_lambda187_ (window);
}

static void
_tuba_mastodon_account_place_local_lambda188_ (TubaDialogsMainWindow* win)
{
	TubaViewsLocal* _tmp0_;
	TubaViewsLocal* _tmp1_;
	TubaViewsBase* _tmp2_;
	TubaViewsBase* _tmp3_;
	TubaViewsBase* _tmp4_;
	TubaViewsBase* _tmp5_;
	g_return_if_fail (win != NULL);
	_tmp0_ = tuba_views_local_new ();
	g_object_ref_sink (_tmp0_);
	_tmp1_ = _tmp0_;
	_tmp2_ = tuba_instance_account_set_as_sidebar_item ((TubaViewsBase*) _tmp1_);
	_tmp3_ = _tmp2_;
	_tmp4_ = tuba_dialogs_main_window_open_view (win, _tmp3_);
	_tmp5_ = _tmp4_;
	_g_object_unref0 (_tmp5_);
	_g_object_unref0 (_tmp3_);
	_g_object_unref0 (_tmp1_);
}

static void
__tuba_mastodon_account_place_local_lambda188__tuba_place_open_func (TubaDialogsMainWindow* window,
                                                                     GObject* extra)
{
	_tuba_mastodon_account_place_local_lambda188_ (window);
}

static void
_tuba_mastodon_account_place_bubble_lambda189_ (TubaDialogsMainWindow* win)
{
	TubaViewsBubble* _tmp0_;
	TubaViewsBubble* _tmp1_;
	TubaViewsBase* _tmp2_;
	TubaViewsBase* _tmp3_;
	TubaViewsBase* _tmp4_;
	TubaViewsBase* _tmp5_;
	g_return_if_fail (win != NULL);
	_tmp0_ = tuba_views_bubble_new ();
	g_object_ref_sink (_tmp0_);
	_tmp1_ = _tmp0_;
	_tmp2_ = tuba_instance_account_set_as_sidebar_item ((TubaViewsBase*) _tmp1_);
	_tmp3_ = _tmp2_;
	_tmp4_ = tuba_dialogs_main_window_open_view (win, _tmp3_);
	_tmp5_ = _tmp4_;
	_g_object_unref0 (_tmp5_);
	_g_object_unref0 (_tmp3_);
	_g_object_unref0 (_tmp1_);
}

static void
__tuba_mastodon_account_place_bubble_lambda189__tuba_place_open_func (TubaDialogsMainWindow* window,
                                                                      GObject* extra)
{
	_tuba_mastodon_account_place_bubble_lambda189_ (window);
}

static void
_tuba_mastodon_account_place_federated_lambda190_ (TubaDialogsMainWindow* win)
{
	TubaViewsFederated* _tmp0_;
	TubaViewsFederated* _tmp1_;
	TubaViewsBase* _tmp2_;
	TubaViewsBase* _tmp3_;
	TubaViewsBase* _tmp4_;
	TubaViewsBase* _tmp5_;
	g_return_if_fail (win != NULL);
	_tmp0_ = tuba_views_federated_new ();
	g_object_ref_sink (_tmp0_);
	_tmp1_ = _tmp0_;
	_tmp2_ = tuba_instance_account_set_as_sidebar_item ((TubaViewsBase*) _tmp1_);
	_tmp3_ = _tmp2_;
	_tmp4_ = tuba_dialogs_main_window_open_view (win, _tmp3_);
	_tmp5_ = _tmp4_;
	_g_object_unref0 (_tmp5_);
	_g_object_unref0 (_tmp3_);
	_g_object_unref0 (_tmp1_);
}

static void
__tuba_mastodon_account_place_federated_lambda190__tuba_place_open_func (TubaDialogsMainWindow* window,
                                                                         GObject* extra)
{
	_tuba_mastodon_account_place_federated_lambda190_ (window);
}

static void
_tuba_mastodon_account_place_hashtags_lambda191_ (TubaDialogsMainWindow* win)
{
	TubaViewsHashtags* _tmp0_;
	TubaViewsHashtags* _tmp1_;
	TubaViewsBase* _tmp2_;
	TubaViewsBase* _tmp3_;
	TubaViewsBase* _tmp4_;
	TubaViewsBase* _tmp5_;
	g_return_if_fail (win != NULL);
	_tmp0_ = tuba_views_hashtags_new ();
	g_object_ref_sink (_tmp0_);
	_tmp1_ = _tmp0_;
	_tmp2_ = tuba_instance_account_set_as_sidebar_item ((TubaViewsBase*) _tmp1_);
	_tmp3_ = _tmp2_;
	_tmp4_ = tuba_dialogs_main_window_open_view (win, _tmp3_);
	_tmp5_ = _tmp4_;
	_g_object_unref0 (_tmp5_);
	_g_object_unref0 (_tmp3_);
	_g_object_unref0 (_tmp1_);
}

static void
__tuba_mastodon_account_place_hashtags_lambda191__tuba_place_open_func (TubaDialogsMainWindow* window,
                                                                        GObject* extra)
{
	_tuba_mastodon_account_place_hashtags_lambda191_ (window);
}

static void
_tuba_mastodon_account_place_drive_lambda192_ (TubaDialogsMainWindow* win)
{
	TubaViewsDrive* _tmp0_;
	TubaViewsDrive* _tmp1_;
	TubaViewsBase* _tmp2_;
	TubaViewsBase* _tmp3_;
	TubaViewsBase* _tmp4_;
	TubaViewsBase* _tmp5_;
	g_return_if_fail (win != NULL);
	_tmp0_ = tuba_views_drive_new ();
	g_object_ref_sink (_tmp0_);
	_tmp1_ = _tmp0_;
	_tmp2_ = tuba_instance_account_set_as_sidebar_item ((TubaViewsBase*) _tmp1_);
	_tmp3_ = _tmp2_;
	_tmp4_ = tuba_dialogs_main_window_open_view (win, _tmp3_);
	_tmp5_ = _tmp4_;
	_g_object_unref0 (_tmp5_);
	_g_object_unref0 (_tmp3_);
	_g_object_unref0 (_tmp1_);
}

static void
__tuba_mastodon_account_place_drive_lambda192__tuba_place_open_func (TubaDialogsMainWindow* window,
                                                                     GObject* extra)
{
	_tuba_mastodon_account_place_drive_lambda192_ (window);
}

static gpointer
_g_object_ref0 (gpointer self)
{
	return self ? g_object_ref (self) : NULL;
}

static TubaInstanceAccount*
_tuba_mastodon_account_create_for_backend_tuba_account_store_create_for_backend (TubaAccountStore* _sender,
                                                                                 JsonNode* node,
                                                                                 gpointer self)
{
	TubaInstanceAccount* result;
	result = tuba_mastodon_account_create_for_backend (node);
	return result;
}

void
tuba_mastodon_account_register (TubaAccountStore* store)
{
	g_return_if_fail (store != NULL);
	g_signal_connect (store, "create-for-backend", (GCallback) _tuba_mastodon_account_create_for_backend_tuba_account_store_create_for_backend, NULL);
}

static const gchar*
string_to_string (const gchar* self)
{
	const gchar* result;
	g_return_val_if_fail (self != NULL, NULL);
	result = self;
	return result;
}

static TubaInstanceAccount*
tuba_mastodon_account_create_for_backend (JsonNode* node)
{
	GError* _inner_error0_ = NULL;
	TubaInstanceAccount* result;
	g_return_val_if_fail (node != NULL, NULL);
	{
		TubaEntity* _tmp0_ = NULL;
		TubaEntity* _tmp1_;
		TubaMastodonAccount* account = NULL;
		TubaMastodonAccount* _tmp2_;
		gboolean _tmp3_ = FALSE;
		TubaMastodonAccount* _tmp4_;
		const gchar* _tmp5_;
		const gchar* _tmp6_;
		_tmp1_ = tuba_entity_from_json (TUBA_MASTODON_TYPE_ACCOUNT, node, &_inner_error0_);
		_tmp0_ = _tmp1_;
		if (G_UNLIKELY (_inner_error0_ != NULL)) {
			goto __catch0_g_error;
		}
		_tmp2_ = _g_object_ref0 (TUBA_MASTODON_IS_ACCOUNT (_tmp0_) ? ((TubaMastodonAccount*) _tmp0_) : NULL);
		account = _tmp2_;
		_tmp4_ = account;
		_tmp5_ = tuba_instance_account_get_backend ((TubaInstanceAccount*) _tmp4_);
		_tmp6_ = _tmp5_;
		if (_tmp6_ == NULL) {
			_tmp3_ = TRUE;
		} else {
			TubaMastodonAccount* _tmp7_;
			const gchar* _tmp8_;
			const gchar* _tmp9_;
			_tmp7_ = account;
			_tmp8_ = tuba_instance_account_get_backend ((TubaInstanceAccount*) _tmp7_);
			_tmp9_ = _tmp8_;
			_tmp3_ = g_strcmp0 (_tmp9_, "") == 0;
		}
		if (_tmp3_) {
			TubaMastodonAccount* _tmp10_;
			_tmp10_ = account;
			tuba_instance_account_set_backend ((TubaInstanceAccount*) _tmp10_, "Fediverse");
		}
		result = (TubaInstanceAccount*) account;
		_g_object_unref0 (_tmp0_);
		return result;
	}
	goto __finally0;
	__catch0_g_error:
	{
		GError* e = NULL;
		GError* _tmp11_;
		const gchar* _tmp12_;
		const gchar* _tmp13_;
		gchar* _tmp14_;
		gchar* _tmp15_;
		e = _inner_error0_;
		_inner_error0_ = NULL;
		_tmp11_ = e;
		_tmp12_ = _tmp11_->message;
		_tmp13_ = string_to_string (_tmp12_);
		_tmp14_ = g_strconcat ("Error creating backend: ", _tmp13_, NULL);
		_tmp15_ = _tmp14_;
		g_warning ("Account.vala:12: %s", _tmp15_);
		_g_free0 (_tmp15_);
		_g_error_free0 (e);
	}
	__finally0:
	if (G_UNLIKELY (_inner_error0_ != NULL)) {
		g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error0_->message, g_quark_to_string (_inner_error0_->domain), _inner_error0_->code);
		g_clear_error (&_inner_error0_);
		return NULL;
	}
	result = NULL;
	return result;
}

static void
tuba_mastodon_account_real_bump_sidebar_items (TubaInstanceAccount* base)
{
	TubaMastodonAccount * self;
	gboolean _tmp0_ = FALSE;
	gboolean _tmp1_ = FALSE;
	gboolean _tmp2_ = FALSE;
	TubaAPIInstance* _tmp3_;
	TubaAPIInstance* _tmp4_;
	TubaPlace* _tmp13_;
	TubaPlace* _tmp14_;
	TubaInstanceAccountInstanceFeatures _tmp15_;
	TubaInstanceAccountInstanceFeatures _tmp16_;
	GSimpleAction* collections_action = NULL;
	TubaApplication* _tmp17_;
	GAction* _tmp18_;
	GSimpleAction* _tmp19_;
	GSimpleAction* _tmp20_;
	self = (TubaMastodonAccount*) base;
	_tmp3_ = tuba_instance_account_get_instance_info ((TubaInstanceAccount*) self);
	_tmp4_ = _tmp3_;
	if (_tmp4_ != NULL) {
		TubaAPIInstance* _tmp5_;
		TubaAPIInstance* _tmp6_;
		gboolean _tmp7_;
		gboolean _tmp8_;
		_tmp5_ = tuba_instance_account_get_instance_info ((TubaInstanceAccount*) self);
		_tmp6_ = _tmp5_;
		_tmp7_ = tuba_api_instance_get_supports_bubble (_tmp6_);
		_tmp8_ = _tmp7_;
		_tmp2_ = _tmp8_;
	} else {
		_tmp2_ = FALSE;
	}
	if (_tmp2_) {
		_tmp1_ = TRUE;
	} else {
		TubaInstanceAccountInstanceFeatures _tmp9_;
		TubaInstanceAccountInstanceFeatures _tmp10_;
		_tmp9_ = tuba_instance_account_get_tuba_instance_features ((TubaInstanceAccount*) self);
		_tmp10_ = _tmp9_;
		_tmp1_ = (_tmp10_ & TUBA_INSTANCE_ACCOUNT_INSTANCE_FEATURES_BUBBLE) == TUBA_INSTANCE_ACCOUNT_INSTANCE_FEATURES_BUBBLE;
	}
	if (_tmp1_) {
		_tmp0_ = TRUE;
	} else {
		TubaInstanceAccountInstanceFeatures _tmp11_;
		TubaInstanceAccountInstanceFeatures _tmp12_;
		_tmp11_ = tuba_instance_account_get_tuba_instance_features ((TubaInstanceAccount*) self);
		_tmp12_ = _tmp11_;
		_tmp0_ = (_tmp12_ & TUBA_INSTANCE_ACCOUNT_INSTANCE_FEATURES_ICESHRIMP) == TUBA_INSTANCE_ACCOUNT_INSTANCE_FEATURES_ICESHRIMP;
	}
	_tmp13_ = tuba_mastodon_account_PLACE_BUBBLE;
	tuba_place_set_visible (_tmp13_, _tmp0_);
	_tmp14_ = tuba_mastodon_account_PLACE_DRIVE;
	_tmp15_ = tuba_instance_account_get_tuba_instance_features ((TubaInstanceAccount*) self);
	_tmp16_ = _tmp15_;
	tuba_place_set_visible (_tmp14_, (_tmp16_ & TUBA_INSTANCE_ACCOUNT_INSTANCE_FEATURES_ICESHRIMP) == TUBA_INSTANCE_ACCOUNT_INSTANCE_FEATURES_ICESHRIMP);
	_tmp17_ = tuba_app;
	_tmp18_ = g_action_map_lookup_action ((GActionMap*) _tmp17_, "open-collections");
	_tmp19_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp18_, g_simple_action_get_type ()) ? ((GSimpleAction*) _tmp18_) : NULL);
	collections_action = _tmp19_;
	_tmp20_ = collections_action;
	if (_tmp20_ != NULL) {
		GSimpleAction* _tmp21_;
		TubaAPIInstanceV2APIVersions* _tmp22_;
		TubaAPIInstanceV2APIVersions* _tmp23_;
		gint8 _tmp24_;
		gint8 _tmp25_;
		_tmp21_ = collections_action;
		_tmp22_ = tuba_instance_account_get_tuba_api_versions ((TubaInstanceAccount*) self);
		_tmp23_ = _tmp22_;
		_tmp24_ = tuba_api_instance_v2_api_versions_get_mastodon (_tmp23_);
		_tmp25_ = _tmp24_;
		g_simple_action_set_enabled (_tmp21_, ((gint) _tmp25_) >= 10);
	}
	_g_object_unref0 (collections_action);
}

static void
tuba_mastodon_account_real_register_known_places (TubaInstanceAccount* base,
                                                  GListStore* places)
{
	TubaMastodonAccount * self;
	TubaApplication* _tmp0_;
	TubaPlace* _tmp1_;
	TubaApplication* _tmp2_;
	TubaPlace* _tmp3_;
	TubaApplication* _tmp4_;
	TubaPlace* _tmp5_;
	TubaPlace** _tmp6_;
	gint _tmp6__length1;
	self = (TubaMastodonAccount*) base;
	g_return_if_fail (places != NULL);
	_tmp0_ = tuba_app;
	_tmp1_ = tuba_mastodon_account_PLACE_NOTIFICATIONS;
	g_object_bind_property_with_closures ((GObject*) _tmp0_, "is-mobile", (GObject*) _tmp1_, "visible", G_BINDING_SYNC_CREATE | G_BINDING_INVERT_BOOLEAN, (GClosure*) ((NULL == NULL) ? NULL : g_cclosure_new ((GCallback) NULL, NULL, (GClosureNotify) NULL)), (GClosure*) ((NULL == NULL) ? NULL : g_cclosure_new ((GCallback) NULL, NULL, (GClosureNotify) NULL)));
	_tmp2_ = tuba_app;
	_tmp3_ = tuba_mastodon_account_PLACE_CONVERSATIONS;
	g_object_bind_property_with_closures ((GObject*) _tmp2_, "is-mobile", (GObject*) _tmp3_, "visible", G_BINDING_SYNC_CREATE | G_BINDING_INVERT_BOOLEAN, (GClosure*) ((NULL == NULL) ? NULL : g_cclosure_new ((GCallback) NULL, NULL, (GClosureNotify) NULL)), (GClosure*) ((NULL == NULL) ? NULL : g_cclosure_new ((GCallback) NULL, NULL, (GClosureNotify) NULL)));
	_tmp4_ = tuba_app;
	_tmp5_ = tuba_mastodon_account_PLACE_SEARCH;
	g_object_bind_property_with_closures ((GObject*) _tmp4_, "is-mobile", (GObject*) _tmp5_, "visible", G_BINDING_SYNC_CREATE | G_BINDING_INVERT_BOOLEAN, (GClosure*) ((NULL == NULL) ? NULL : g_cclosure_new ((GCallback) NULL, NULL, (GClosureNotify) NULL)), (GClosure*) ((NULL == NULL) ? NULL : g_cclosure_new ((GCallback) NULL, NULL, (GClosureNotify) NULL)));
	_tmp6_ = tuba_mastodon_account_SIDEBAR_PLACES;
	_tmp6__length1 = tuba_mastodon_account_SIDEBAR_PLACES_length1;
	g_list_store_splice (places, (guint) 0, (guint) 0, _tmp6_, (guint) _tmp6__length1);
}

static void
tuba_mastodon_account_real_register_extra (TubaInstanceAccount* base,
                                           GListStore* places,
                                           TubaPlace** extra,
                                           gint extra_length1)
{
	TubaMastodonAccount * self;
	guint _tmp0_;
	guint _tmp1_;
	GObject** _tmp2_;
	GObject** _tmp3_;
	gint _tmp3__length1;
	gboolean _tmp4_ = FALSE;
	self = (TubaMastodonAccount*) base;
	g_return_if_fail (places != NULL);
	g_object_get (places, "n-items", &_tmp0_, NULL);
	_tmp1_ = _tmp0_;
	_tmp2_ = g_new0 (GObject*, 0 + 1);
	_tmp3_ = _tmp2_;
	_tmp3__length1 = 0;
	g_list_store_splice (places, (guint) 0, _tmp1_, _tmp3_, (guint) 0);
	_tmp3_ = (_vala_array_free (_tmp3_, _tmp3__length1, (GDestroyNotify) g_object_unref), NULL);
	if (extra != NULL) {
		_tmp4_ = extra_length1 > 0;
	} else {
		_tmp4_ = FALSE;
	}
	if (_tmp4_) {
		TubaPlace* _tmp5_;
		guint _tmp6_;
		guint _tmp7_;
		_tmp5_ = extra[0];
		tuba_place_set_separated (_tmp5_, TRUE);
		g_object_get (places, "n-items", &_tmp6_, NULL);
		_tmp7_ = _tmp6_;
		g_list_store_splice (places, _tmp7_, (guint) 0, extra, (guint) extra_length1);
	}
}

static Block54Data*
block54_data_ref (Block54Data* _data54_)
{
	g_atomic_int_inc (&_data54_->_ref_count_);
	return _data54_;
}

static void
block54_data_unref (void * _userdata_)
{
	Block54Data* _data54_;
	_data54_ = (Block54Data*) _userdata_;
	if (g_atomic_int_dec_and_test (&_data54_->_ref_count_)) {
		TubaMastodonAccount* self;
		self = _data54_->self;
		_g_free0 (_data54_->url);
		_g_object_unref0 (self);
		g_slice_free (Block54Data, _data54_);
	}
}

static void
__lambda196_ (Block54Data* _data54_,
              GObject* obj,
              GAsyncResult* res)
{
	TubaMastodonAccount* self;
	GError* _inner_error0_ = NULL;
	self = _data54_->self;
	g_return_if_fail (res != NULL);
	{
		TubaEntity* _tmp0_ = NULL;
		TubaEntity* _tmp1_;
		TubaApplication* _tmp2_;
		TubaDialogsMainWindow* _tmp3_;
		TubaDialogsMainWindow* _tmp4_;
		_tmp1_ = tuba_instance_account_resolve_finish ((TubaInstanceAccount*) self, res, &_inner_error0_);
		_tmp0_ = _tmp1_;
		if (G_UNLIKELY (_inner_error0_ != NULL)) {
			goto __catch0_g_error;
		}
		tuba_widgetizable_open ((TubaWidgetizable*) _tmp0_);
		_tmp2_ = tuba_app;
		_tmp3_ = tuba_application_get_main_window (_tmp2_);
		_tmp4_ = _tmp3_;
		gtk_window_present ((GtkWindow*) _tmp4_);
		_g_object_unref0 (_tmp0_);
	}
	goto __finally0;
	__catch0_g_error:
	{
		GError* e = NULL;
		const gchar* _tmp5_;
		gchar* _tmp6_;
		gchar* _tmp7_;
		GError* _tmp8_;
		const gchar* _tmp9_;
		e = _inner_error0_;
		_inner_error0_ = NULL;
		_tmp5_ = string_to_string (_data54_->url);
		_tmp6_ = g_strconcat ("Failed to resolve URL \"", _tmp5_, "\":", NULL);
		_tmp7_ = _tmp6_;
		g_warning ("Account.vala:263: %s", _tmp7_);
		_g_free0 (_tmp7_);
		_tmp8_ = e;
		_tmp9_ = _tmp8_->message;
		g_warning ("Account.vala:264: %s", _tmp9_);
		tuba_utils_host_open_url (_data54_->url, NULL, NULL);
		_g_error_free0 (e);
	}
	__finally0:
	if (G_UNLIKELY (_inner_error0_ != NULL)) {
		g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error0_->message, g_quark_to_string (_inner_error0_->domain), _inner_error0_->code);
		g_clear_error (&_inner_error0_);
		return;
	}
}

static void
___lambda196__gasync_ready_callback (GObject* source_object,
                                     GAsyncResult* res,
                                     gpointer self)
{
	__lambda196_ (self, source_object, res);
	block54_data_unref (self);
}

static void
tuba_mastodon_account_real_open_status_url (TubaInstanceAccount* base,
                                            const gchar* url)
{
	TubaMastodonAccount * self;
	Block54Data* _data54_;
	gchar* _tmp0_;
	self = (TubaMastodonAccount*) base;
	g_return_if_fail (url != NULL);
	_data54_ = g_slice_new0 (Block54Data);
	_data54_->_ref_count_ = 1;
	_data54_->self = g_object_ref (self);
	_tmp0_ = g_strdup (url);
	_g_free0 (_data54_->url);
	_data54_->url = _tmp0_;
	if (!tuba_widgets_rich_label_should_resolve_url (_data54_->url)) {
		block54_data_unref (_data54_);
		_data54_ = NULL;
		return;
	}
	tuba_instance_account_resolve ((TubaInstanceAccount*) self, _data54_->url, ___lambda196__gasync_ready_callback, block54_data_ref (_data54_));
	block54_data_unref (_data54_);
	_data54_ = NULL;
}

static gboolean
tuba_mastodon_account_check_issuer (TubaMastodonAccount* self,
                                    const gchar* issuer_id)
{
	const gchar* _tmp0_;
	const gchar* _tmp1_;
	AdwAlertDialog* dlg = NULL;
	TubaApplication* _tmp2_;
	AdwAlertDialog* _tmp3_;
	AdwAlertDialog* _tmp4_;
	TubaApplication* _tmp5_;
	TubaDialogsMainWindow* _tmp6_;
	TubaDialogsMainWindow* _tmp7_;
	gboolean result;
	g_return_val_if_fail (self != NULL, FALSE);
	g_return_val_if_fail (issuer_id != NULL, FALSE);
	_tmp0_ = tuba_api_account_get_id ((TubaAPIAccount*) self);
	_tmp1_ = _tmp0_;
	if (g_strcmp0 (issuer_id, _tmp1_) == 0) {
		result = TRUE;
		return result;
	}
	_tmp2_ = tuba_app;
	_tmp3_ = tuba_application_inform (_tmp2_, _ ("Error"), _ ("Notification was pushed for a different account"));
	dlg = _tmp3_;
	_tmp4_ = dlg;
	_tmp5_ = tuba_app;
	_tmp6_ = tuba_application_get_main_window (_tmp5_);
	_tmp7_ = _tmp6_;
	adw_dialog_present ((AdwDialog*) _tmp4_, (GtkWidget*) _tmp7_);
	result = FALSE;
	_g_object_unref0 (dlg);
	return result;
}

static void
tuba_mastodon_account_real_answer_follow_request (TubaInstanceAccount* base,
                                                  const gchar* issuer_id,
                                                  const gchar* fr_id,
                                                  gboolean accept)
{
	TubaMastodonAccount * self;
	self = (TubaMastodonAccount*) base;
	g_return_if_fail (issuer_id != NULL);
	g_return_if_fail (fr_id != NULL);
	if (!tuba_mastodon_account_check_issuer (self, issuer_id)) {
		return;
	}
	tuba_mastodon_account_answer_follow_request_real (self, fr_id, accept, NULL, NULL);
}

static void
tuba_mastodon_account_answer_follow_request_real_data_free (gpointer _data)
{
	TubaMastodonAccountAnswerFollowRequestRealData* _data_;
	_data_ = _data;
	_g_free0 (_data_->fr_id);
	_g_object_unref0 (_data_->self);
	g_slice_free (TubaMastodonAccountAnswerFollowRequestRealData, _data_);
}

static void
tuba_mastodon_account_answer_follow_request_real (TubaMastodonAccount* self,
                                                  const gchar* fr_id,
                                                  gboolean accept,
                                                  GAsyncReadyCallback _callback_,
                                                  gpointer _user_data_)
{
	TubaMastodonAccountAnswerFollowRequestRealData* _data_;
	TubaMastodonAccount* _tmp0_;
	gchar* _tmp1_;
	g_return_if_fail (self != NULL);
	g_return_if_fail (fr_id != NULL);
	_data_ = g_slice_new0 (TubaMastodonAccountAnswerFollowRequestRealData);
	_data_->_async_result = g_task_new (G_OBJECT (self), NULL, _callback_, _user_data_);
	g_task_set_task_data (_data_->_async_result, _data_, tuba_mastodon_account_answer_follow_request_real_data_free);
	_tmp0_ = _g_object_ref0 (self);
	_data_->self = _tmp0_;
	_tmp1_ = g_strdup (fr_id);
	_g_free0 (_data_->fr_id);
	_data_->fr_id = _tmp1_;
	_data_->accept = accept;
	tuba_mastodon_account_answer_follow_request_real_co (_data_);
}

static void
tuba_mastodon_account_answer_follow_request_real_finish (TubaMastodonAccount* self,
                                                         GAsyncResult* _res_)
{
	TubaMastodonAccountAnswerFollowRequestRealData* _data_;
	_data_ = g_task_propagate_pointer (G_TASK (_res_), NULL);
}

static void
tuba_mastodon_account_answer_follow_request_real_ready (GObject* source_object,
                                                        GAsyncResult* _res_,
                                                        gpointer _user_data_)
{
	TubaMastodonAccountAnswerFollowRequestRealData* _data_;
	_data_ = _user_data_;
	_data_->_source_object_ = source_object;
	_data_->_res_ = _res_;
	tuba_mastodon_account_answer_follow_request_real_co (_data_);
}

static gboolean
tuba_mastodon_account_answer_follow_request_real_co (TubaMastodonAccountAnswerFollowRequestRealData* _data_)
{
	switch (_data_->_state_) {
		case 0:
		goto _state_0;
		case 1:
		goto _state_1;
		default:
		g_assert_not_reached ();
	}
	_state_0:
	if (_data_->accept) {
		_data_->_tmp0_ = "authorize";
	} else {
		_data_->_tmp0_ = "reject";
	}
	_data_->_tmp1_ = string_to_string (_data_->fr_id);
	_data_->_tmp2_ = string_to_string (_data_->_tmp0_);
	_data_->_tmp3_ = g_strconcat ("/api/v1/follow_requests/", _data_->_tmp1_, "/", _data_->_tmp2_, NULL);
	_data_->_tmp4_ = _data_->_tmp3_;
	_data_->_tmp5_ = _g_object_ref0 ((TubaInstanceAccount*) _data_->self);
	_data_->_tmp6_ = NULL;
	_data_->_tmp6_ = tuba_request_v2_new (_data_->_tmp4_, TUBA_REQUEST_V2_METHOD_POST);
	tuba_request_v2_set_account (_data_->_tmp6_, _data_->_tmp5_);
	_g_object_unref0 (_data_->_tmp5_);
	_data_->_tmp7_ = _data_->_tmp6_;
	_g_free0 (_data_->_tmp4_);
	_data_->req = _data_->_tmp7_;
	{
		_data_->_state_ = 1;
		tuba_request_v2_exec (_data_->req, tuba_mastodon_account_answer_follow_request_real_ready, _data_);
		return FALSE;
		_state_1:
		_data_->_tmp8_ = tuba_request_v2_exec_finish (_data_->req, _data_->_res_, NULL, &_data_->_inner_error0_);
		_data_->_tmp9_ = _data_->_tmp8_;
		_g_object_unref0 (_data_->_tmp9_);
		if (G_UNLIKELY (_data_->_inner_error0_ != NULL)) {
			goto __catch0_g_error;
		}
	}
	goto __finally0;
	__catch0_g_error:
	{
		_data_->e = _data_->_inner_error0_;
		_data_->_inner_error0_ = NULL;
		if (_data_->accept) {
			_data_->_tmp10_ = "accept";
		} else {
			_data_->_tmp10_ = "reject";
		}
		_data_->_tmp11_ = string_to_string (_data_->_tmp10_);
		_data_->_tmp12_ = _data_->e;
		_data_->_tmp13_ = g_strdup_printf ("%i", _data_->_tmp12_->code);
		_data_->_tmp14_ = _data_->_tmp13_;
		_data_->_tmp15_ = _data_->e;
		_data_->_tmp16_ = _data_->_tmp15_->message;
		_data_->_tmp17_ = string_to_string (_data_->_tmp16_);
		_data_->_tmp18_ = g_strconcat ("Couldn't ", _data_->_tmp11_, " follow request: ", _data_->_tmp14_, " ", _data_->_tmp17_, NULL);
		_data_->_tmp19_ = _data_->_tmp18_;
		g_warning ("Account.vala:296: %s", _data_->_tmp19_);
		_g_free0 (_data_->_tmp19_);
		_g_free0 (_data_->_tmp14_);
		_g_error_free0 (_data_->e);
	}
	__finally0:
	if (G_UNLIKELY (_data_->_inner_error0_ != NULL)) {
		_g_object_unref0 (_data_->req);
		g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _data_->_inner_error0_->message, g_quark_to_string (_data_->_inner_error0_->domain), _data_->_inner_error0_->code);
		g_clear_error (&_data_->_inner_error0_);
		g_object_unref (_data_->_async_result);
		return FALSE;
	}
	_g_object_unref0 (_data_->req);
	g_task_return_pointer (_data_->_async_result, _data_, NULL);
	if (_data_->_state_ != 0) {
		while (!g_task_get_completed (_data_->_async_result)) {
			g_main_context_iteration (g_task_get_context (_data_->_async_result), TRUE);
		}
	}
	g_object_unref (_data_->_async_result);
	return FALSE;
}

static Block55Data*
block55_data_ref (Block55Data* _data55_)
{
	g_atomic_int_inc (&_data55_->_ref_count_);
	return _data55_;
}

static void
block55_data_unref (void * _userdata_)
{
	Block55Data* _data55_;
	_data55_ = (Block55Data*) _userdata_;
	if (g_atomic_int_dec_and_test (&_data55_->_ref_count_)) {
		TubaMastodonAccount* self;
		self = _data55_->self;
		_g_object_unref0 (_data55_->relationship);
		_g_free0 (_data55_->acc_id);
		_g_object_unref0 (self);
		g_slice_free (Block55Data, _data55_);
	}
}

static void
__lambda197_ (Block55Data* _data55_)
{
	TubaMastodonAccount* self;
	TubaAPIRelationship* _tmp0_;
	gboolean _tmp1_;
	gboolean _tmp2_;
	TubaAPIRelationship* _tmp3_;
	self = _data55_->self;
	_tmp0_ = _data55_->relationship;
	_tmp1_ = tuba_api_relationship_get_following (_tmp0_);
	_tmp2_ = _tmp1_;
	if (!_tmp2_) {
		tuba_mastodon_account_follow_real (self, _data55_->acc_id, NULL, NULL);
	}
	_tmp3_ = _data55_->relationship;
	g_signal_handler_disconnect ((GObject*) _tmp3_, _data55_->invalidate_signal_id);
}

static void
___lambda197__tuba_api_relationship_invalidated (TubaAPIRelationship* _sender,
                                                 gpointer self)
{
	__lambda197_ (self);
}

static void
tuba_mastodon_account_real_follow_back (TubaInstanceAccount* base,
                                        const gchar* issuer_id,
                                        const gchar* acc_id)
{
	TubaMastodonAccount * self;
	Block55Data* _data55_;
	gchar* _tmp0_;
	TubaAPIRelationship* _tmp1_;
	TubaAPIRelationship* _tmp2_;
	gulong _tmp3_;
	self = (TubaMastodonAccount*) base;
	g_return_if_fail (issuer_id != NULL);
	g_return_if_fail (acc_id != NULL);
	_data55_ = g_slice_new0 (Block55Data);
	_data55_->_ref_count_ = 1;
	_data55_->self = g_object_ref (self);
	_tmp0_ = g_strdup (acc_id);
	_g_free0 (_data55_->acc_id);
	_data55_->acc_id = _tmp0_;
	if (!tuba_mastodon_account_check_issuer (self, issuer_id)) {
		block55_data_unref (_data55_);
		_data55_ = NULL;
		return;
	}
	_tmp1_ = tuba_api_relationship_new_for_account_id (_data55_->acc_id);
	_data55_->relationship = _tmp1_;
	_data55_->invalidate_signal_id = (gulong) 0;
	_tmp2_ = _data55_->relationship;
	_tmp3_ = g_signal_connect_data (_tmp2_, "invalidated", (GCallback) ___lambda197__tuba_api_relationship_invalidated, block55_data_ref (_data55_), (GClosureNotify) block55_data_unref, 0);
	_data55_->invalidate_signal_id = _tmp3_;
	block55_data_unref (_data55_);
	_data55_ = NULL;
}

static void
tuba_mastodon_account_follow_real_data_free (gpointer _data)
{
	TubaMastodonAccountFollowRealData* _data_;
	_data_ = _data;
	_g_free0 (_data_->acc_id);
	_g_object_unref0 (_data_->self);
	g_slice_free (TubaMastodonAccountFollowRealData, _data_);
}

static void
tuba_mastodon_account_follow_real (TubaMastodonAccount* self,
                                   const gchar* acc_id,
                                   GAsyncReadyCallback _callback_,
                                   gpointer _user_data_)
{
	TubaMastodonAccountFollowRealData* _data_;
	TubaMastodonAccount* _tmp0_;
	gchar* _tmp1_;
	g_return_if_fail (self != NULL);
	g_return_if_fail (acc_id != NULL);
	_data_ = g_slice_new0 (TubaMastodonAccountFollowRealData);
	_data_->_async_result = g_task_new (G_OBJECT (self), NULL, _callback_, _user_data_);
	g_task_set_task_data (_data_->_async_result, _data_, tuba_mastodon_account_follow_real_data_free);
	_tmp0_ = _g_object_ref0 (self);
	_data_->self = _tmp0_;
	_tmp1_ = g_strdup (acc_id);
	_g_free0 (_data_->acc_id);
	_data_->acc_id = _tmp1_;
	tuba_mastodon_account_follow_real_co (_data_);
}

static void
tuba_mastodon_account_follow_real_finish (TubaMastodonAccount* self,
                                          GAsyncResult* _res_)
{
	TubaMastodonAccountFollowRealData* _data_;
	_data_ = g_task_propagate_pointer (G_TASK (_res_), NULL);
}

static void
tuba_mastodon_account_follow_real_ready (GObject* source_object,
                                         GAsyncResult* _res_,
                                         gpointer _user_data_)
{
	TubaMastodonAccountFollowRealData* _data_;
	_data_ = _user_data_;
	_data_->_source_object_ = source_object;
	_data_->_res_ = _res_;
	tuba_mastodon_account_follow_real_co (_data_);
}

static gboolean
tuba_mastodon_account_follow_real_co (TubaMastodonAccountFollowRealData* _data_)
{
	switch (_data_->_state_) {
		case 0:
		goto _state_0;
		case 1:
		goto _state_1;
		default:
		g_assert_not_reached ();
	}
	_state_0:
	_data_->_tmp0_ = string_to_string (_data_->acc_id);
	_data_->_tmp1_ = g_strconcat ("/api/v1/accounts/", _data_->_tmp0_, "/follow", NULL);
	_data_->_tmp2_ = _data_->_tmp1_;
	_data_->_tmp3_ = _g_object_ref0 ((TubaInstanceAccount*) _data_->self);
	_data_->_tmp4_ = NULL;
	_data_->_tmp4_ = tuba_request_v2_new (_data_->_tmp2_, TUBA_REQUEST_V2_METHOD_POST);
	tuba_request_v2_set_account (_data_->_tmp4_, _data_->_tmp3_);
	_g_object_unref0 (_data_->_tmp3_);
	_data_->_tmp5_ = _data_->_tmp4_;
	_g_free0 (_data_->_tmp2_);
	_data_->req = _data_->_tmp5_;
	{
		_data_->_state_ = 1;
		tuba_request_v2_exec (_data_->req, tuba_mastodon_account_follow_real_ready, _data_);
		return FALSE;
		_state_1:
		_data_->_tmp6_ = tuba_request_v2_exec_finish (_data_->req, _data_->_res_, NULL, &_data_->_inner_error0_);
		_data_->_tmp7_ = _data_->_tmp6_;
		_g_object_unref0 (_data_->_tmp7_);
		if (G_UNLIKELY (_data_->_inner_error0_ != NULL)) {
			goto __catch0_g_error;
		}
	}
	goto __finally0;
	__catch0_g_error:
	{
		_data_->e = _data_->_inner_error0_;
		_data_->_inner_error0_ = NULL;
		_data_->_tmp8_ = string_to_string (_data_->acc_id);
		_data_->_tmp9_ = _data_->e;
		_data_->_tmp10_ = g_strdup_printf ("%i", _data_->_tmp9_->code);
		_data_->_tmp11_ = _data_->_tmp10_;
		_data_->_tmp12_ = _data_->e;
		_data_->_tmp13_ = _data_->_tmp12_->message;
		_data_->_tmp14_ = string_to_string (_data_->_tmp13_);
		_data_->_tmp15_ = g_strconcat ("Couldn't follow ", _data_->_tmp8_, ": ", _data_->_tmp11_, " ", _data_->_tmp14_, NULL);
		_data_->_tmp16_ = _data_->_tmp15_;
		g_warning ("Account.vala:320: %s", _data_->_tmp16_);
		_g_free0 (_data_->_tmp16_);
		_g_free0 (_data_->_tmp11_);
		_g_error_free0 (_data_->e);
	}
	__finally0:
	if (G_UNLIKELY (_data_->_inner_error0_ != NULL)) {
		_g_object_unref0 (_data_->req);
		g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _data_->_inner_error0_->message, g_quark_to_string (_data_->_inner_error0_->domain), _data_->_inner_error0_->code);
		g_clear_error (&_data_->_inner_error0_);
		g_object_unref (_data_->_async_result);
		return FALSE;
	}
	_g_object_unref0 (_data_->req);
	g_task_return_pointer (_data_->_async_result, _data_, NULL);
	if (_data_->_state_ != 0) {
		while (!g_task_get_completed (_data_->_async_result)) {
			g_main_context_iteration (g_task_get_context (_data_->_async_result), TRUE);
		}
	}
	g_object_unref (_data_->_async_result);
	return FALSE;
}

static void
tuba_mastodon_account_real_remove_from_followers (TubaInstanceAccount* base,
                                                  const gchar* issuer_id,
                                                  const gchar* acc_id)
{
	TubaMastodonAccount * self;
	self = (TubaMastodonAccount*) base;
	g_return_if_fail (issuer_id != NULL);
	g_return_if_fail (acc_id != NULL);
	if (!tuba_mastodon_account_check_issuer (self, issuer_id)) {
		return;
	}
	tuba_mastodon_account_remove_from_followers_real (self, acc_id, NULL, NULL);
}

static void
tuba_mastodon_account_remove_from_followers_real_data_free (gpointer _data)
{
	TubaMastodonAccountRemoveFromFollowersRealData* _data_;
	_data_ = _data;
	_g_free0 (_data_->acc_id);
	_g_object_unref0 (_data_->self);
	g_slice_free (TubaMastodonAccountRemoveFromFollowersRealData, _data_);
}

static void
tuba_mastodon_account_remove_from_followers_real (TubaMastodonAccount* self,
                                                  const gchar* acc_id,
                                                  GAsyncReadyCallback _callback_,
                                                  gpointer _user_data_)
{
	TubaMastodonAccountRemoveFromFollowersRealData* _data_;
	TubaMastodonAccount* _tmp0_;
	gchar* _tmp1_;
	g_return_if_fail (self != NULL);
	g_return_if_fail (acc_id != NULL);
	_data_ = g_slice_new0 (TubaMastodonAccountRemoveFromFollowersRealData);
	_data_->_async_result = g_task_new (G_OBJECT (self), NULL, _callback_, _user_data_);
	g_task_set_task_data (_data_->_async_result, _data_, tuba_mastodon_account_remove_from_followers_real_data_free);
	_tmp0_ = _g_object_ref0 (self);
	_data_->self = _tmp0_;
	_tmp1_ = g_strdup (acc_id);
	_g_free0 (_data_->acc_id);
	_data_->acc_id = _tmp1_;
	tuba_mastodon_account_remove_from_followers_real_co (_data_);
}

static void
tuba_mastodon_account_remove_from_followers_real_finish (TubaMastodonAccount* self,
                                                         GAsyncResult* _res_)
{
	TubaMastodonAccountRemoveFromFollowersRealData* _data_;
	_data_ = g_task_propagate_pointer (G_TASK (_res_), NULL);
}

static void
tuba_mastodon_account_remove_from_followers_real_ready (GObject* source_object,
                                                        GAsyncResult* _res_,
                                                        gpointer _user_data_)
{
	TubaMastodonAccountRemoveFromFollowersRealData* _data_;
	_data_ = _user_data_;
	_data_->_source_object_ = source_object;
	_data_->_res_ = _res_;
	tuba_mastodon_account_remove_from_followers_real_co (_data_);
}

static gboolean
tuba_mastodon_account_remove_from_followers_real_co (TubaMastodonAccountRemoveFromFollowersRealData* _data_)
{
	switch (_data_->_state_) {
		case 0:
		goto _state_0;
		case 1:
		goto _state_1;
		default:
		g_assert_not_reached ();
	}
	_state_0:
	_data_->_tmp0_ = string_to_string (_data_->acc_id);
	_data_->_tmp1_ = g_strconcat ("/api/v1/accounts/", _data_->_tmp0_, "/remove_from_followers", NULL);
	_data_->_tmp2_ = _data_->_tmp1_;
	_data_->_tmp3_ = _g_object_ref0 ((TubaInstanceAccount*) _data_->self);
	_data_->_tmp4_ = NULL;
	_data_->_tmp4_ = tuba_request_v2_new (_data_->_tmp2_, TUBA_REQUEST_V2_METHOD_POST);
	tuba_request_v2_set_account (_data_->_tmp4_, _data_->_tmp3_);
	_g_object_unref0 (_data_->_tmp3_);
	_data_->_tmp5_ = _data_->_tmp4_;
	_g_free0 (_data_->_tmp2_);
	_data_->req = _data_->_tmp5_;
	{
		_data_->_state_ = 1;
		tuba_request_v2_exec (_data_->req, tuba_mastodon_account_remove_from_followers_real_ready, _data_);
		return FALSE;
		_state_1:
		_data_->_tmp6_ = tuba_request_v2_exec_finish (_data_->req, _data_->_res_, NULL, &_data_->_inner_error0_);
		_data_->_tmp7_ = _data_->_tmp6_;
		_g_object_unref0 (_data_->_tmp7_);
		if (G_UNLIKELY (_data_->_inner_error0_ != NULL)) {
			goto __catch0_g_error;
		}
	}
	goto __finally0;
	__catch0_g_error:
	{
		_data_->e = _data_->_inner_error0_;
		_data_->_inner_error0_ = NULL;
		_data_->_tmp8_ = string_to_string (_data_->acc_id);
		_data_->_tmp9_ = _data_->e;
		_data_->_tmp10_ = g_strdup_printf ("%i", _data_->_tmp9_->code);
		_data_->_tmp11_ = _data_->_tmp10_;
		_data_->_tmp12_ = _data_->e;
		_data_->_tmp13_ = _data_->_tmp12_->message;
		_data_->_tmp14_ = string_to_string (_data_->_tmp13_);
		_data_->_tmp15_ = g_strconcat ("Couldn't unfollow ", _data_->_tmp8_, ": ", _data_->_tmp11_, " ", _data_->_tmp14_, NULL);
		_data_->_tmp16_ = _data_->_tmp15_;
		g_warning ("Account.vala:334: %s", _data_->_tmp16_);
		_g_free0 (_data_->_tmp16_);
		_g_free0 (_data_->_tmp11_);
		_g_error_free0 (_data_->e);
	}
	__finally0:
	if (G_UNLIKELY (_data_->_inner_error0_ != NULL)) {
		_g_object_unref0 (_data_->req);
		g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _data_->_inner_error0_->message, g_quark_to_string (_data_->_inner_error0_->domain), _data_->_inner_error0_->code);
		g_clear_error (&_data_->_inner_error0_);
		g_object_unref (_data_->_async_result);
		return FALSE;
	}
	_g_object_unref0 (_data_->req);
	g_task_return_pointer (_data_->_async_result, _data_, NULL);
	if (_data_->_state_ != 0) {
		while (!g_task_get_completed (_data_->_async_result)) {
			g_main_context_iteration (g_task_get_context (_data_->_async_result), TRUE);
		}
	}
	g_object_unref (_data_->_async_result);
	return FALSE;
}

static void
__lambda198_ (TubaMastodonAccount* self,
              GObject* obj,
              GAsyncResult* res)
{
	GError* _inner_error0_ = NULL;
	g_return_if_fail (res != NULL);
	{
		TubaEntity* _tmp0_ = NULL;
		TubaEntity* _tmp1_;
		TubaAPIStatus* status = NULL;
		TubaAPIStatus* _tmp2_;
		TubaAPIStatus* _tmp3_;
		_tmp1_ = tuba_instance_account_resolve_finish ((TubaInstanceAccount*) self, res, &_inner_error0_);
		_tmp0_ = _tmp1_;
		if (G_UNLIKELY (_inner_error0_ != NULL)) {
			goto __catch0_g_error;
		}
		_tmp2_ = _g_object_ref0 (TUBA_API_IS_STATUS (_tmp0_) ? ((TubaAPIStatus*) _tmp0_) : NULL);
		status = _tmp2_;
		_tmp3_ = status;
		if (_tmp3_ != NULL) {
			TubaAPIStatus* _tmp4_;
			TubaAPIStatus* _tmp5_;
			TubaAPIStatus* _tmp6_;
			TubaDialogsComposerDialog* _tmp7_;
			TubaDialogsComposerDialog* _tmp8_;
			TubaApplication* _tmp9_;
			TubaDialogsMainWindow* _tmp10_;
			TubaDialogsMainWindow* _tmp11_;
			_tmp4_ = status;
			_tmp5_ = tuba_api_status_get_formal (_tmp4_);
			_tmp6_ = _tmp5_;
			_tmp7_ = tuba_dialogs_composer_dialog_new_reply (_tmp6_, NULL, NULL, NULL);
			g_object_ref_sink (_tmp7_);
			_tmp8_ = _tmp7_;
			_g_object_unref0 (_tmp8_);
			_tmp9_ = tuba_app;
			_tmp10_ = tuba_application_get_main_window (_tmp9_);
			_tmp11_ = _tmp10_;
			gtk_window_present ((GtkWindow*) _tmp11_);
		}
		_g_object_unref0 (status);
		_g_object_unref0 (_tmp0_);
	}
	goto __finally0;
	__catch0_g_error:
	{
		GError* e = NULL;
		const gchar* _tmp12_;
		const gchar* _tmp13_;
		const gchar* _tmp14_;
		gchar* _tmp15_;
		gchar* _tmp16_;
		GError* _tmp17_;
		const gchar* _tmp18_;
		e = _inner_error0_;
		_inner_error0_ = NULL;
		_tmp12_ = tuba_api_account_get_url ((TubaAPIAccount*) self);
		_tmp13_ = _tmp12_;
		_tmp14_ = string_to_string (_tmp13_);
		_tmp15_ = g_strconcat ("Failed to resolve URL \"", _tmp14_, "\":", NULL);
		_tmp16_ = _tmp15_;
		g_warning ("Account.vala:353: %s", _tmp16_);
		_g_free0 (_tmp16_);
		_tmp17_ = e;
		_tmp18_ = _tmp17_->message;
		g_warning ("Account.vala:354: %s", _tmp18_);
		_g_error_free0 (e);
	}
	__finally0:
	if (G_UNLIKELY (_inner_error0_ != NULL)) {
		g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error0_->message, g_quark_to_string (_inner_error0_->domain), _inner_error0_->code);
		g_clear_error (&_inner_error0_);
		return;
	}
}

static void
___lambda198__gasync_ready_callback (GObject* source_object,
                                     GAsyncResult* res,
                                     gpointer self)
{
	__lambda198_ ((TubaMastodonAccount*) self, source_object, res);
	g_object_unref (self);
}

static void
tuba_mastodon_account_real_reply_to_status_uri (TubaInstanceAccount* base,
                                                const gchar* issuer_id,
                                                const gchar* uri)
{
	TubaMastodonAccount * self;
	self = (TubaMastodonAccount*) base;
	g_return_if_fail (issuer_id != NULL);
	g_return_if_fail (uri != NULL);
	if (!tuba_mastodon_account_check_issuer (self, issuer_id)) {
		return;
	}
	tuba_instance_account_resolve ((TubaInstanceAccount*) self, uri, ___lambda198__gasync_ready_callback, g_object_ref (self));
}

TubaMastodonAccount*
tuba_mastodon_account_construct (GType object_type)
{
	TubaMastodonAccount * self = NULL;
	self = (TubaMastodonAccount*) tuba_instance_account_construct (object_type);
	return self;
}

TubaMastodonAccount*
tuba_mastodon_account_new (void)
{
	return tuba_mastodon_account_construct (TUBA_MASTODON_TYPE_ACCOUNT);
}

static GObject *
tuba_mastodon_account_constructor (GType type,
                                   guint n_construct_properties,
                                   GObjectConstructParam * construct_properties)
{
	GObject * obj;
	GObjectClass * parent_class;
	TubaMastodonAccount * self;
	gchar* _tmp0_;
	gchar* _tmp1_;
	gchar* _tmp2_;
	gchar* _tmp3_;
	gchar* _tmp4_;
	TubaInstanceAccountVisibility* _tmp5_ = NULL;
	TubaInstanceAccountVisibility* _tmp6_;
	gchar* _tmp7_;
	gchar* _tmp8_;
	gchar* _tmp9_;
	gchar* _tmp10_;
	gchar* _tmp11_;
	TubaInstanceAccountVisibility* _tmp12_ = NULL;
	TubaInstanceAccountVisibility* _tmp13_;
	gchar* _tmp14_;
	gchar* _tmp15_;
	gchar* _tmp16_;
	gchar* _tmp17_;
	gchar* _tmp18_;
	TubaInstanceAccountVisibility* _tmp19_ = NULL;
	TubaInstanceAccountVisibility* _tmp20_;
	gchar* _tmp21_;
	gchar* _tmp22_;
	gchar* _tmp23_;
	gchar* _tmp24_;
	gchar* _tmp25_;
	TubaInstanceAccountVisibility* _tmp26_ = NULL;
	TubaInstanceAccountVisibility* _tmp27_;
	parent_class = G_OBJECT_CLASS (tuba_mastodon_account_parent_class);
	obj = parent_class->constructor (type, n_construct_properties, construct_properties);
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, TUBA_MASTODON_TYPE_ACCOUNT, TubaMastodonAccount);
	_tmp0_ = tuba_api_status_visibility_to_string (TUBA_API_STATUS_VISIBILITY_PUBLIC);
	_tmp1_ = tuba_api_status_visibility_to_title (TUBA_API_STATUS_VISIBILITY_PUBLIC);
	_tmp2_ = g_strdup ("tuba-globe-symbolic");
	_tmp3_ = g_strdup ("tuba-globe-small-symbolic");
	_tmp4_ = g_strdup (_ ("Post to public timelines"));
	_tmp5_ = tuba_instance_account_visibility_new ();
	tuba_instance_account_visibility_set_id (_tmp5_, _tmp0_);
	_g_free0 (_tmp0_);
	tuba_instance_account_visibility_set_name (_tmp5_, _tmp1_);
	_g_free0 (_tmp1_);
	tuba_instance_account_visibility_set_icon_name (_tmp5_, _tmp2_);
	_g_free0 (_tmp2_);
	tuba_instance_account_visibility_set_small_icon_name (_tmp5_, _tmp3_);
	_g_free0 (_tmp3_);
	tuba_instance_account_visibility_set_description (_tmp5_, _tmp4_);
	_g_free0 (_tmp4_);
	_tmp6_ = _tmp5_;
	tuba_instance_account_set_visibility ((TubaInstanceAccount*) self, _tmp6_);
	_g_object_unref0 (_tmp6_);
	_tmp7_ = tuba_api_status_visibility_to_string (TUBA_API_STATUS_VISIBILITY_UNLISTED);
	_tmp8_ = tuba_api_status_visibility_to_title (TUBA_API_STATUS_VISIBILITY_UNLISTED);
	_tmp9_ = g_strdup ("tuba-padlock2-open-symbolic");
	_tmp10_ = g_strdup ("tuba-padlock2-open-small-symbolic");
	_tmp11_ = g_strdup (_ ("Don\'t post to public timelines"));
	_tmp12_ = tuba_instance_account_visibility_new ();
	tuba_instance_account_visibility_set_id (_tmp12_, _tmp7_);
	_g_free0 (_tmp7_);
	tuba_instance_account_visibility_set_name (_tmp12_, _tmp8_);
	_g_free0 (_tmp8_);
	tuba_instance_account_visibility_set_icon_name (_tmp12_, _tmp9_);
	_g_free0 (_tmp9_);
	tuba_instance_account_visibility_set_small_icon_name (_tmp12_, _tmp10_);
	_g_free0 (_tmp10_);
	tuba_instance_account_visibility_set_description (_tmp12_, _tmp11_);
	_g_free0 (_tmp11_);
	_tmp13_ = _tmp12_;
	tuba_instance_account_set_visibility ((TubaInstanceAccount*) self, _tmp13_);
	_g_object_unref0 (_tmp13_);
	_tmp14_ = tuba_api_status_visibility_to_string (TUBA_API_STATUS_VISIBILITY_PRIVATE);
	_tmp15_ = tuba_api_status_visibility_to_title (TUBA_API_STATUS_VISIBILITY_PRIVATE);
	_tmp16_ = g_strdup ("tuba-padlock2-symbolic");
	_tmp17_ = g_strdup ("tuba-padlock2-small-symbolic");
	_tmp18_ = g_strdup (_ ("Post to followers only"));
	_tmp19_ = tuba_instance_account_visibility_new ();
	tuba_instance_account_visibility_set_id (_tmp19_, _tmp14_);
	_g_free0 (_tmp14_);
	tuba_instance_account_visibility_set_name (_tmp19_, _tmp15_);
	_g_free0 (_tmp15_);
	tuba_instance_account_visibility_set_icon_name (_tmp19_, _tmp16_);
	_g_free0 (_tmp16_);
	tuba_instance_account_visibility_set_small_icon_name (_tmp19_, _tmp17_);
	_g_free0 (_tmp17_);
	tuba_instance_account_visibility_set_description (_tmp19_, _tmp18_);
	_g_free0 (_tmp18_);
	_tmp20_ = _tmp19_;
	tuba_instance_account_set_visibility ((TubaInstanceAccount*) self, _tmp20_);
	_g_object_unref0 (_tmp20_);
	_tmp21_ = tuba_api_status_visibility_to_string (TUBA_API_STATUS_VISIBILITY_DIRECT);
	_tmp22_ = tuba_api_status_visibility_to_title (TUBA_API_STATUS_VISIBILITY_DIRECT);
	_tmp23_ = g_strdup ("tuba-mail-unread-symbolic");
	_tmp24_ = g_strdup ("tuba-mail-small-symbolic");
	_tmp25_ = g_strdup (_ ("Post to mentioned users only"));
	_tmp26_ = tuba_instance_account_visibility_new ();
	tuba_instance_account_visibility_set_id (_tmp26_, _tmp21_);
	_g_free0 (_tmp21_);
	tuba_instance_account_visibility_set_name (_tmp26_, _tmp22_);
	_g_free0 (_tmp22_);
	tuba_instance_account_visibility_set_icon_name (_tmp26_, _tmp23_);
	_g_free0 (_tmp23_);
	tuba_instance_account_visibility_set_small_icon_name (_tmp26_, _tmp24_);
	_g_free0 (_tmp24_);
	tuba_instance_account_visibility_set_description (_tmp26_, _tmp25_);
	_g_free0 (_tmp25_);
	_tmp27_ = _tmp26_;
	tuba_instance_account_set_visibility ((TubaInstanceAccount*) self, _tmp27_);
	_g_object_unref0 (_tmp27_);
	return obj;
}

static void
tuba_mastodon_account_class_init (TubaMastodonAccountClass * klass,
                                  gpointer klass_data)
{
	gchar* _tmp0_;
	gchar* _tmp1_;
	TubaPlace* _tmp2_ = NULL;
	gchar* _tmp3_;
	gchar* _tmp4_;
	TubaPlace* _tmp5_ = NULL;
	gchar* _tmp6_;
	gchar* _tmp7_;
	TubaPlace* _tmp8_ = NULL;
	gchar* _tmp9_;
	gchar* _tmp10_;
	TubaPlace* _tmp11_ = NULL;
	gchar* _tmp12_;
	gchar* _tmp13_;
	TubaPlace* _tmp14_ = NULL;
	gchar* _tmp15_;
	gchar* _tmp16_;
	TubaPlace* _tmp17_ = NULL;
	gchar* _tmp18_;
	gchar* _tmp19_;
	TubaPlace* _tmp20_ = NULL;
	gchar* _tmp21_;
	gchar* _tmp22_;
	TubaPlace* _tmp23_ = NULL;
	gchar* _tmp24_;
	gchar* _tmp25_;
	TubaPlace* _tmp26_ = NULL;
	gchar* _tmp27_;
	gchar* _tmp28_;
	TubaPlace* _tmp29_ = NULL;
	gchar* _tmp30_;
	gchar* _tmp31_;
	TubaPlace* _tmp32_ = NULL;
	gchar* _tmp33_;
	gchar* _tmp34_;
	TubaPlace* _tmp35_ = NULL;
	gchar* _tmp36_;
	gchar* _tmp37_;
	TubaPlace* _tmp38_ = NULL;
	TubaPlace* _tmp39_;
	TubaPlace* _tmp40_;
	TubaPlace* _tmp41_;
	TubaPlace* _tmp42_;
	TubaPlace* _tmp43_;
	TubaPlace* _tmp44_;
	TubaPlace* _tmp45_;
	TubaPlace* _tmp46_;
	TubaPlace* _tmp47_;
	TubaPlace* _tmp48_;
	TubaPlace* _tmp49_;
	TubaPlace* _tmp50_;
	TubaPlace* _tmp51_;
	TubaPlace* _tmp52_;
	TubaPlace* _tmp53_;
	TubaPlace* _tmp54_;
	TubaPlace* _tmp55_;
	TubaPlace* _tmp56_;
	TubaPlace* _tmp57_;
	TubaPlace* _tmp58_;
	TubaPlace* _tmp59_;
	TubaPlace* _tmp60_;
	TubaPlace* _tmp61_;
	TubaPlace* _tmp62_;
	TubaPlace* _tmp63_;
	TubaPlace* _tmp64_;
	TubaPlace** _tmp65_;
	tuba_mastodon_account_parent_class = g_type_class_peek_parent (klass);
	((TubaInstanceAccountClass *) klass)->bump_sidebar_items = (void (*) (TubaInstanceAccount*)) tuba_mastodon_account_real_bump_sidebar_items;
	((TubaInstanceAccountClass *) klass)->register_known_places = (void (*) (TubaInstanceAccount*, GListStore*)) tuba_mastodon_account_real_register_known_places;
	((TubaInstanceAccountClass *) klass)->register_extra = (void (*) (TubaInstanceAccount*, GListStore*, TubaPlace**, gint)) tuba_mastodon_account_real_register_extra;
	((TubaInstanceAccountClass *) klass)->open_status_url = (void (*) (TubaInstanceAccount*, const gchar*)) tuba_mastodon_account_real_open_status_url;
	((TubaInstanceAccountClass *) klass)->answer_follow_request = (void (*) (TubaInstanceAccount*, const gchar*, const gchar*, gboolean)) tuba_mastodon_account_real_answer_follow_request;
	((TubaInstanceAccountClass *) klass)->follow_back = (void (*) (TubaInstanceAccount*, const gchar*, const gchar*)) tuba_mastodon_account_real_follow_back;
	((TubaInstanceAccountClass *) klass)->remove_from_followers = (void (*) (TubaInstanceAccount*, const gchar*, const gchar*)) tuba_mastodon_account_real_remove_from_followers;
	((TubaInstanceAccountClass *) klass)->reply_to_status_uri = (void (*) (TubaInstanceAccount*, const gchar*, const gchar*)) tuba_mastodon_account_real_reply_to_status_uri;
	G_OBJECT_CLASS (klass)->constructor = tuba_mastodon_account_constructor;
	G_OBJECT_CLASS (klass)->finalize = tuba_mastodon_account_finalize;
	_tmp0_ = g_strdup ("tuba-user-home-symbolic");
	_tmp1_ = g_strdup (_ ("Home"));
	_tmp2_ = tuba_place_new ();
	tuba_place_set_icon (_tmp2_, _tmp0_);
	_g_free0 (_tmp0_);
	tuba_place_set_title (_tmp2_, _tmp1_);
	_g_free0 (_tmp1_);
	tuba_place_set_needs_attention (_tmp2_, FALSE);
	tuba_place_set_open_func (_tmp2_, __tuba_mastodon_account_place_home_lambda176__tuba_place_open_func);
	tuba_mastodon_account_PLACE_HOME = _tmp2_;
	_tmp3_ = g_strdup ("tuba-bell-outline-symbolic");
	_tmp4_ = g_strdup (_ ("Notifications"));
	_tmp5_ = tuba_place_new ();
	tuba_place_set_icon (_tmp5_, _tmp3_);
	_g_free0 (_tmp3_);
	tuba_place_set_title (_tmp5_, _tmp4_);
	_g_free0 (_tmp4_);
	tuba_place_set_open_func (_tmp5_, __tuba_mastodon_account_place_notifications_lambda177__tuba_place_open_func);
	tuba_mastodon_account_PLACE_NOTIFICATIONS = _tmp5_;
	_tmp6_ = g_strdup ("tuba-mail-unread-symbolic");
	_tmp7_ = g_strdup (_ ("Conversations"));
	_tmp8_ = tuba_place_new ();
	tuba_place_set_icon (_tmp8_, _tmp6_);
	_g_free0 (_tmp6_);
	tuba_place_set_title (_tmp8_, _tmp7_);
	_g_free0 (_tmp7_);
	tuba_place_set_open_func (_tmp8_, __tuba_mastodon_account_place_conversations_lambda178__tuba_place_open_func);
	tuba_mastodon_account_PLACE_CONVERSATIONS = _tmp8_;
	_tmp9_ = g_strdup ("tuba-bookmarks-symbolic");
	_tmp10_ = g_strdup (_ ("Bookmarks"));
	_tmp11_ = tuba_place_new ();
	tuba_place_set_icon (_tmp11_, _tmp9_);
	_g_free0 (_tmp9_);
	tuba_place_set_title (_tmp11_, _tmp10_);
	_g_free0 (_tmp10_);
	tuba_place_set_open_func (_tmp11_, __tuba_mastodon_account_place_bookmarks_lambda179__tuba_place_open_func);
	tuba_mastodon_account_PLACE_BOOKMARKS = _tmp11_;
	_tmp12_ = g_strdup ("tuba-unstarred-symbolic");
	_tmp13_ = g_strdup (_ ("Favorites"));
	_tmp14_ = tuba_place_new ();
	tuba_place_set_icon (_tmp14_, _tmp12_);
	_g_free0 (_tmp12_);
	tuba_place_set_title (_tmp14_, _tmp13_);
	_g_free0 (_tmp13_);
	tuba_place_set_open_func (_tmp14_, __tuba_mastodon_account_place_favorites_lambda180__tuba_place_open_func);
	tuba_mastodon_account_PLACE_FAVORITES = _tmp14_;
	_tmp15_ = g_strdup ("tuba-list-compact-symbolic");
	_tmp16_ = g_strdup (_ ("Lists"));
	_tmp17_ = tuba_place_new ();
	tuba_place_set_icon (_tmp17_, _tmp15_);
	_g_free0 (_tmp15_);
	tuba_place_set_title (_tmp17_, _tmp16_);
	_g_free0 (_tmp16_);
	tuba_place_set_open_func (_tmp17_, __tuba_mastodon_account_place_lists_lambda181__tuba_place_open_func);
	tuba_mastodon_account_PLACE_LISTS = _tmp17_;
	_tmp18_ = g_strdup ("tuba-loupe-large-symbolic");
	_tmp19_ = g_strdup (_ ("Search"));
	_tmp20_ = tuba_place_new ();
	tuba_place_set_icon (_tmp20_, _tmp18_);
	_g_free0 (_tmp18_);
	tuba_place_set_title (_tmp20_, _tmp19_);
	_g_free0 (_tmp19_);
	tuba_place_set_open_func (_tmp20_, __tuba_mastodon_account_place_search_lambda182__tuba_place_open_func);
	tuba_mastodon_account_PLACE_SEARCH = _tmp20_;
	_tmp21_ = g_strdup ("tuba-explore2-large-symbolic");
	_tmp22_ = g_strdup (_ ("Explore"));
	_tmp23_ = tuba_place_new ();
	tuba_place_set_icon (_tmp23_, _tmp21_);
	_g_free0 (_tmp21_);
	tuba_place_set_title (_tmp23_, _tmp22_);
	_g_free0 (_tmp22_);
	tuba_place_set_separated (_tmp23_, TRUE);
	tuba_place_set_open_func (_tmp23_, __tuba_mastodon_account_place_explore_lambda187__tuba_place_open_func);
	tuba_mastodon_account_PLACE_EXPLORE = _tmp23_;
	_tmp24_ = g_strdup ("tuba-network-server-symbolic");
	_tmp25_ = g_strdup (_ ("Local"));
	_tmp26_ = tuba_place_new ();
	tuba_place_set_icon (_tmp26_, _tmp24_);
	_g_free0 (_tmp24_);
	tuba_place_set_title (_tmp26_, _tmp25_);
	_g_free0 (_tmp25_);
	tuba_place_set_open_func (_tmp26_, __tuba_mastodon_account_place_local_lambda188__tuba_place_open_func);
	tuba_mastodon_account_PLACE_LOCAL = _tmp26_;
	_tmp27_ = g_strdup ("tuba-fish-symbolic");
	_tmp28_ = g_strdup ("Bubble");
	_tmp29_ = tuba_place_new ();
	tuba_place_set_icon (_tmp29_, _tmp27_);
	_g_free0 (_tmp27_);
	tuba_place_set_title (_tmp29_, _tmp28_);
	_g_free0 (_tmp28_);
	tuba_place_set_open_func (_tmp29_, __tuba_mastodon_account_place_bubble_lambda189__tuba_place_open_func);
	tuba_place_set_visible (_tmp29_, FALSE);
	tuba_mastodon_account_PLACE_BUBBLE = _tmp29_;
	_tmp30_ = g_strdup ("tuba-globe-symbolic");
	_tmp31_ = g_strdup (_ ("Federated"));
	_tmp32_ = tuba_place_new ();
	tuba_place_set_icon (_tmp32_, _tmp30_);
	_g_free0 (_tmp30_);
	tuba_place_set_title (_tmp32_, _tmp31_);
	_g_free0 (_tmp31_);
	tuba_place_set_open_func (_tmp32_, __tuba_mastodon_account_place_federated_lambda190__tuba_place_open_func);
	tuba_mastodon_account_PLACE_FEDERATED = _tmp32_;
	_tmp33_ = g_strdup ("tuba-hashtag-symbolic");
	_tmp34_ = g_strdup (_ ("Hashtags"));
	_tmp35_ = tuba_place_new ();
	tuba_place_set_icon (_tmp35_, _tmp33_);
	_g_free0 (_tmp33_);
	tuba_place_set_title (_tmp35_, _tmp34_);
	_g_free0 (_tmp34_);
	tuba_place_set_open_func (_tmp35_, __tuba_mastodon_account_place_hashtags_lambda191__tuba_place_open_func);
	tuba_mastodon_account_PLACE_HASHTAGS = _tmp35_;
	_tmp36_ = g_strdup ("tuba-folder-visiting-symbolic");
	_tmp37_ = g_strdup (_ ("Drive"));
	_tmp38_ = tuba_place_new ();
	tuba_place_set_icon (_tmp38_, _tmp36_);
	_g_free0 (_tmp36_);
	tuba_place_set_title (_tmp38_, _tmp37_);
	_g_free0 (_tmp37_);
	tuba_place_set_open_func (_tmp38_, __tuba_mastodon_account_place_drive_lambda192__tuba_place_open_func);
	tuba_place_set_visible (_tmp38_, FALSE);
	tuba_mastodon_account_PLACE_DRIVE = _tmp38_;
	_tmp39_ = tuba_mastodon_account_PLACE_HOME;
	_tmp40_ = _g_object_ref0 (_tmp39_);
	_tmp41_ = tuba_mastodon_account_PLACE_NOTIFICATIONS;
	_tmp42_ = _g_object_ref0 (_tmp41_);
	_tmp43_ = tuba_mastodon_account_PLACE_CONVERSATIONS;
	_tmp44_ = _g_object_ref0 (_tmp43_);
	_tmp45_ = tuba_mastodon_account_PLACE_SEARCH;
	_tmp46_ = _g_object_ref0 (_tmp45_);
	_tmp47_ = tuba_mastodon_account_PLACE_FAVORITES;
	_tmp48_ = _g_object_ref0 (_tmp47_);
	_tmp49_ = tuba_mastodon_account_PLACE_BOOKMARKS;
	_tmp50_ = _g_object_ref0 (_tmp49_);
	_tmp51_ = tuba_mastodon_account_PLACE_HASHTAGS;
	_tmp52_ = _g_object_ref0 (_tmp51_);
	_tmp53_ = tuba_mastodon_account_PLACE_EXPLORE;
	_tmp54_ = _g_object_ref0 (_tmp53_);
	_tmp55_ = tuba_mastodon_account_PLACE_LOCAL;
	_tmp56_ = _g_object_ref0 (_tmp55_);
	_tmp57_ = tuba_mastodon_account_PLACE_BUBBLE;
	_tmp58_ = _g_object_ref0 (_tmp57_);
	_tmp59_ = tuba_mastodon_account_PLACE_FEDERATED;
	_tmp60_ = _g_object_ref0 (_tmp59_);
	_tmp61_ = tuba_mastodon_account_PLACE_LISTS;
	_tmp62_ = _g_object_ref0 (_tmp61_);
	_tmp63_ = tuba_mastodon_account_PLACE_DRIVE;
	_tmp64_ = _g_object_ref0 (_tmp63_);
	_tmp65_ = g_new0 (TubaPlace*, 13 + 1);
	_tmp65_[0] = _tmp40_;
	_tmp65_[1] = _tmp42_;
	_tmp65_[2] = _tmp44_;
	_tmp65_[3] = _tmp46_;
	_tmp65_[4] = _tmp48_;
	_tmp65_[5] = _tmp50_;
	_tmp65_[6] = _tmp52_;
	_tmp65_[7] = _tmp54_;
	_tmp65_[8] = _tmp56_;
	_tmp65_[9] = _tmp58_;
	_tmp65_[10] = _tmp60_;
	_tmp65_[11] = _tmp62_;
	_tmp65_[12] = _tmp64_;
	tuba_mastodon_account_SIDEBAR_PLACES = _tmp65_;
	tuba_mastodon_account_SIDEBAR_PLACES_length1 = 13;
	_tuba_mastodon_account_SIDEBAR_PLACES_size_ = tuba_mastodon_account_SIDEBAR_PLACES_length1;
}

static void
tuba_mastodon_account_instance_init (TubaMastodonAccount * self,
                                     gpointer klass)
{
}

static void
tuba_mastodon_account_finalize (GObject * obj)
{
	TubaMastodonAccount * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, TUBA_MASTODON_TYPE_ACCOUNT, TubaMastodonAccount);
	G_OBJECT_CLASS (tuba_mastodon_account_parent_class)->finalize (obj);
}

 G_GNUC_NO_INLINE static GType
tuba_mastodon_account_get_type_once (void)
{
	static const GTypeInfo g_define_type_info = { sizeof (TubaMastodonAccountClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) tuba_mastodon_account_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (TubaMastodonAccount), 0, (GInstanceInitFunc) tuba_mastodon_account_instance_init, NULL };
	GType tuba_mastodon_account_type_id;
	tuba_mastodon_account_type_id = g_type_register_static (TUBA_TYPE_INSTANCE_ACCOUNT, "TubaMastodonAccount", &g_define_type_info, G_TYPE_FLAG_NONE);
	return tuba_mastodon_account_type_id;
}

GType
tuba_mastodon_account_get_type (void)
{
	static GType tuba_mastodon_account_type_id__once = 0;
	if (g_once_init_enter_pointer (&tuba_mastodon_account_type_id__once)) {
		GType tuba_mastodon_account_type_id;
		tuba_mastodon_account_type_id = tuba_mastodon_account_get_type_once ();
		g_once_init_leave_pointer (&tuba_mastodon_account_type_id__once, tuba_mastodon_account_type_id);
	}
	return tuba_mastodon_account_type_id__once;
}

static void
_vala_array_destroy (gpointer array,
                     gssize array_length,
                     GDestroyNotify destroy_func)
{
	if ((array != NULL) && (destroy_func != NULL)) {
		gssize i;
		for (i = 0; i < array_length; i = i + 1) {
			if (((gpointer*) array)[i] != NULL) {
				destroy_func (((gpointer*) array)[i]);
			}
		}
	}
}

static void
_vala_array_free (gpointer array,
                  gssize array_length,
                  GDestroyNotify destroy_func)
{
	_vala_array_destroy (array, array_length, destroy_func);
	g_free (array);
}

