/* AnnualReports.c generated by valac 0.56.19, the Vala compiler
 * generated from AnnualReports.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 <gee.h>
#include <adwaita.h>
#include <float.h>
#include <math.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_ANNUAL_REPORTS (tuba_api_annual_reports_get_type ())
#define TUBA_API_ANNUAL_REPORTS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TUBA_API_TYPE_ANNUAL_REPORTS, TubaAPIAnnualReports))
#define TUBA_API_ANNUAL_REPORTS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TUBA_API_TYPE_ANNUAL_REPORTS, TubaAPIAnnualReportsClass))
#define TUBA_API_IS_ANNUAL_REPORTS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TUBA_API_TYPE_ANNUAL_REPORTS))
#define TUBA_API_IS_ANNUAL_REPORTS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TUBA_API_TYPE_ANNUAL_REPORTS))
#define TUBA_API_ANNUAL_REPORTS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TUBA_API_TYPE_ANNUAL_REPORTS, TubaAPIAnnualReportsClass))

typedef struct _TubaAPIAnnualReports TubaAPIAnnualReports;
typedef struct _TubaAPIAnnualReportsClass TubaAPIAnnualReportsClass;
typedef struct _TubaAPIAnnualReportsPrivate TubaAPIAnnualReportsPrivate;

#define TUBA_API_ANNUAL_REPORTS_TYPE_REPORT (tuba_api_annual_reports_report_get_type ())
#define TUBA_API_ANNUAL_REPORTS_REPORT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TUBA_API_ANNUAL_REPORTS_TYPE_REPORT, TubaAPIAnnualReportsReport))
#define TUBA_API_ANNUAL_REPORTS_REPORT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TUBA_API_ANNUAL_REPORTS_TYPE_REPORT, TubaAPIAnnualReportsReportClass))
#define TUBA_API_ANNUAL_REPORTS_IS_REPORT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TUBA_API_ANNUAL_REPORTS_TYPE_REPORT))
#define TUBA_API_ANNUAL_REPORTS_IS_REPORT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TUBA_API_ANNUAL_REPORTS_TYPE_REPORT))
#define TUBA_API_ANNUAL_REPORTS_REPORT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TUBA_API_ANNUAL_REPORTS_TYPE_REPORT, TubaAPIAnnualReportsReportClass))

typedef struct _TubaAPIAnnualReportsReport TubaAPIAnnualReportsReport;
typedef struct _TubaAPIAnnualReportsReportClass TubaAPIAnnualReportsReportClass;

#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;
enum  {
	TUBA_API_ANNUAL_REPORTS_0_PROPERTY,
	TUBA_API_ANNUAL_REPORTS_ANNUAL_REPORTS_PROPERTY,
	TUBA_API_ANNUAL_REPORTS_STATUSES_PROPERTY,
	TUBA_API_ANNUAL_REPORTS_ACCOUNTS_PROPERTY,
	TUBA_API_ANNUAL_REPORTS_NUM_PROPERTIES
};
static GParamSpec* tuba_api_annual_reports_properties[TUBA_API_ANNUAL_REPORTS_NUM_PROPERTIES];
#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL)))

#define TUBA_DIALOGS_TYPE_ANNUAL_REPORT (tuba_dialogs_annual_report_get_type ())
#define TUBA_DIALOGS_ANNUAL_REPORT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TUBA_DIALOGS_TYPE_ANNUAL_REPORT, TubaDialogsAnnualReport))
#define TUBA_DIALOGS_ANNUAL_REPORT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TUBA_DIALOGS_TYPE_ANNUAL_REPORT, TubaDialogsAnnualReportClass))
#define TUBA_DIALOGS_IS_ANNUAL_REPORT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TUBA_DIALOGS_TYPE_ANNUAL_REPORT))
#define TUBA_DIALOGS_IS_ANNUAL_REPORT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TUBA_DIALOGS_TYPE_ANNUAL_REPORT))
#define TUBA_DIALOGS_ANNUAL_REPORT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TUBA_DIALOGS_TYPE_ANNUAL_REPORT, TubaDialogsAnnualReportClass))

typedef struct _TubaDialogsAnnualReport TubaDialogsAnnualReport;
typedef struct _TubaDialogsAnnualReportClass TubaDialogsAnnualReportClass;

#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_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;
typedef struct _TubaAPIAnnualReportsReportPrivate TubaAPIAnnualReportsReportPrivate;

#define TUBA_API_ANNUAL_REPORTS_REPORT_TYPE_DATA (tuba_api_annual_reports_report_data_get_type ())
#define TUBA_API_ANNUAL_REPORTS_REPORT_DATA(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TUBA_API_ANNUAL_REPORTS_REPORT_TYPE_DATA, TubaAPIAnnualReportsReportData))
#define TUBA_API_ANNUAL_REPORTS_REPORT_DATA_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TUBA_API_ANNUAL_REPORTS_REPORT_TYPE_DATA, TubaAPIAnnualReportsReportDataClass))
#define TUBA_API_ANNUAL_REPORTS_REPORT_IS_DATA(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TUBA_API_ANNUAL_REPORTS_REPORT_TYPE_DATA))
#define TUBA_API_ANNUAL_REPORTS_REPORT_IS_DATA_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TUBA_API_ANNUAL_REPORTS_REPORT_TYPE_DATA))
#define TUBA_API_ANNUAL_REPORTS_REPORT_DATA_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TUBA_API_ANNUAL_REPORTS_REPORT_TYPE_DATA, TubaAPIAnnualReportsReportDataClass))

typedef struct _TubaAPIAnnualReportsReportData TubaAPIAnnualReportsReportData;
typedef struct _TubaAPIAnnualReportsReportDataClass TubaAPIAnnualReportsReportDataClass;
enum  {
	TUBA_API_ANNUAL_REPORTS_REPORT_0_PROPERTY,
	TUBA_API_ANNUAL_REPORTS_REPORT_YEAR_PROPERTY,
	TUBA_API_ANNUAL_REPORTS_REPORT_DATA_PROPERTY,
	TUBA_API_ANNUAL_REPORTS_REPORT_NUM_PROPERTIES
};
static GParamSpec* tuba_api_annual_reports_report_properties[TUBA_API_ANNUAL_REPORTS_REPORT_NUM_PROPERTIES];
typedef struct _TubaAPIAnnualReportsReportDataPrivate TubaAPIAnnualReportsReportDataPrivate;

#define TUBA_API_ANNUAL_REPORTS_REPORT_DATA_TYPE_TIME_SERIES (tuba_api_annual_reports_report_data_time_series_get_type ())
#define TUBA_API_ANNUAL_REPORTS_REPORT_DATA_TIME_SERIES(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TUBA_API_ANNUAL_REPORTS_REPORT_DATA_TYPE_TIME_SERIES, TubaAPIAnnualReportsReportDataTimeSeries))
#define TUBA_API_ANNUAL_REPORTS_REPORT_DATA_TIME_SERIES_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TUBA_API_ANNUAL_REPORTS_REPORT_DATA_TYPE_TIME_SERIES, TubaAPIAnnualReportsReportDataTimeSeriesClass))
#define TUBA_API_ANNUAL_REPORTS_REPORT_DATA_IS_TIME_SERIES(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TUBA_API_ANNUAL_REPORTS_REPORT_DATA_TYPE_TIME_SERIES))
#define TUBA_API_ANNUAL_REPORTS_REPORT_DATA_IS_TIME_SERIES_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TUBA_API_ANNUAL_REPORTS_REPORT_DATA_TYPE_TIME_SERIES))
#define TUBA_API_ANNUAL_REPORTS_REPORT_DATA_TIME_SERIES_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TUBA_API_ANNUAL_REPORTS_REPORT_DATA_TYPE_TIME_SERIES, TubaAPIAnnualReportsReportDataTimeSeriesClass))

typedef struct _TubaAPIAnnualReportsReportDataTimeSeries TubaAPIAnnualReportsReportDataTimeSeries;
typedef struct _TubaAPIAnnualReportsReportDataTimeSeriesClass TubaAPIAnnualReportsReportDataTimeSeriesClass;

#define TUBA_API_ANNUAL_REPORTS_REPORT_DATA_TYPE_PERCENTILES (tuba_api_annual_reports_report_data_percentiles_get_type ())
#define TUBA_API_ANNUAL_REPORTS_REPORT_DATA_PERCENTILES(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TUBA_API_ANNUAL_REPORTS_REPORT_DATA_TYPE_PERCENTILES, TubaAPIAnnualReportsReportDataPercentiles))
#define TUBA_API_ANNUAL_REPORTS_REPORT_DATA_PERCENTILES_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TUBA_API_ANNUAL_REPORTS_REPORT_DATA_TYPE_PERCENTILES, TubaAPIAnnualReportsReportDataPercentilesClass))
#define TUBA_API_ANNUAL_REPORTS_REPORT_DATA_IS_PERCENTILES(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TUBA_API_ANNUAL_REPORTS_REPORT_DATA_TYPE_PERCENTILES))
#define TUBA_API_ANNUAL_REPORTS_REPORT_DATA_IS_PERCENTILES_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TUBA_API_ANNUAL_REPORTS_REPORT_DATA_TYPE_PERCENTILES))
#define TUBA_API_ANNUAL_REPORTS_REPORT_DATA_PERCENTILES_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TUBA_API_ANNUAL_REPORTS_REPORT_DATA_TYPE_PERCENTILES, TubaAPIAnnualReportsReportDataPercentilesClass))

typedef struct _TubaAPIAnnualReportsReportDataPercentiles TubaAPIAnnualReportsReportDataPercentiles;
typedef struct _TubaAPIAnnualReportsReportDataPercentilesClass TubaAPIAnnualReportsReportDataPercentilesClass;

#define TUBA_API_ANNUAL_REPORTS_REPORT_DATA_TYPE_TOP_STATUSES (tuba_api_annual_reports_report_data_top_statuses_get_type ())
#define TUBA_API_ANNUAL_REPORTS_REPORT_DATA_TOP_STATUSES(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TUBA_API_ANNUAL_REPORTS_REPORT_DATA_TYPE_TOP_STATUSES, TubaAPIAnnualReportsReportDataTopStatuses))
#define TUBA_API_ANNUAL_REPORTS_REPORT_DATA_TOP_STATUSES_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TUBA_API_ANNUAL_REPORTS_REPORT_DATA_TYPE_TOP_STATUSES, TubaAPIAnnualReportsReportDataTopStatusesClass))
#define TUBA_API_ANNUAL_REPORTS_REPORT_DATA_IS_TOP_STATUSES(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TUBA_API_ANNUAL_REPORTS_REPORT_DATA_TYPE_TOP_STATUSES))
#define TUBA_API_ANNUAL_REPORTS_REPORT_DATA_IS_TOP_STATUSES_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TUBA_API_ANNUAL_REPORTS_REPORT_DATA_TYPE_TOP_STATUSES))
#define TUBA_API_ANNUAL_REPORTS_REPORT_DATA_TOP_STATUSES_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TUBA_API_ANNUAL_REPORTS_REPORT_DATA_TYPE_TOP_STATUSES, TubaAPIAnnualReportsReportDataTopStatusesClass))

typedef struct _TubaAPIAnnualReportsReportDataTopStatuses TubaAPIAnnualReportsReportDataTopStatuses;
typedef struct _TubaAPIAnnualReportsReportDataTopStatusesClass TubaAPIAnnualReportsReportDataTopStatusesClass;

#define TUBA_API_ANNUAL_REPORTS_REPORT_DATA_TYPE_COUNTABLE (tuba_api_annual_reports_report_data_countable_get_type ())
#define TUBA_API_ANNUAL_REPORTS_REPORT_DATA_COUNTABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TUBA_API_ANNUAL_REPORTS_REPORT_DATA_TYPE_COUNTABLE, TubaAPIAnnualReportsReportDataCountable))
#define TUBA_API_ANNUAL_REPORTS_REPORT_DATA_COUNTABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TUBA_API_ANNUAL_REPORTS_REPORT_DATA_TYPE_COUNTABLE, TubaAPIAnnualReportsReportDataCountableClass))
#define TUBA_API_ANNUAL_REPORTS_REPORT_DATA_IS_COUNTABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TUBA_API_ANNUAL_REPORTS_REPORT_DATA_TYPE_COUNTABLE))
#define TUBA_API_ANNUAL_REPORTS_REPORT_DATA_IS_COUNTABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TUBA_API_ANNUAL_REPORTS_REPORT_DATA_TYPE_COUNTABLE))
#define TUBA_API_ANNUAL_REPORTS_REPORT_DATA_COUNTABLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TUBA_API_ANNUAL_REPORTS_REPORT_DATA_TYPE_COUNTABLE, TubaAPIAnnualReportsReportDataCountableClass))

typedef struct _TubaAPIAnnualReportsReportDataCountable TubaAPIAnnualReportsReportDataCountable;
typedef struct _TubaAPIAnnualReportsReportDataCountableClass TubaAPIAnnualReportsReportDataCountableClass;

#define TUBA_API_ANNUAL_REPORTS_REPORT_DATA_TYPE_NAMED_COUNTABLE (tuba_api_annual_reports_report_data_named_countable_get_type ())
#define TUBA_API_ANNUAL_REPORTS_REPORT_DATA_NAMED_COUNTABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TUBA_API_ANNUAL_REPORTS_REPORT_DATA_TYPE_NAMED_COUNTABLE, TubaAPIAnnualReportsReportDataNamedCountable))
#define TUBA_API_ANNUAL_REPORTS_REPORT_DATA_NAMED_COUNTABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TUBA_API_ANNUAL_REPORTS_REPORT_DATA_TYPE_NAMED_COUNTABLE, TubaAPIAnnualReportsReportDataNamedCountableClass))
#define TUBA_API_ANNUAL_REPORTS_REPORT_DATA_IS_NAMED_COUNTABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TUBA_API_ANNUAL_REPORTS_REPORT_DATA_TYPE_NAMED_COUNTABLE))
#define TUBA_API_ANNUAL_REPORTS_REPORT_DATA_IS_NAMED_COUNTABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TUBA_API_ANNUAL_REPORTS_REPORT_DATA_TYPE_NAMED_COUNTABLE))
#define TUBA_API_ANNUAL_REPORTS_REPORT_DATA_NAMED_COUNTABLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TUBA_API_ANNUAL_REPORTS_REPORT_DATA_TYPE_NAMED_COUNTABLE, TubaAPIAnnualReportsReportDataNamedCountableClass))

typedef struct _TubaAPIAnnualReportsReportDataNamedCountable TubaAPIAnnualReportsReportDataNamedCountable;
typedef struct _TubaAPIAnnualReportsReportDataNamedCountableClass TubaAPIAnnualReportsReportDataNamedCountableClass;

#define TUBA_API_ANNUAL_REPORTS_REPORT_DATA_TYPE_REBLOGGED_ACCOUNT (tuba_api_annual_reports_report_data_reblogged_account_get_type ())
#define TUBA_API_ANNUAL_REPORTS_REPORT_DATA_REBLOGGED_ACCOUNT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TUBA_API_ANNUAL_REPORTS_REPORT_DATA_TYPE_REBLOGGED_ACCOUNT, TubaAPIAnnualReportsReportDataRebloggedAccount))
#define TUBA_API_ANNUAL_REPORTS_REPORT_DATA_REBLOGGED_ACCOUNT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TUBA_API_ANNUAL_REPORTS_REPORT_DATA_TYPE_REBLOGGED_ACCOUNT, TubaAPIAnnualReportsReportDataRebloggedAccountClass))
#define TUBA_API_ANNUAL_REPORTS_REPORT_DATA_IS_REBLOGGED_ACCOUNT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TUBA_API_ANNUAL_REPORTS_REPORT_DATA_TYPE_REBLOGGED_ACCOUNT))
#define TUBA_API_ANNUAL_REPORTS_REPORT_DATA_IS_REBLOGGED_ACCOUNT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TUBA_API_ANNUAL_REPORTS_REPORT_DATA_TYPE_REBLOGGED_ACCOUNT))
#define TUBA_API_ANNUAL_REPORTS_REPORT_DATA_REBLOGGED_ACCOUNT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TUBA_API_ANNUAL_REPORTS_REPORT_DATA_TYPE_REBLOGGED_ACCOUNT, TubaAPIAnnualReportsReportDataRebloggedAccountClass))

typedef struct _TubaAPIAnnualReportsReportDataRebloggedAccount TubaAPIAnnualReportsReportDataRebloggedAccount;
typedef struct _TubaAPIAnnualReportsReportDataRebloggedAccountClass TubaAPIAnnualReportsReportDataRebloggedAccountClass;
enum  {
	TUBA_API_ANNUAL_REPORTS_REPORT_DATA_0_PROPERTY,
	TUBA_API_ANNUAL_REPORTS_REPORT_DATA_TIME_SERIES_PROPERTY,
	TUBA_API_ANNUAL_REPORTS_REPORT_DATA_PERCENTILES_PROPERTY,
	TUBA_API_ANNUAL_REPORTS_REPORT_DATA_TOP_STATUSES_PROPERTY,
	TUBA_API_ANNUAL_REPORTS_REPORT_DATA_TOP_HASHTAGS_PROPERTY,
	TUBA_API_ANNUAL_REPORTS_REPORT_DATA_MOST_USED_APPS_PROPERTY,
	TUBA_API_ANNUAL_REPORTS_REPORT_DATA_MOST_REBLOGGED_ACCOUNTS_PROPERTY,
	TUBA_API_ANNUAL_REPORTS_REPORT_DATA_COMMONLY_INTERACTED_WITH_ACCOUNTS_PROPERTY,
	TUBA_API_ANNUAL_REPORTS_REPORT_DATA_NUM_PROPERTIES
};
static GParamSpec* tuba_api_annual_reports_report_data_properties[TUBA_API_ANNUAL_REPORTS_REPORT_DATA_NUM_PROPERTIES];
typedef struct _TubaAPIAnnualReportsReportDataCountablePrivate TubaAPIAnnualReportsReportDataCountablePrivate;
enum  {
	TUBA_API_ANNUAL_REPORTS_REPORT_DATA_COUNTABLE_0_PROPERTY,
	TUBA_API_ANNUAL_REPORTS_REPORT_DATA_COUNTABLE_COUNT_PROPERTY,
	TUBA_API_ANNUAL_REPORTS_REPORT_DATA_COUNTABLE_NUM_PROPERTIES
};
static GParamSpec* tuba_api_annual_reports_report_data_countable_properties[TUBA_API_ANNUAL_REPORTS_REPORT_DATA_COUNTABLE_NUM_PROPERTIES];
typedef struct _TubaAPIAnnualReportsReportDataRebloggedAccountPrivate TubaAPIAnnualReportsReportDataRebloggedAccountPrivate;
enum  {
	TUBA_API_ANNUAL_REPORTS_REPORT_DATA_REBLOGGED_ACCOUNT_0_PROPERTY,
	TUBA_API_ANNUAL_REPORTS_REPORT_DATA_REBLOGGED_ACCOUNT_ACCOUNT_ID_PROPERTY,
	TUBA_API_ANNUAL_REPORTS_REPORT_DATA_REBLOGGED_ACCOUNT_NUM_PROPERTIES
};
static GParamSpec* tuba_api_annual_reports_report_data_reblogged_account_properties[TUBA_API_ANNUAL_REPORTS_REPORT_DATA_REBLOGGED_ACCOUNT_NUM_PROPERTIES];
#define _g_free0(var) (var = (g_free (var), NULL))
typedef struct _TubaAPIAnnualReportsReportDataNamedCountablePrivate TubaAPIAnnualReportsReportDataNamedCountablePrivate;
enum  {
	TUBA_API_ANNUAL_REPORTS_REPORT_DATA_NAMED_COUNTABLE_0_PROPERTY,
	TUBA_API_ANNUAL_REPORTS_REPORT_DATA_NAMED_COUNTABLE_NAME_PROPERTY,
	TUBA_API_ANNUAL_REPORTS_REPORT_DATA_NAMED_COUNTABLE_NUM_PROPERTIES
};
static GParamSpec* tuba_api_annual_reports_report_data_named_countable_properties[TUBA_API_ANNUAL_REPORTS_REPORT_DATA_NAMED_COUNTABLE_NUM_PROPERTIES];
typedef struct _TubaAPIAnnualReportsReportDataPercentilesPrivate TubaAPIAnnualReportsReportDataPercentilesPrivate;
enum  {
	TUBA_API_ANNUAL_REPORTS_REPORT_DATA_PERCENTILES_0_PROPERTY,
	TUBA_API_ANNUAL_REPORTS_REPORT_DATA_PERCENTILES_STATUSES_PROPERTY,
	TUBA_API_ANNUAL_REPORTS_REPORT_DATA_PERCENTILES_NUM_PROPERTIES
};
static GParamSpec* tuba_api_annual_reports_report_data_percentiles_properties[TUBA_API_ANNUAL_REPORTS_REPORT_DATA_PERCENTILES_NUM_PROPERTIES];
typedef struct _TubaAPIAnnualReportsReportDataTimeSeriesPrivate TubaAPIAnnualReportsReportDataTimeSeriesPrivate;
enum  {
	TUBA_API_ANNUAL_REPORTS_REPORT_DATA_TIME_SERIES_0_PROPERTY,
	TUBA_API_ANNUAL_REPORTS_REPORT_DATA_TIME_SERIES_MONTH_PROPERTY,
	TUBA_API_ANNUAL_REPORTS_REPORT_DATA_TIME_SERIES_STATUSES_PROPERTY,
	TUBA_API_ANNUAL_REPORTS_REPORT_DATA_TIME_SERIES_FOLLOWERS_PROPERTY,
	TUBA_API_ANNUAL_REPORTS_REPORT_DATA_TIME_SERIES_FOLLOWING_PROPERTY,
	TUBA_API_ANNUAL_REPORTS_REPORT_DATA_TIME_SERIES_NUM_PROPERTIES
};
static GParamSpec* tuba_api_annual_reports_report_data_time_series_properties[TUBA_API_ANNUAL_REPORTS_REPORT_DATA_TIME_SERIES_NUM_PROPERTIES];
typedef struct _TubaAPIAnnualReportsReportDataTopStatusesPrivate TubaAPIAnnualReportsReportDataTopStatusesPrivate;
enum  {
	TUBA_API_ANNUAL_REPORTS_REPORT_DATA_TOP_STATUSES_0_PROPERTY,
	TUBA_API_ANNUAL_REPORTS_REPORT_DATA_TOP_STATUSES_BY_REBLOGS_PROPERTY,
	TUBA_API_ANNUAL_REPORTS_REPORT_DATA_TOP_STATUSES_BY_REPLIES_PROPERTY,
	TUBA_API_ANNUAL_REPORTS_REPORT_DATA_TOP_STATUSES_BY_FAVOURITES_PROPERTY,
	TUBA_API_ANNUAL_REPORTS_REPORT_DATA_TOP_STATUSES_NUM_PROPERTIES
};
static GParamSpec* tuba_api_annual_reports_report_data_top_statuses_properties[TUBA_API_ANNUAL_REPORTS_REPORT_DATA_TOP_STATUSES_NUM_PROPERTIES];

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 _TubaAPIAnnualReports {
	TubaEntity parent_instance;
	TubaAPIAnnualReportsPrivate * priv;
};

struct _TubaAPIAnnualReportsClass {
	TubaEntityClass parent_class;
};

struct _TubaAPIAnnualReportsPrivate {
	GeeArrayList* _annual_reports;
	GeeArrayList* _statuses;
	GeeArrayList* _accounts;
};

struct _TubaAPIAnnualReportsReport {
	TubaEntity parent_instance;
	TubaAPIAnnualReportsReportPrivate * priv;
};

struct _TubaAPIAnnualReportsReportClass {
	TubaEntityClass parent_class;
};

struct _TubaAPIAnnualReportsReportPrivate {
	gint32 _year;
	TubaAPIAnnualReportsReportData* _data;
};

struct _TubaAPIAnnualReportsReportData {
	TubaEntity parent_instance;
	TubaAPIAnnualReportsReportDataPrivate * priv;
};

struct _TubaAPIAnnualReportsReportDataClass {
	TubaEntityClass parent_class;
};

struct _TubaAPIAnnualReportsReportDataPrivate {
	GeeArrayList* _time_series;
	TubaAPIAnnualReportsReportDataPercentiles* _percentiles;
	TubaAPIAnnualReportsReportDataTopStatuses* _top_statuses;
	GeeArrayList* _top_hashtags;
	GeeArrayList* _most_used_apps;
	GeeArrayList* _most_reblogged_accounts;
	GeeArrayList* _commonly_interacted_with_accounts;
};

struct _TubaAPIAnnualReportsReportDataCountable {
	TubaEntity parent_instance;
	TubaAPIAnnualReportsReportDataCountablePrivate * priv;
};

struct _TubaAPIAnnualReportsReportDataCountableClass {
	TubaEntityClass parent_class;
};

struct _TubaAPIAnnualReportsReportDataCountablePrivate {
	gint64 _count;
};

struct _TubaAPIAnnualReportsReportDataRebloggedAccount {
	TubaAPIAnnualReportsReportDataCountable parent_instance;
	TubaAPIAnnualReportsReportDataRebloggedAccountPrivate * priv;
};

struct _TubaAPIAnnualReportsReportDataRebloggedAccountClass {
	TubaAPIAnnualReportsReportDataCountableClass parent_class;
};

struct _TubaAPIAnnualReportsReportDataRebloggedAccountPrivate {
	gchar* _account_id;
};

struct _TubaAPIAnnualReportsReportDataNamedCountable {
	TubaAPIAnnualReportsReportDataCountable parent_instance;
	TubaAPIAnnualReportsReportDataNamedCountablePrivate * priv;
};

struct _TubaAPIAnnualReportsReportDataNamedCountableClass {
	TubaAPIAnnualReportsReportDataCountableClass parent_class;
};

struct _TubaAPIAnnualReportsReportDataNamedCountablePrivate {
	gchar* _name;
};

struct _TubaAPIAnnualReportsReportDataPercentiles {
	TubaEntity parent_instance;
	TubaAPIAnnualReportsReportDataPercentilesPrivate * priv;
};

struct _TubaAPIAnnualReportsReportDataPercentilesClass {
	TubaEntityClass parent_class;
};

struct _TubaAPIAnnualReportsReportDataPercentilesPrivate {
	gfloat _statuses;
};

struct _TubaAPIAnnualReportsReportDataTimeSeries {
	TubaEntity parent_instance;
	TubaAPIAnnualReportsReportDataTimeSeriesPrivate * priv;
};

struct _TubaAPIAnnualReportsReportDataTimeSeriesClass {
	TubaEntityClass parent_class;
};

struct _TubaAPIAnnualReportsReportDataTimeSeriesPrivate {
	gint32 _month;
	gint64 _statuses;
	gint64 _followers;
	gint64 _following;
};

struct _TubaAPIAnnualReportsReportDataTopStatuses {
	TubaEntity parent_instance;
	TubaAPIAnnualReportsReportDataTopStatusesPrivate * priv;
};

struct _TubaAPIAnnualReportsReportDataTopStatusesClass {
	TubaEntityClass parent_class;
};

struct _TubaAPIAnnualReportsReportDataTopStatusesPrivate {
	gchar* _by_reblogs;
	gchar* _by_replies;
	gchar* _by_favourites;
};

static gint TubaAPIAnnualReports_private_offset;
static gpointer tuba_api_annual_reports_parent_class = NULL;
VALA_EXTERN TubaApplication* tuba_app;
static gint TubaAPIAnnualReportsReport_private_offset;
static gpointer tuba_api_annual_reports_report_parent_class = NULL;
static gint TubaAPIAnnualReportsReportData_private_offset;
static gpointer tuba_api_annual_reports_report_data_parent_class = NULL;
static gint TubaAPIAnnualReportsReportDataCountable_private_offset;
static gpointer tuba_api_annual_reports_report_data_countable_parent_class = NULL;
static gint TubaAPIAnnualReportsReportDataRebloggedAccount_private_offset;
static gpointer tuba_api_annual_reports_report_data_reblogged_account_parent_class = NULL;
static gint TubaAPIAnnualReportsReportDataNamedCountable_private_offset;
static gpointer tuba_api_annual_reports_report_data_named_countable_parent_class = NULL;
static gint TubaAPIAnnualReportsReportDataPercentiles_private_offset;
static gpointer tuba_api_annual_reports_report_data_percentiles_parent_class = NULL;
static gint TubaAPIAnnualReportsReportDataTimeSeries_private_offset;
static gpointer tuba_api_annual_reports_report_data_time_series_parent_class = NULL;
static gint TubaAPIAnnualReportsReportDataTopStatuses_private_offset;
static gpointer tuba_api_annual_reports_report_data_top_statuses_parent_class = NULL;

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_annual_reports_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (TubaAPIAnnualReports, g_object_unref)
VALA_EXTERN GType tuba_api_annual_reports_report_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (TubaAPIAnnualReportsReport, g_object_unref)
VALA_EXTERN GType tuba_api_status_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (TubaAPIStatus, g_object_unref)
VALA_EXTERN GType tuba_entity_deserialize_array_type (TubaEntity* self,
                                          const gchar* prop);
static GType tuba_api_annual_reports_real_deserialize_array_type (TubaEntity* base,
                                                           const gchar* prop);
VALA_EXTERN TubaAPIAnnualReports* tuba_api_annual_reports_from (JsonNode* node,
                                                    GError** error);
VALA_EXTERN TubaEntity* tuba_entity_from_json (GType type,
                                   JsonNode* node,
                                   GError** error);
VALA_EXTERN void tuba_api_annual_reports_open (TubaAPIAnnualReports* self,
                                   gint year);
VALA_EXTERN GeeArrayList* tuba_api_annual_reports_get_annual_reports (TubaAPIAnnualReports* self);
VALA_EXTERN TubaDialogsAnnualReport* tuba_dialogs_annual_report_new (TubaAPIAnnualReports* report,
                                                         gint year);
VALA_EXTERN TubaDialogsAnnualReport* tuba_dialogs_annual_report_construct (GType object_type,
                                                               TubaAPIAnnualReports* report,
                                                               gint year);
VALA_EXTERN GType tuba_dialogs_annual_report_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (TubaDialogsAnnualReport, g_object_unref)
VALA_EXTERN GType tuba_application_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (TubaApplication, g_object_unref)
VALA_EXTERN GType tuba_dialogs_main_window_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (TubaDialogsMainWindow, g_object_unref)
VALA_EXTERN TubaDialogsMainWindow* tuba_application_get_main_window (TubaApplication* self);
VALA_EXTERN TubaAPIAnnualReports* tuba_api_annual_reports_new (void);
VALA_EXTERN TubaAPIAnnualReports* tuba_api_annual_reports_construct (GType object_type);
VALA_EXTERN TubaEntity* tuba_entity_new (void);
VALA_EXTERN TubaEntity* tuba_entity_construct (GType object_type);
VALA_EXTERN void tuba_api_annual_reports_set_annual_reports (TubaAPIAnnualReports* self,
                                                 GeeArrayList* value);
VALA_EXTERN GeeArrayList* tuba_api_annual_reports_get_statuses (TubaAPIAnnualReports* self);
VALA_EXTERN void tuba_api_annual_reports_set_statuses (TubaAPIAnnualReports* self,
                                           GeeArrayList* value);
VALA_EXTERN GeeArrayList* tuba_api_annual_reports_get_accounts (TubaAPIAnnualReports* self);
VALA_EXTERN void tuba_api_annual_reports_set_accounts (TubaAPIAnnualReports* self,
                                           GeeArrayList* value);
VALA_EXTERN GType tuba_api_annual_reports_report_data_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (TubaAPIAnnualReportsReportData, g_object_unref)
VALA_EXTERN TubaAPIAnnualReportsReport* tuba_api_annual_reports_report_new (void);
VALA_EXTERN TubaAPIAnnualReportsReport* tuba_api_annual_reports_report_construct (GType object_type);
VALA_EXTERN gint32 tuba_api_annual_reports_report_get_year (TubaAPIAnnualReportsReport* self);
VALA_EXTERN void tuba_api_annual_reports_report_set_year (TubaAPIAnnualReportsReport* self,
                                              gint32 value);
VALA_EXTERN TubaAPIAnnualReportsReportData* tuba_api_annual_reports_report_get_data (TubaAPIAnnualReportsReport* self);
VALA_EXTERN void tuba_api_annual_reports_report_set_data (TubaAPIAnnualReportsReport* self,
                                              TubaAPIAnnualReportsReportData* value);
VALA_EXTERN GType tuba_api_annual_reports_report_data_time_series_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (TubaAPIAnnualReportsReportDataTimeSeries, g_object_unref)
VALA_EXTERN GType tuba_api_annual_reports_report_data_percentiles_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (TubaAPIAnnualReportsReportDataPercentiles, g_object_unref)
VALA_EXTERN GType tuba_api_annual_reports_report_data_top_statuses_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (TubaAPIAnnualReportsReportDataTopStatuses, g_object_unref)
VALA_EXTERN GType tuba_api_annual_reports_report_data_countable_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (TubaAPIAnnualReportsReportDataCountable, g_object_unref)
VALA_EXTERN GType tuba_api_annual_reports_report_data_named_countable_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (TubaAPIAnnualReportsReportDataNamedCountable, g_object_unref)
VALA_EXTERN GType tuba_api_annual_reports_report_data_reblogged_account_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (TubaAPIAnnualReportsReportDataRebloggedAccount, g_object_unref)
static GType tuba_api_annual_reports_report_data_real_deserialize_array_type (TubaEntity* base,
                                                                       const gchar* prop);
VALA_EXTERN TubaAPIAnnualReportsReportData* tuba_api_annual_reports_report_data_new (void);
VALA_EXTERN TubaAPIAnnualReportsReportData* tuba_api_annual_reports_report_data_construct (GType object_type);
VALA_EXTERN GeeArrayList* tuba_api_annual_reports_report_data_get_time_series (TubaAPIAnnualReportsReportData* self);
VALA_EXTERN void tuba_api_annual_reports_report_data_set_time_series (TubaAPIAnnualReportsReportData* self,
                                                          GeeArrayList* value);
VALA_EXTERN TubaAPIAnnualReportsReportDataPercentiles* tuba_api_annual_reports_report_data_get_percentiles (TubaAPIAnnualReportsReportData* self);
VALA_EXTERN void tuba_api_annual_reports_report_data_set_percentiles (TubaAPIAnnualReportsReportData* self,
                                                          TubaAPIAnnualReportsReportDataPercentiles* value);
VALA_EXTERN TubaAPIAnnualReportsReportDataTopStatuses* tuba_api_annual_reports_report_data_get_top_statuses (TubaAPIAnnualReportsReportData* self);
VALA_EXTERN void tuba_api_annual_reports_report_data_set_top_statuses (TubaAPIAnnualReportsReportData* self,
                                                           TubaAPIAnnualReportsReportDataTopStatuses* value);
VALA_EXTERN GeeArrayList* tuba_api_annual_reports_report_data_get_top_hashtags (TubaAPIAnnualReportsReportData* self);
VALA_EXTERN void tuba_api_annual_reports_report_data_set_top_hashtags (TubaAPIAnnualReportsReportData* self,
                                                           GeeArrayList* value);
VALA_EXTERN GeeArrayList* tuba_api_annual_reports_report_data_get_most_used_apps (TubaAPIAnnualReportsReportData* self);
VALA_EXTERN void tuba_api_annual_reports_report_data_set_most_used_apps (TubaAPIAnnualReportsReportData* self,
                                                             GeeArrayList* value);
VALA_EXTERN GeeArrayList* tuba_api_annual_reports_report_data_get_most_reblogged_accounts (TubaAPIAnnualReportsReportData* self);
VALA_EXTERN void tuba_api_annual_reports_report_data_set_most_reblogged_accounts (TubaAPIAnnualReportsReportData* self,
                                                                      GeeArrayList* value);
VALA_EXTERN GeeArrayList* tuba_api_annual_reports_report_data_get_commonly_interacted_with_accounts (TubaAPIAnnualReportsReportData* self);
VALA_EXTERN void tuba_api_annual_reports_report_data_set_commonly_interacted_with_accounts (TubaAPIAnnualReportsReportData* self,
                                                                                GeeArrayList* value);
VALA_EXTERN TubaAPIAnnualReportsReportDataCountable* tuba_api_annual_reports_report_data_countable_new (void);
VALA_EXTERN TubaAPIAnnualReportsReportDataCountable* tuba_api_annual_reports_report_data_countable_construct (GType object_type);
VALA_EXTERN gint64 tuba_api_annual_reports_report_data_countable_get_count (TubaAPIAnnualReportsReportDataCountable* self);
VALA_EXTERN void tuba_api_annual_reports_report_data_countable_set_count (TubaAPIAnnualReportsReportDataCountable* self,
                                                              gint64 value);
static void tuba_api_annual_reports_report_data_countable_finalize (GObject * obj);
static GType tuba_api_annual_reports_report_data_countable_get_type_once (void);
static void _vala_tuba_api_annual_reports_report_data_countable_get_property (GObject * object,
                                                                       guint property_id,
                                                                       GValue * value,
                                                                       GParamSpec * pspec);
static void _vala_tuba_api_annual_reports_report_data_countable_set_property (GObject * object,
                                                                       guint property_id,
                                                                       const GValue * value,
                                                                       GParamSpec * pspec);
VALA_EXTERN TubaAPIAnnualReportsReportDataRebloggedAccount* tuba_api_annual_reports_report_data_reblogged_account_new (void);
VALA_EXTERN TubaAPIAnnualReportsReportDataRebloggedAccount* tuba_api_annual_reports_report_data_reblogged_account_construct (GType object_type);
VALA_EXTERN const gchar* tuba_api_annual_reports_report_data_reblogged_account_get_account_id (TubaAPIAnnualReportsReportDataRebloggedAccount* self);
VALA_EXTERN void tuba_api_annual_reports_report_data_reblogged_account_set_account_id (TubaAPIAnnualReportsReportDataRebloggedAccount* self,
                                                                           const gchar* value);
static void tuba_api_annual_reports_report_data_reblogged_account_finalize (GObject * obj);
static GType tuba_api_annual_reports_report_data_reblogged_account_get_type_once (void);
static void _vala_tuba_api_annual_reports_report_data_reblogged_account_get_property (GObject * object,
                                                                               guint property_id,
                                                                               GValue * value,
                                                                               GParamSpec * pspec);
static void _vala_tuba_api_annual_reports_report_data_reblogged_account_set_property (GObject * object,
                                                                               guint property_id,
                                                                               const GValue * value,
                                                                               GParamSpec * pspec);
VALA_EXTERN TubaAPIAnnualReportsReportDataNamedCountable* tuba_api_annual_reports_report_data_named_countable_new (void);
VALA_EXTERN TubaAPIAnnualReportsReportDataNamedCountable* tuba_api_annual_reports_report_data_named_countable_construct (GType object_type);
VALA_EXTERN const gchar* tuba_api_annual_reports_report_data_named_countable_get_name (TubaAPIAnnualReportsReportDataNamedCountable* self);
VALA_EXTERN void tuba_api_annual_reports_report_data_named_countable_set_name (TubaAPIAnnualReportsReportDataNamedCountable* self,
                                                                   const gchar* value);
static void tuba_api_annual_reports_report_data_named_countable_finalize (GObject * obj);
static GType tuba_api_annual_reports_report_data_named_countable_get_type_once (void);
static void _vala_tuba_api_annual_reports_report_data_named_countable_get_property (GObject * object,
                                                                             guint property_id,
                                                                             GValue * value,
                                                                             GParamSpec * pspec);
static void _vala_tuba_api_annual_reports_report_data_named_countable_set_property (GObject * object,
                                                                             guint property_id,
                                                                             const GValue * value,
                                                                             GParamSpec * pspec);
VALA_EXTERN TubaAPIAnnualReportsReportDataPercentiles* tuba_api_annual_reports_report_data_percentiles_new (void);
VALA_EXTERN TubaAPIAnnualReportsReportDataPercentiles* tuba_api_annual_reports_report_data_percentiles_construct (GType object_type);
VALA_EXTERN gfloat tuba_api_annual_reports_report_data_percentiles_get_statuses (TubaAPIAnnualReportsReportDataPercentiles* self);
VALA_EXTERN void tuba_api_annual_reports_report_data_percentiles_set_statuses (TubaAPIAnnualReportsReportDataPercentiles* self,
                                                                   gfloat value);
static void tuba_api_annual_reports_report_data_percentiles_finalize (GObject * obj);
static GType tuba_api_annual_reports_report_data_percentiles_get_type_once (void);
static void _vala_tuba_api_annual_reports_report_data_percentiles_get_property (GObject * object,
                                                                         guint property_id,
                                                                         GValue * value,
                                                                         GParamSpec * pspec);
static void _vala_tuba_api_annual_reports_report_data_percentiles_set_property (GObject * object,
                                                                         guint property_id,
                                                                         const GValue * value,
                                                                         GParamSpec * pspec);
VALA_EXTERN TubaAPIAnnualReportsReportDataTimeSeries* tuba_api_annual_reports_report_data_time_series_new (void);
VALA_EXTERN TubaAPIAnnualReportsReportDataTimeSeries* tuba_api_annual_reports_report_data_time_series_construct (GType object_type);
VALA_EXTERN gint32 tuba_api_annual_reports_report_data_time_series_get_month (TubaAPIAnnualReportsReportDataTimeSeries* self);
VALA_EXTERN void tuba_api_annual_reports_report_data_time_series_set_month (TubaAPIAnnualReportsReportDataTimeSeries* self,
                                                                gint32 value);
VALA_EXTERN gint64 tuba_api_annual_reports_report_data_time_series_get_statuses (TubaAPIAnnualReportsReportDataTimeSeries* self);
VALA_EXTERN void tuba_api_annual_reports_report_data_time_series_set_statuses (TubaAPIAnnualReportsReportDataTimeSeries* self,
                                                                   gint64 value);
VALA_EXTERN gint64 tuba_api_annual_reports_report_data_time_series_get_followers (TubaAPIAnnualReportsReportDataTimeSeries* self);
VALA_EXTERN void tuba_api_annual_reports_report_data_time_series_set_followers (TubaAPIAnnualReportsReportDataTimeSeries* self,
                                                                    gint64 value);
VALA_EXTERN gint64 tuba_api_annual_reports_report_data_time_series_get_following (TubaAPIAnnualReportsReportDataTimeSeries* self);
VALA_EXTERN void tuba_api_annual_reports_report_data_time_series_set_following (TubaAPIAnnualReportsReportDataTimeSeries* self,
                                                                    gint64 value);
static void tuba_api_annual_reports_report_data_time_series_finalize (GObject * obj);
static GType tuba_api_annual_reports_report_data_time_series_get_type_once (void);
static void _vala_tuba_api_annual_reports_report_data_time_series_get_property (GObject * object,
                                                                         guint property_id,
                                                                         GValue * value,
                                                                         GParamSpec * pspec);
static void _vala_tuba_api_annual_reports_report_data_time_series_set_property (GObject * object,
                                                                         guint property_id,
                                                                         const GValue * value,
                                                                         GParamSpec * pspec);
VALA_EXTERN TubaAPIAnnualReportsReportDataTopStatuses* tuba_api_annual_reports_report_data_top_statuses_new (void);
VALA_EXTERN TubaAPIAnnualReportsReportDataTopStatuses* tuba_api_annual_reports_report_data_top_statuses_construct (GType object_type);
VALA_EXTERN const gchar* tuba_api_annual_reports_report_data_top_statuses_get_by_reblogs (TubaAPIAnnualReportsReportDataTopStatuses* self);
VALA_EXTERN void tuba_api_annual_reports_report_data_top_statuses_set_by_reblogs (TubaAPIAnnualReportsReportDataTopStatuses* self,
                                                                      const gchar* value);
VALA_EXTERN const gchar* tuba_api_annual_reports_report_data_top_statuses_get_by_replies (TubaAPIAnnualReportsReportDataTopStatuses* self);
VALA_EXTERN void tuba_api_annual_reports_report_data_top_statuses_set_by_replies (TubaAPIAnnualReportsReportDataTopStatuses* self,
                                                                      const gchar* value);
VALA_EXTERN const gchar* tuba_api_annual_reports_report_data_top_statuses_get_by_favourites (TubaAPIAnnualReportsReportDataTopStatuses* self);
VALA_EXTERN void tuba_api_annual_reports_report_data_top_statuses_set_by_favourites (TubaAPIAnnualReportsReportDataTopStatuses* self,
                                                                         const gchar* value);
static void tuba_api_annual_reports_report_data_top_statuses_finalize (GObject * obj);
static GType tuba_api_annual_reports_report_data_top_statuses_get_type_once (void);
static void _vala_tuba_api_annual_reports_report_data_top_statuses_get_property (GObject * object,
                                                                          guint property_id,
                                                                          GValue * value,
                                                                          GParamSpec * pspec);
static void _vala_tuba_api_annual_reports_report_data_top_statuses_set_property (GObject * object,
                                                                          guint property_id,
                                                                          const GValue * value,
                                                                          GParamSpec * pspec);
static void tuba_api_annual_reports_report_data_finalize (GObject * obj);
static GType tuba_api_annual_reports_report_data_get_type_once (void);
static void _vala_tuba_api_annual_reports_report_data_get_property (GObject * object,
                                                             guint property_id,
                                                             GValue * value,
                                                             GParamSpec * pspec);
static void _vala_tuba_api_annual_reports_report_data_set_property (GObject * object,
                                                             guint property_id,
                                                             const GValue * value,
                                                             GParamSpec * pspec);
static void tuba_api_annual_reports_report_finalize (GObject * obj);
static GType tuba_api_annual_reports_report_get_type_once (void);
static void _vala_tuba_api_annual_reports_report_get_property (GObject * object,
                                                        guint property_id,
                                                        GValue * value,
                                                        GParamSpec * pspec);
static void _vala_tuba_api_annual_reports_report_set_property (GObject * object,
                                                        guint property_id,
                                                        const GValue * value,
                                                        GParamSpec * pspec);
static void tuba_api_annual_reports_finalize (GObject * obj);
static GType tuba_api_annual_reports_get_type_once (void);
static void _vala_tuba_api_annual_reports_get_property (GObject * object,
                                                 guint property_id,
                                                 GValue * value,
                                                 GParamSpec * pspec);
static void _vala_tuba_api_annual_reports_set_property (GObject * object,
                                                 guint property_id,
                                                 const GValue * value,
                                                 GParamSpec * pspec);

static inline gpointer
tuba_api_annual_reports_get_instance_private (TubaAPIAnnualReports* self)
{
	return G_STRUCT_MEMBER_P (self, TubaAPIAnnualReports_private_offset);
}

static GType
tuba_api_annual_reports_real_deserialize_array_type (TubaEntity* base,
                                                     const gchar* prop)
{
	TubaAPIAnnualReports * self;
	const gchar* _tmp0_;
	GQuark _tmp2_ = 0U;
	static GQuark _tmp1_label0 = 0;
	static GQuark _tmp1_label1 = 0;
	static GQuark _tmp1_label2 = 0;
	GType result;
	self = (TubaAPIAnnualReports*) base;
	g_return_val_if_fail (prop != NULL, G_TYPE_INVALID);
	_tmp0_ = prop;
	_tmp2_ = (NULL == _tmp0_) ? 0 : g_quark_from_string (_tmp0_);
	if (_tmp2_ == ((0 != _tmp1_label0) ? _tmp1_label0 : (_tmp1_label0 = g_quark_from_static_string ("accounts")))) {
		switch (0) {
			default:
			{
				result = TUBA_API_TYPE_ACCOUNT;
				return result;
			}
		}
	} else if (_tmp2_ == ((0 != _tmp1_label1) ? _tmp1_label1 : (_tmp1_label1 = g_quark_from_static_string ("statuses")))) {
		switch (0) {
			default:
			{
				result = TUBA_API_TYPE_STATUS;
				return result;
			}
		}
	} else if (_tmp2_ == ((0 != _tmp1_label2) ? _tmp1_label2 : (_tmp1_label2 = g_quark_from_static_string ("annual-reports")))) {
		switch (0) {
			default:
			{
				result = TUBA_API_ANNUAL_REPORTS_TYPE_REPORT;
				return result;
			}
		}
	}
	result = TUBA_ENTITY_CLASS (tuba_api_annual_reports_parent_class)->deserialize_array_type (G_TYPE_CHECK_INSTANCE_CAST (self, TUBA_TYPE_ENTITY, TubaEntity), prop);
	return result;
}

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

TubaAPIAnnualReports*
tuba_api_annual_reports_from (JsonNode* node,
                              GError** error)
{
	TubaEntity* _tmp0_ = NULL;
	TubaEntity* _tmp1_;
	TubaAPIAnnualReports* _tmp2_;
	GError* _inner_error0_ = NULL;
	TubaAPIAnnualReports* result;
	g_return_val_if_fail (node != NULL, NULL);
	_tmp1_ = tuba_entity_from_json (TUBA_API_TYPE_ANNUAL_REPORTS, node, &_inner_error0_);
	_tmp0_ = _tmp1_;
	if (G_UNLIKELY (_inner_error0_ != NULL)) {
		g_propagate_error (error, _inner_error0_);
		return NULL;
	}
	_tmp2_ = _g_object_ref0 (TUBA_API_IS_ANNUAL_REPORTS (_tmp0_) ? ((TubaAPIAnnualReports*) _tmp0_) : NULL);
	result = _tmp2_;
	_g_object_unref0 (_tmp0_);
	return result;
}

void
tuba_api_annual_reports_open (TubaAPIAnnualReports* self,
                              gint year)
{
	GeeArrayList* _tmp0_;
	gint _tmp1_;
	gint _tmp2_;
	TubaDialogsAnnualReport* _tmp3_;
	TubaDialogsAnnualReport* _tmp4_;
	TubaApplication* _tmp5_;
	TubaDialogsMainWindow* _tmp6_;
	TubaDialogsMainWindow* _tmp7_;
	g_return_if_fail (self != NULL);
	_tmp0_ = self->priv->_annual_reports;
	_tmp1_ = gee_abstract_collection_get_size ((GeeAbstractCollection*) _tmp0_);
	_tmp2_ = _tmp1_;
	if (_tmp2_ == 0) {
		return;
	}
	_tmp3_ = tuba_dialogs_annual_report_new (self, year);
	g_object_ref_sink (_tmp3_);
	_tmp4_ = _tmp3_;
	_tmp5_ = tuba_app;
	_tmp6_ = tuba_application_get_main_window (_tmp5_);
	_tmp7_ = _tmp6_;
	adw_dialog_present ((AdwDialog*) _tmp4_, (GtkWidget*) _tmp7_);
	_g_object_unref0 (_tmp4_);
}

TubaAPIAnnualReports*
tuba_api_annual_reports_construct (GType object_type)
{
	TubaAPIAnnualReports * self = NULL;
	self = (TubaAPIAnnualReports*) tuba_entity_construct (object_type);
	return self;
}

TubaAPIAnnualReports*
tuba_api_annual_reports_new (void)
{
	return tuba_api_annual_reports_construct (TUBA_API_TYPE_ANNUAL_REPORTS);
}

GeeArrayList*
tuba_api_annual_reports_get_annual_reports (TubaAPIAnnualReports* self)
{
	GeeArrayList* result;
	GeeArrayList* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_annual_reports;
	result = _tmp0_;
	return result;
}

void
tuba_api_annual_reports_set_annual_reports (TubaAPIAnnualReports* self,
                                            GeeArrayList* value)
{
	GeeArrayList* old_value;
	g_return_if_fail (self != NULL);
	old_value = tuba_api_annual_reports_get_annual_reports (self);
	if (old_value != value) {
		GeeArrayList* _tmp0_;
		_tmp0_ = _g_object_ref0 (value);
		_g_object_unref0 (self->priv->_annual_reports);
		self->priv->_annual_reports = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, tuba_api_annual_reports_properties[TUBA_API_ANNUAL_REPORTS_ANNUAL_REPORTS_PROPERTY]);
	}
}

GeeArrayList*
tuba_api_annual_reports_get_statuses (TubaAPIAnnualReports* self)
{
	GeeArrayList* result;
	GeeArrayList* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_statuses;
	result = _tmp0_;
	return result;
}

void
tuba_api_annual_reports_set_statuses (TubaAPIAnnualReports* self,
                                      GeeArrayList* value)
{
	GeeArrayList* old_value;
	g_return_if_fail (self != NULL);
	old_value = tuba_api_annual_reports_get_statuses (self);
	if (old_value != value) {
		GeeArrayList* _tmp0_;
		_tmp0_ = _g_object_ref0 (value);
		_g_object_unref0 (self->priv->_statuses);
		self->priv->_statuses = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, tuba_api_annual_reports_properties[TUBA_API_ANNUAL_REPORTS_STATUSES_PROPERTY]);
	}
}

GeeArrayList*
tuba_api_annual_reports_get_accounts (TubaAPIAnnualReports* self)
{
	GeeArrayList* result;
	GeeArrayList* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_accounts;
	result = _tmp0_;
	return result;
}

void
tuba_api_annual_reports_set_accounts (TubaAPIAnnualReports* self,
                                      GeeArrayList* value)
{
	GeeArrayList* old_value;
	g_return_if_fail (self != NULL);
	old_value = tuba_api_annual_reports_get_accounts (self);
	if (old_value != value) {
		GeeArrayList* _tmp0_;
		_tmp0_ = _g_object_ref0 (value);
		_g_object_unref0 (self->priv->_accounts);
		self->priv->_accounts = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, tuba_api_annual_reports_properties[TUBA_API_ANNUAL_REPORTS_ACCOUNTS_PROPERTY]);
	}
}

static inline gpointer
tuba_api_annual_reports_report_get_instance_private (TubaAPIAnnualReportsReport* self)
{
	return G_STRUCT_MEMBER_P (self, TubaAPIAnnualReportsReport_private_offset);
}

TubaAPIAnnualReportsReport*
tuba_api_annual_reports_report_construct (GType object_type)
{
	TubaAPIAnnualReportsReport * self = NULL;
	self = (TubaAPIAnnualReportsReport*) tuba_entity_construct (object_type);
	return self;
}

TubaAPIAnnualReportsReport*
tuba_api_annual_reports_report_new (void)
{
	return tuba_api_annual_reports_report_construct (TUBA_API_ANNUAL_REPORTS_TYPE_REPORT);
}

gint32
tuba_api_annual_reports_report_get_year (TubaAPIAnnualReportsReport* self)
{
	gint32 result;
	g_return_val_if_fail (self != NULL, -1);
	result = self->priv->_year;
	return result;
}

void
tuba_api_annual_reports_report_set_year (TubaAPIAnnualReportsReport* self,
                                         gint32 value)
{
	gint32 old_value;
	g_return_if_fail (self != NULL);
	old_value = tuba_api_annual_reports_report_get_year (self);
	if (old_value != value) {
		self->priv->_year = value;
		g_object_notify_by_pspec ((GObject *) self, tuba_api_annual_reports_report_properties[TUBA_API_ANNUAL_REPORTS_REPORT_YEAR_PROPERTY]);
	}
}

TubaAPIAnnualReportsReportData*
tuba_api_annual_reports_report_get_data (TubaAPIAnnualReportsReport* self)
{
	TubaAPIAnnualReportsReportData* result;
	TubaAPIAnnualReportsReportData* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_data;
	result = _tmp0_;
	return result;
}

void
tuba_api_annual_reports_report_set_data (TubaAPIAnnualReportsReport* self,
                                         TubaAPIAnnualReportsReportData* value)
{
	TubaAPIAnnualReportsReportData* old_value;
	g_return_if_fail (self != NULL);
	old_value = tuba_api_annual_reports_report_get_data (self);
	if (old_value != value) {
		TubaAPIAnnualReportsReportData* _tmp0_;
		_tmp0_ = _g_object_ref0 (value);
		_g_object_unref0 (self->priv->_data);
		self->priv->_data = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, tuba_api_annual_reports_report_properties[TUBA_API_ANNUAL_REPORTS_REPORT_DATA_PROPERTY]);
	}
}

static inline gpointer
tuba_api_annual_reports_report_data_get_instance_private (TubaAPIAnnualReportsReportData* self)
{
	return G_STRUCT_MEMBER_P (self, TubaAPIAnnualReportsReportData_private_offset);
}

static GType
tuba_api_annual_reports_report_data_real_deserialize_array_type (TubaEntity* base,
                                                                 const gchar* prop)
{
	TubaAPIAnnualReportsReportData * self;
	const gchar* _tmp0_;
	GQuark _tmp2_ = 0U;
	static GQuark _tmp1_label0 = 0;
	static GQuark _tmp1_label1 = 0;
	static GQuark _tmp1_label2 = 0;
	static GQuark _tmp1_label3 = 0;
	static GQuark _tmp1_label4 = 0;
	GType result;
	self = (TubaAPIAnnualReportsReportData*) base;
	g_return_val_if_fail (prop != NULL, G_TYPE_INVALID);
	_tmp0_ = prop;
	_tmp2_ = (NULL == _tmp0_) ? 0 : g_quark_from_string (_tmp0_);
	if (_tmp2_ == ((0 != _tmp1_label0) ? _tmp1_label0 : (_tmp1_label0 = g_quark_from_static_string ("time-series")))) {
		switch (0) {
			default:
			{
				result = TUBA_API_ANNUAL_REPORTS_REPORT_DATA_TYPE_TIME_SERIES;
				return result;
			}
		}
	} else if ((_tmp2_ == ((0 != _tmp1_label1) ? _tmp1_label1 : (_tmp1_label1 = g_quark_from_static_string ("most-used-apps")))) || (_tmp2_ == ((0 != _tmp1_label2) ? _tmp1_label2 : (_tmp1_label2 = g_quark_from_static_string ("top-hashtags"))))) {
		switch (0) {
			default:
			{
				result = TUBA_API_ANNUAL_REPORTS_REPORT_DATA_TYPE_NAMED_COUNTABLE;
				return result;
			}
		}
	} else if ((_tmp2_ == ((0 != _tmp1_label3) ? _tmp1_label3 : (_tmp1_label3 = g_quark_from_static_string ("most-reblogged-accounts")))) || (_tmp2_ == ((0 != _tmp1_label4) ? _tmp1_label4 : (_tmp1_label4 = g_quark_from_static_string ("commonly-interacted-with-accounts"))))) {
		switch (0) {
			default:
			{
				result = TUBA_API_ANNUAL_REPORTS_REPORT_DATA_TYPE_REBLOGGED_ACCOUNT;
				return result;
			}
		}
	}
	result = TUBA_ENTITY_CLASS (tuba_api_annual_reports_report_data_parent_class)->deserialize_array_type (G_TYPE_CHECK_INSTANCE_CAST (self, TUBA_TYPE_ENTITY, TubaEntity), prop);
	return result;
}

TubaAPIAnnualReportsReportData*
tuba_api_annual_reports_report_data_construct (GType object_type)
{
	TubaAPIAnnualReportsReportData * self = NULL;
	self = (TubaAPIAnnualReportsReportData*) tuba_entity_construct (object_type);
	return self;
}

TubaAPIAnnualReportsReportData*
tuba_api_annual_reports_report_data_new (void)
{
	return tuba_api_annual_reports_report_data_construct (TUBA_API_ANNUAL_REPORTS_REPORT_TYPE_DATA);
}

GeeArrayList*
tuba_api_annual_reports_report_data_get_time_series (TubaAPIAnnualReportsReportData* self)
{
	GeeArrayList* result;
	GeeArrayList* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_time_series;
	result = _tmp0_;
	return result;
}

void
tuba_api_annual_reports_report_data_set_time_series (TubaAPIAnnualReportsReportData* self,
                                                     GeeArrayList* value)
{
	GeeArrayList* old_value;
	g_return_if_fail (self != NULL);
	old_value = tuba_api_annual_reports_report_data_get_time_series (self);
	if (old_value != value) {
		GeeArrayList* _tmp0_;
		_tmp0_ = _g_object_ref0 (value);
		_g_object_unref0 (self->priv->_time_series);
		self->priv->_time_series = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, tuba_api_annual_reports_report_data_properties[TUBA_API_ANNUAL_REPORTS_REPORT_DATA_TIME_SERIES_PROPERTY]);
	}
}

TubaAPIAnnualReportsReportDataPercentiles*
tuba_api_annual_reports_report_data_get_percentiles (TubaAPIAnnualReportsReportData* self)
{
	TubaAPIAnnualReportsReportDataPercentiles* result;
	TubaAPIAnnualReportsReportDataPercentiles* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_percentiles;
	result = _tmp0_;
	return result;
}

void
tuba_api_annual_reports_report_data_set_percentiles (TubaAPIAnnualReportsReportData* self,
                                                     TubaAPIAnnualReportsReportDataPercentiles* value)
{
	TubaAPIAnnualReportsReportDataPercentiles* old_value;
	g_return_if_fail (self != NULL);
	old_value = tuba_api_annual_reports_report_data_get_percentiles (self);
	if (old_value != value) {
		TubaAPIAnnualReportsReportDataPercentiles* _tmp0_;
		_tmp0_ = _g_object_ref0 (value);
		_g_object_unref0 (self->priv->_percentiles);
		self->priv->_percentiles = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, tuba_api_annual_reports_report_data_properties[TUBA_API_ANNUAL_REPORTS_REPORT_DATA_PERCENTILES_PROPERTY]);
	}
}

TubaAPIAnnualReportsReportDataTopStatuses*
tuba_api_annual_reports_report_data_get_top_statuses (TubaAPIAnnualReportsReportData* self)
{
	TubaAPIAnnualReportsReportDataTopStatuses* result;
	TubaAPIAnnualReportsReportDataTopStatuses* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_top_statuses;
	result = _tmp0_;
	return result;
}

void
tuba_api_annual_reports_report_data_set_top_statuses (TubaAPIAnnualReportsReportData* self,
                                                      TubaAPIAnnualReportsReportDataTopStatuses* value)
{
	TubaAPIAnnualReportsReportDataTopStatuses* old_value;
	g_return_if_fail (self != NULL);
	old_value = tuba_api_annual_reports_report_data_get_top_statuses (self);
	if (old_value != value) {
		TubaAPIAnnualReportsReportDataTopStatuses* _tmp0_;
		_tmp0_ = _g_object_ref0 (value);
		_g_object_unref0 (self->priv->_top_statuses);
		self->priv->_top_statuses = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, tuba_api_annual_reports_report_data_properties[TUBA_API_ANNUAL_REPORTS_REPORT_DATA_TOP_STATUSES_PROPERTY]);
	}
}

GeeArrayList*
tuba_api_annual_reports_report_data_get_top_hashtags (TubaAPIAnnualReportsReportData* self)
{
	GeeArrayList* result;
	GeeArrayList* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_top_hashtags;
	result = _tmp0_;
	return result;
}

void
tuba_api_annual_reports_report_data_set_top_hashtags (TubaAPIAnnualReportsReportData* self,
                                                      GeeArrayList* value)
{
	GeeArrayList* old_value;
	g_return_if_fail (self != NULL);
	old_value = tuba_api_annual_reports_report_data_get_top_hashtags (self);
	if (old_value != value) {
		GeeArrayList* _tmp0_;
		_tmp0_ = _g_object_ref0 (value);
		_g_object_unref0 (self->priv->_top_hashtags);
		self->priv->_top_hashtags = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, tuba_api_annual_reports_report_data_properties[TUBA_API_ANNUAL_REPORTS_REPORT_DATA_TOP_HASHTAGS_PROPERTY]);
	}
}

GeeArrayList*
tuba_api_annual_reports_report_data_get_most_used_apps (TubaAPIAnnualReportsReportData* self)
{
	GeeArrayList* result;
	GeeArrayList* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_most_used_apps;
	result = _tmp0_;
	return result;
}

void
tuba_api_annual_reports_report_data_set_most_used_apps (TubaAPIAnnualReportsReportData* self,
                                                        GeeArrayList* value)
{
	GeeArrayList* old_value;
	g_return_if_fail (self != NULL);
	old_value = tuba_api_annual_reports_report_data_get_most_used_apps (self);
	if (old_value != value) {
		GeeArrayList* _tmp0_;
		_tmp0_ = _g_object_ref0 (value);
		_g_object_unref0 (self->priv->_most_used_apps);
		self->priv->_most_used_apps = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, tuba_api_annual_reports_report_data_properties[TUBA_API_ANNUAL_REPORTS_REPORT_DATA_MOST_USED_APPS_PROPERTY]);
	}
}

GeeArrayList*
tuba_api_annual_reports_report_data_get_most_reblogged_accounts (TubaAPIAnnualReportsReportData* self)
{
	GeeArrayList* result;
	GeeArrayList* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_most_reblogged_accounts;
	result = _tmp0_;
	return result;
}

void
tuba_api_annual_reports_report_data_set_most_reblogged_accounts (TubaAPIAnnualReportsReportData* self,
                                                                 GeeArrayList* value)
{
	GeeArrayList* old_value;
	g_return_if_fail (self != NULL);
	old_value = tuba_api_annual_reports_report_data_get_most_reblogged_accounts (self);
	if (old_value != value) {
		GeeArrayList* _tmp0_;
		_tmp0_ = _g_object_ref0 (value);
		_g_object_unref0 (self->priv->_most_reblogged_accounts);
		self->priv->_most_reblogged_accounts = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, tuba_api_annual_reports_report_data_properties[TUBA_API_ANNUAL_REPORTS_REPORT_DATA_MOST_REBLOGGED_ACCOUNTS_PROPERTY]);
	}
}

GeeArrayList*
tuba_api_annual_reports_report_data_get_commonly_interacted_with_accounts (TubaAPIAnnualReportsReportData* self)
{
	GeeArrayList* result;
	GeeArrayList* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_commonly_interacted_with_accounts;
	result = _tmp0_;
	return result;
}

void
tuba_api_annual_reports_report_data_set_commonly_interacted_with_accounts (TubaAPIAnnualReportsReportData* self,
                                                                           GeeArrayList* value)
{
	GeeArrayList* old_value;
	g_return_if_fail (self != NULL);
	old_value = tuba_api_annual_reports_report_data_get_commonly_interacted_with_accounts (self);
	if (old_value != value) {
		GeeArrayList* _tmp0_;
		_tmp0_ = _g_object_ref0 (value);
		_g_object_unref0 (self->priv->_commonly_interacted_with_accounts);
		self->priv->_commonly_interacted_with_accounts = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, tuba_api_annual_reports_report_data_properties[TUBA_API_ANNUAL_REPORTS_REPORT_DATA_COMMONLY_INTERACTED_WITH_ACCOUNTS_PROPERTY]);
	}
}

static inline gpointer
tuba_api_annual_reports_report_data_countable_get_instance_private (TubaAPIAnnualReportsReportDataCountable* self)
{
	return G_STRUCT_MEMBER_P (self, TubaAPIAnnualReportsReportDataCountable_private_offset);
}

TubaAPIAnnualReportsReportDataCountable*
tuba_api_annual_reports_report_data_countable_construct (GType object_type)
{
	TubaAPIAnnualReportsReportDataCountable * self = NULL;
	self = (TubaAPIAnnualReportsReportDataCountable*) tuba_entity_construct (object_type);
	return self;
}

TubaAPIAnnualReportsReportDataCountable*
tuba_api_annual_reports_report_data_countable_new (void)
{
	return tuba_api_annual_reports_report_data_countable_construct (TUBA_API_ANNUAL_REPORTS_REPORT_DATA_TYPE_COUNTABLE);
}

gint64
tuba_api_annual_reports_report_data_countable_get_count (TubaAPIAnnualReportsReportDataCountable* self)
{
	gint64 result;
	g_return_val_if_fail (self != NULL, -1LL);
	result = self->priv->_count;
	return result;
}

void
tuba_api_annual_reports_report_data_countable_set_count (TubaAPIAnnualReportsReportDataCountable* self,
                                                         gint64 value)
{
	gint64 old_value;
	g_return_if_fail (self != NULL);
	old_value = tuba_api_annual_reports_report_data_countable_get_count (self);
	if (old_value != value) {
		self->priv->_count = value;
		g_object_notify_by_pspec ((GObject *) self, tuba_api_annual_reports_report_data_countable_properties[TUBA_API_ANNUAL_REPORTS_REPORT_DATA_COUNTABLE_COUNT_PROPERTY]);
	}
}

static void
tuba_api_annual_reports_report_data_countable_class_init (TubaAPIAnnualReportsReportDataCountableClass * klass,
                                                          gpointer klass_data)
{
	tuba_api_annual_reports_report_data_countable_parent_class = g_type_class_peek_parent (klass);
	g_type_class_adjust_private_offset (klass, &TubaAPIAnnualReportsReportDataCountable_private_offset);
	G_OBJECT_CLASS (klass)->get_property = _vala_tuba_api_annual_reports_report_data_countable_get_property;
	G_OBJECT_CLASS (klass)->set_property = _vala_tuba_api_annual_reports_report_data_countable_set_property;
	G_OBJECT_CLASS (klass)->finalize = tuba_api_annual_reports_report_data_countable_finalize;
	g_object_class_install_property (G_OBJECT_CLASS (klass), TUBA_API_ANNUAL_REPORTS_REPORT_DATA_COUNTABLE_COUNT_PROPERTY, tuba_api_annual_reports_report_data_countable_properties[TUBA_API_ANNUAL_REPORTS_REPORT_DATA_COUNTABLE_COUNT_PROPERTY] = g_param_spec_int64 ("count", "count", "count", G_MININT64, G_MAXINT64, 0, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
}

static void
tuba_api_annual_reports_report_data_countable_instance_init (TubaAPIAnnualReportsReportDataCountable * self,
                                                             gpointer klass)
{
	self->priv = tuba_api_annual_reports_report_data_countable_get_instance_private (self);
}

static void
tuba_api_annual_reports_report_data_countable_finalize (GObject * obj)
{
	TubaAPIAnnualReportsReportDataCountable * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, TUBA_API_ANNUAL_REPORTS_REPORT_DATA_TYPE_COUNTABLE, TubaAPIAnnualReportsReportDataCountable);
	G_OBJECT_CLASS (tuba_api_annual_reports_report_data_countable_parent_class)->finalize (obj);
}

 G_GNUC_NO_INLINE static GType
tuba_api_annual_reports_report_data_countable_get_type_once (void)
{
	static const GTypeInfo g_define_type_info = { sizeof (TubaAPIAnnualReportsReportDataCountableClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) tuba_api_annual_reports_report_data_countable_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (TubaAPIAnnualReportsReportDataCountable), 0, (GInstanceInitFunc) tuba_api_annual_reports_report_data_countable_instance_init, NULL };
	GType tuba_api_annual_reports_report_data_countable_type_id;
	tuba_api_annual_reports_report_data_countable_type_id = g_type_register_static (TUBA_TYPE_ENTITY, "TubaAPIAnnualReportsReportDataCountable", &g_define_type_info, G_TYPE_FLAG_NONE);
	TubaAPIAnnualReportsReportDataCountable_private_offset = g_type_add_instance_private (tuba_api_annual_reports_report_data_countable_type_id, sizeof (TubaAPIAnnualReportsReportDataCountablePrivate));
	return tuba_api_annual_reports_report_data_countable_type_id;
}

GType
tuba_api_annual_reports_report_data_countable_get_type (void)
{
	static GType tuba_api_annual_reports_report_data_countable_type_id__once = 0;
	if (g_once_init_enter_pointer (&tuba_api_annual_reports_report_data_countable_type_id__once)) {
		GType tuba_api_annual_reports_report_data_countable_type_id;
		tuba_api_annual_reports_report_data_countable_type_id = tuba_api_annual_reports_report_data_countable_get_type_once ();
		g_once_init_leave_pointer (&tuba_api_annual_reports_report_data_countable_type_id__once, tuba_api_annual_reports_report_data_countable_type_id);
	}
	return tuba_api_annual_reports_report_data_countable_type_id__once;
}

static void
_vala_tuba_api_annual_reports_report_data_countable_get_property (GObject * object,
                                                                  guint property_id,
                                                                  GValue * value,
                                                                  GParamSpec * pspec)
{
	TubaAPIAnnualReportsReportDataCountable * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, TUBA_API_ANNUAL_REPORTS_REPORT_DATA_TYPE_COUNTABLE, TubaAPIAnnualReportsReportDataCountable);
	switch (property_id) {
		case TUBA_API_ANNUAL_REPORTS_REPORT_DATA_COUNTABLE_COUNT_PROPERTY:
		g_value_set_int64 (value, tuba_api_annual_reports_report_data_countable_get_count (self));
		break;
		default:
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
		break;
	}
}

static void
_vala_tuba_api_annual_reports_report_data_countable_set_property (GObject * object,
                                                                  guint property_id,
                                                                  const GValue * value,
                                                                  GParamSpec * pspec)
{
	TubaAPIAnnualReportsReportDataCountable * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, TUBA_API_ANNUAL_REPORTS_REPORT_DATA_TYPE_COUNTABLE, TubaAPIAnnualReportsReportDataCountable);
	switch (property_id) {
		case TUBA_API_ANNUAL_REPORTS_REPORT_DATA_COUNTABLE_COUNT_PROPERTY:
		tuba_api_annual_reports_report_data_countable_set_count (self, g_value_get_int64 (value));
		break;
		default:
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
		break;
	}
}

static inline gpointer
tuba_api_annual_reports_report_data_reblogged_account_get_instance_private (TubaAPIAnnualReportsReportDataRebloggedAccount* self)
{
	return G_STRUCT_MEMBER_P (self, TubaAPIAnnualReportsReportDataRebloggedAccount_private_offset);
}

TubaAPIAnnualReportsReportDataRebloggedAccount*
tuba_api_annual_reports_report_data_reblogged_account_construct (GType object_type)
{
	TubaAPIAnnualReportsReportDataRebloggedAccount * self = NULL;
	self = (TubaAPIAnnualReportsReportDataRebloggedAccount*) tuba_api_annual_reports_report_data_countable_construct (object_type);
	return self;
}

TubaAPIAnnualReportsReportDataRebloggedAccount*
tuba_api_annual_reports_report_data_reblogged_account_new (void)
{
	return tuba_api_annual_reports_report_data_reblogged_account_construct (TUBA_API_ANNUAL_REPORTS_REPORT_DATA_TYPE_REBLOGGED_ACCOUNT);
}

const gchar*
tuba_api_annual_reports_report_data_reblogged_account_get_account_id (TubaAPIAnnualReportsReportDataRebloggedAccount* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_account_id;
	result = _tmp0_;
	return result;
}

void
tuba_api_annual_reports_report_data_reblogged_account_set_account_id (TubaAPIAnnualReportsReportDataRebloggedAccount* self,
                                                                      const gchar* value)
{
	gchar* old_value;
	g_return_if_fail (self != NULL);
	old_value = tuba_api_annual_reports_report_data_reblogged_account_get_account_id (self);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_account_id);
		self->priv->_account_id = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, tuba_api_annual_reports_report_data_reblogged_account_properties[TUBA_API_ANNUAL_REPORTS_REPORT_DATA_REBLOGGED_ACCOUNT_ACCOUNT_ID_PROPERTY]);
	}
}

static void
tuba_api_annual_reports_report_data_reblogged_account_class_init (TubaAPIAnnualReportsReportDataRebloggedAccountClass * klass,
                                                                  gpointer klass_data)
{
	tuba_api_annual_reports_report_data_reblogged_account_parent_class = g_type_class_peek_parent (klass);
	g_type_class_adjust_private_offset (klass, &TubaAPIAnnualReportsReportDataRebloggedAccount_private_offset);
	G_OBJECT_CLASS (klass)->get_property = _vala_tuba_api_annual_reports_report_data_reblogged_account_get_property;
	G_OBJECT_CLASS (klass)->set_property = _vala_tuba_api_annual_reports_report_data_reblogged_account_set_property;
	G_OBJECT_CLASS (klass)->finalize = tuba_api_annual_reports_report_data_reblogged_account_finalize;
	g_object_class_install_property (G_OBJECT_CLASS (klass), TUBA_API_ANNUAL_REPORTS_REPORT_DATA_REBLOGGED_ACCOUNT_ACCOUNT_ID_PROPERTY, tuba_api_annual_reports_report_data_reblogged_account_properties[TUBA_API_ANNUAL_REPORTS_REPORT_DATA_REBLOGGED_ACCOUNT_ACCOUNT_ID_PROPERTY] = g_param_spec_string ("account-id", "account-id", "account-id", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
}

static void
tuba_api_annual_reports_report_data_reblogged_account_instance_init (TubaAPIAnnualReportsReportDataRebloggedAccount * self,
                                                                     gpointer klass)
{
	self->priv = tuba_api_annual_reports_report_data_reblogged_account_get_instance_private (self);
}

static void
tuba_api_annual_reports_report_data_reblogged_account_finalize (GObject * obj)
{
	TubaAPIAnnualReportsReportDataRebloggedAccount * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, TUBA_API_ANNUAL_REPORTS_REPORT_DATA_TYPE_REBLOGGED_ACCOUNT, TubaAPIAnnualReportsReportDataRebloggedAccount);
	_g_free0 (self->priv->_account_id);
	G_OBJECT_CLASS (tuba_api_annual_reports_report_data_reblogged_account_parent_class)->finalize (obj);
}

 G_GNUC_NO_INLINE static GType
tuba_api_annual_reports_report_data_reblogged_account_get_type_once (void)
{
	static const GTypeInfo g_define_type_info = { sizeof (TubaAPIAnnualReportsReportDataRebloggedAccountClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) tuba_api_annual_reports_report_data_reblogged_account_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (TubaAPIAnnualReportsReportDataRebloggedAccount), 0, (GInstanceInitFunc) tuba_api_annual_reports_report_data_reblogged_account_instance_init, NULL };
	GType tuba_api_annual_reports_report_data_reblogged_account_type_id;
	tuba_api_annual_reports_report_data_reblogged_account_type_id = g_type_register_static (TUBA_API_ANNUAL_REPORTS_REPORT_DATA_TYPE_COUNTABLE, "TubaAPIAnnualReportsReportDataRebloggedAccount", &g_define_type_info, G_TYPE_FLAG_NONE);
	TubaAPIAnnualReportsReportDataRebloggedAccount_private_offset = g_type_add_instance_private (tuba_api_annual_reports_report_data_reblogged_account_type_id, sizeof (TubaAPIAnnualReportsReportDataRebloggedAccountPrivate));
	return tuba_api_annual_reports_report_data_reblogged_account_type_id;
}

GType
tuba_api_annual_reports_report_data_reblogged_account_get_type (void)
{
	static GType tuba_api_annual_reports_report_data_reblogged_account_type_id__once = 0;
	if (g_once_init_enter_pointer (&tuba_api_annual_reports_report_data_reblogged_account_type_id__once)) {
		GType tuba_api_annual_reports_report_data_reblogged_account_type_id;
		tuba_api_annual_reports_report_data_reblogged_account_type_id = tuba_api_annual_reports_report_data_reblogged_account_get_type_once ();
		g_once_init_leave_pointer (&tuba_api_annual_reports_report_data_reblogged_account_type_id__once, tuba_api_annual_reports_report_data_reblogged_account_type_id);
	}
	return tuba_api_annual_reports_report_data_reblogged_account_type_id__once;
}

static void
_vala_tuba_api_annual_reports_report_data_reblogged_account_get_property (GObject * object,
                                                                          guint property_id,
                                                                          GValue * value,
                                                                          GParamSpec * pspec)
{
	TubaAPIAnnualReportsReportDataRebloggedAccount * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, TUBA_API_ANNUAL_REPORTS_REPORT_DATA_TYPE_REBLOGGED_ACCOUNT, TubaAPIAnnualReportsReportDataRebloggedAccount);
	switch (property_id) {
		case TUBA_API_ANNUAL_REPORTS_REPORT_DATA_REBLOGGED_ACCOUNT_ACCOUNT_ID_PROPERTY:
		g_value_set_string (value, tuba_api_annual_reports_report_data_reblogged_account_get_account_id (self));
		break;
		default:
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
		break;
	}
}

static void
_vala_tuba_api_annual_reports_report_data_reblogged_account_set_property (GObject * object,
                                                                          guint property_id,
                                                                          const GValue * value,
                                                                          GParamSpec * pspec)
{
	TubaAPIAnnualReportsReportDataRebloggedAccount * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, TUBA_API_ANNUAL_REPORTS_REPORT_DATA_TYPE_REBLOGGED_ACCOUNT, TubaAPIAnnualReportsReportDataRebloggedAccount);
	switch (property_id) {
		case TUBA_API_ANNUAL_REPORTS_REPORT_DATA_REBLOGGED_ACCOUNT_ACCOUNT_ID_PROPERTY:
		tuba_api_annual_reports_report_data_reblogged_account_set_account_id (self, g_value_get_string (value));
		break;
		default:
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
		break;
	}
}

static inline gpointer
tuba_api_annual_reports_report_data_named_countable_get_instance_private (TubaAPIAnnualReportsReportDataNamedCountable* self)
{
	return G_STRUCT_MEMBER_P (self, TubaAPIAnnualReportsReportDataNamedCountable_private_offset);
}

TubaAPIAnnualReportsReportDataNamedCountable*
tuba_api_annual_reports_report_data_named_countable_construct (GType object_type)
{
	TubaAPIAnnualReportsReportDataNamedCountable * self = NULL;
	self = (TubaAPIAnnualReportsReportDataNamedCountable*) tuba_api_annual_reports_report_data_countable_construct (object_type);
	return self;
}

TubaAPIAnnualReportsReportDataNamedCountable*
tuba_api_annual_reports_report_data_named_countable_new (void)
{
	return tuba_api_annual_reports_report_data_named_countable_construct (TUBA_API_ANNUAL_REPORTS_REPORT_DATA_TYPE_NAMED_COUNTABLE);
}

const gchar*
tuba_api_annual_reports_report_data_named_countable_get_name (TubaAPIAnnualReportsReportDataNamedCountable* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_name;
	result = _tmp0_;
	return result;
}

void
tuba_api_annual_reports_report_data_named_countable_set_name (TubaAPIAnnualReportsReportDataNamedCountable* self,
                                                              const gchar* value)
{
	gchar* old_value;
	g_return_if_fail (self != NULL);
	old_value = tuba_api_annual_reports_report_data_named_countable_get_name (self);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_name);
		self->priv->_name = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, tuba_api_annual_reports_report_data_named_countable_properties[TUBA_API_ANNUAL_REPORTS_REPORT_DATA_NAMED_COUNTABLE_NAME_PROPERTY]);
	}
}

static void
tuba_api_annual_reports_report_data_named_countable_class_init (TubaAPIAnnualReportsReportDataNamedCountableClass * klass,
                                                                gpointer klass_data)
{
	tuba_api_annual_reports_report_data_named_countable_parent_class = g_type_class_peek_parent (klass);
	g_type_class_adjust_private_offset (klass, &TubaAPIAnnualReportsReportDataNamedCountable_private_offset);
	G_OBJECT_CLASS (klass)->get_property = _vala_tuba_api_annual_reports_report_data_named_countable_get_property;
	G_OBJECT_CLASS (klass)->set_property = _vala_tuba_api_annual_reports_report_data_named_countable_set_property;
	G_OBJECT_CLASS (klass)->finalize = tuba_api_annual_reports_report_data_named_countable_finalize;
	g_object_class_install_property (G_OBJECT_CLASS (klass), TUBA_API_ANNUAL_REPORTS_REPORT_DATA_NAMED_COUNTABLE_NAME_PROPERTY, tuba_api_annual_reports_report_data_named_countable_properties[TUBA_API_ANNUAL_REPORTS_REPORT_DATA_NAMED_COUNTABLE_NAME_PROPERTY] = g_param_spec_string ("name", "name", "name", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
}

static void
tuba_api_annual_reports_report_data_named_countable_instance_init (TubaAPIAnnualReportsReportDataNamedCountable * self,
                                                                   gpointer klass)
{
	self->priv = tuba_api_annual_reports_report_data_named_countable_get_instance_private (self);
}

static void
tuba_api_annual_reports_report_data_named_countable_finalize (GObject * obj)
{
	TubaAPIAnnualReportsReportDataNamedCountable * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, TUBA_API_ANNUAL_REPORTS_REPORT_DATA_TYPE_NAMED_COUNTABLE, TubaAPIAnnualReportsReportDataNamedCountable);
	_g_free0 (self->priv->_name);
	G_OBJECT_CLASS (tuba_api_annual_reports_report_data_named_countable_parent_class)->finalize (obj);
}

 G_GNUC_NO_INLINE static GType
tuba_api_annual_reports_report_data_named_countable_get_type_once (void)
{
	static const GTypeInfo g_define_type_info = { sizeof (TubaAPIAnnualReportsReportDataNamedCountableClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) tuba_api_annual_reports_report_data_named_countable_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (TubaAPIAnnualReportsReportDataNamedCountable), 0, (GInstanceInitFunc) tuba_api_annual_reports_report_data_named_countable_instance_init, NULL };
	GType tuba_api_annual_reports_report_data_named_countable_type_id;
	tuba_api_annual_reports_report_data_named_countable_type_id = g_type_register_static (TUBA_API_ANNUAL_REPORTS_REPORT_DATA_TYPE_COUNTABLE, "TubaAPIAnnualReportsReportDataNamedCountable", &g_define_type_info, G_TYPE_FLAG_NONE);
	TubaAPIAnnualReportsReportDataNamedCountable_private_offset = g_type_add_instance_private (tuba_api_annual_reports_report_data_named_countable_type_id, sizeof (TubaAPIAnnualReportsReportDataNamedCountablePrivate));
	return tuba_api_annual_reports_report_data_named_countable_type_id;
}

GType
tuba_api_annual_reports_report_data_named_countable_get_type (void)
{
	static GType tuba_api_annual_reports_report_data_named_countable_type_id__once = 0;
	if (g_once_init_enter_pointer (&tuba_api_annual_reports_report_data_named_countable_type_id__once)) {
		GType tuba_api_annual_reports_report_data_named_countable_type_id;
		tuba_api_annual_reports_report_data_named_countable_type_id = tuba_api_annual_reports_report_data_named_countable_get_type_once ();
		g_once_init_leave_pointer (&tuba_api_annual_reports_report_data_named_countable_type_id__once, tuba_api_annual_reports_report_data_named_countable_type_id);
	}
	return tuba_api_annual_reports_report_data_named_countable_type_id__once;
}

static void
_vala_tuba_api_annual_reports_report_data_named_countable_get_property (GObject * object,
                                                                        guint property_id,
                                                                        GValue * value,
                                                                        GParamSpec * pspec)
{
	TubaAPIAnnualReportsReportDataNamedCountable * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, TUBA_API_ANNUAL_REPORTS_REPORT_DATA_TYPE_NAMED_COUNTABLE, TubaAPIAnnualReportsReportDataNamedCountable);
	switch (property_id) {
		case TUBA_API_ANNUAL_REPORTS_REPORT_DATA_NAMED_COUNTABLE_NAME_PROPERTY:
		g_value_set_string (value, tuba_api_annual_reports_report_data_named_countable_get_name (self));
		break;
		default:
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
		break;
	}
}

static void
_vala_tuba_api_annual_reports_report_data_named_countable_set_property (GObject * object,
                                                                        guint property_id,
                                                                        const GValue * value,
                                                                        GParamSpec * pspec)
{
	TubaAPIAnnualReportsReportDataNamedCountable * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, TUBA_API_ANNUAL_REPORTS_REPORT_DATA_TYPE_NAMED_COUNTABLE, TubaAPIAnnualReportsReportDataNamedCountable);
	switch (property_id) {
		case TUBA_API_ANNUAL_REPORTS_REPORT_DATA_NAMED_COUNTABLE_NAME_PROPERTY:
		tuba_api_annual_reports_report_data_named_countable_set_name (self, g_value_get_string (value));
		break;
		default:
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
		break;
	}
}

static inline gpointer
tuba_api_annual_reports_report_data_percentiles_get_instance_private (TubaAPIAnnualReportsReportDataPercentiles* self)
{
	return G_STRUCT_MEMBER_P (self, TubaAPIAnnualReportsReportDataPercentiles_private_offset);
}

TubaAPIAnnualReportsReportDataPercentiles*
tuba_api_annual_reports_report_data_percentiles_construct (GType object_type)
{
	TubaAPIAnnualReportsReportDataPercentiles * self = NULL;
	self = (TubaAPIAnnualReportsReportDataPercentiles*) tuba_entity_construct (object_type);
	return self;
}

TubaAPIAnnualReportsReportDataPercentiles*
tuba_api_annual_reports_report_data_percentiles_new (void)
{
	return tuba_api_annual_reports_report_data_percentiles_construct (TUBA_API_ANNUAL_REPORTS_REPORT_DATA_TYPE_PERCENTILES);
}

gfloat
tuba_api_annual_reports_report_data_percentiles_get_statuses (TubaAPIAnnualReportsReportDataPercentiles* self)
{
	gfloat result;
	g_return_val_if_fail (self != NULL, -1.0F);
	result = self->priv->_statuses;
	return result;
}

void
tuba_api_annual_reports_report_data_percentiles_set_statuses (TubaAPIAnnualReportsReportDataPercentiles* self,
                                                              gfloat value)
{
	gfloat old_value;
	g_return_if_fail (self != NULL);
	old_value = tuba_api_annual_reports_report_data_percentiles_get_statuses (self);
	if (old_value != value) {
		self->priv->_statuses = value;
		g_object_notify_by_pspec ((GObject *) self, tuba_api_annual_reports_report_data_percentiles_properties[TUBA_API_ANNUAL_REPORTS_REPORT_DATA_PERCENTILES_STATUSES_PROPERTY]);
	}
}

static void
tuba_api_annual_reports_report_data_percentiles_class_init (TubaAPIAnnualReportsReportDataPercentilesClass * klass,
                                                            gpointer klass_data)
{
	tuba_api_annual_reports_report_data_percentiles_parent_class = g_type_class_peek_parent (klass);
	g_type_class_adjust_private_offset (klass, &TubaAPIAnnualReportsReportDataPercentiles_private_offset);
	G_OBJECT_CLASS (klass)->get_property = _vala_tuba_api_annual_reports_report_data_percentiles_get_property;
	G_OBJECT_CLASS (klass)->set_property = _vala_tuba_api_annual_reports_report_data_percentiles_set_property;
	G_OBJECT_CLASS (klass)->finalize = tuba_api_annual_reports_report_data_percentiles_finalize;
	g_object_class_install_property (G_OBJECT_CLASS (klass), TUBA_API_ANNUAL_REPORTS_REPORT_DATA_PERCENTILES_STATUSES_PROPERTY, tuba_api_annual_reports_report_data_percentiles_properties[TUBA_API_ANNUAL_REPORTS_REPORT_DATA_PERCENTILES_STATUSES_PROPERTY] = g_param_spec_float ("statuses", "statuses", "statuses", -G_MAXFLOAT, G_MAXFLOAT, 0.0F, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
}

static void
tuba_api_annual_reports_report_data_percentiles_instance_init (TubaAPIAnnualReportsReportDataPercentiles * self,
                                                               gpointer klass)
{
	self->priv = tuba_api_annual_reports_report_data_percentiles_get_instance_private (self);
}

static void
tuba_api_annual_reports_report_data_percentiles_finalize (GObject * obj)
{
	TubaAPIAnnualReportsReportDataPercentiles * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, TUBA_API_ANNUAL_REPORTS_REPORT_DATA_TYPE_PERCENTILES, TubaAPIAnnualReportsReportDataPercentiles);
	G_OBJECT_CLASS (tuba_api_annual_reports_report_data_percentiles_parent_class)->finalize (obj);
}

 G_GNUC_NO_INLINE static GType
tuba_api_annual_reports_report_data_percentiles_get_type_once (void)
{
	static const GTypeInfo g_define_type_info = { sizeof (TubaAPIAnnualReportsReportDataPercentilesClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) tuba_api_annual_reports_report_data_percentiles_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (TubaAPIAnnualReportsReportDataPercentiles), 0, (GInstanceInitFunc) tuba_api_annual_reports_report_data_percentiles_instance_init, NULL };
	GType tuba_api_annual_reports_report_data_percentiles_type_id;
	tuba_api_annual_reports_report_data_percentiles_type_id = g_type_register_static (TUBA_TYPE_ENTITY, "TubaAPIAnnualReportsReportDataPercentiles", &g_define_type_info, G_TYPE_FLAG_NONE);
	TubaAPIAnnualReportsReportDataPercentiles_private_offset = g_type_add_instance_private (tuba_api_annual_reports_report_data_percentiles_type_id, sizeof (TubaAPIAnnualReportsReportDataPercentilesPrivate));
	return tuba_api_annual_reports_report_data_percentiles_type_id;
}

GType
tuba_api_annual_reports_report_data_percentiles_get_type (void)
{
	static GType tuba_api_annual_reports_report_data_percentiles_type_id__once = 0;
	if (g_once_init_enter_pointer (&tuba_api_annual_reports_report_data_percentiles_type_id__once)) {
		GType tuba_api_annual_reports_report_data_percentiles_type_id;
		tuba_api_annual_reports_report_data_percentiles_type_id = tuba_api_annual_reports_report_data_percentiles_get_type_once ();
		g_once_init_leave_pointer (&tuba_api_annual_reports_report_data_percentiles_type_id__once, tuba_api_annual_reports_report_data_percentiles_type_id);
	}
	return tuba_api_annual_reports_report_data_percentiles_type_id__once;
}

static void
_vala_tuba_api_annual_reports_report_data_percentiles_get_property (GObject * object,
                                                                    guint property_id,
                                                                    GValue * value,
                                                                    GParamSpec * pspec)
{
	TubaAPIAnnualReportsReportDataPercentiles * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, TUBA_API_ANNUAL_REPORTS_REPORT_DATA_TYPE_PERCENTILES, TubaAPIAnnualReportsReportDataPercentiles);
	switch (property_id) {
		case TUBA_API_ANNUAL_REPORTS_REPORT_DATA_PERCENTILES_STATUSES_PROPERTY:
		g_value_set_float (value, tuba_api_annual_reports_report_data_percentiles_get_statuses (self));
		break;
		default:
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
		break;
	}
}

static void
_vala_tuba_api_annual_reports_report_data_percentiles_set_property (GObject * object,
                                                                    guint property_id,
                                                                    const GValue * value,
                                                                    GParamSpec * pspec)
{
	TubaAPIAnnualReportsReportDataPercentiles * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, TUBA_API_ANNUAL_REPORTS_REPORT_DATA_TYPE_PERCENTILES, TubaAPIAnnualReportsReportDataPercentiles);
	switch (property_id) {
		case TUBA_API_ANNUAL_REPORTS_REPORT_DATA_PERCENTILES_STATUSES_PROPERTY:
		tuba_api_annual_reports_report_data_percentiles_set_statuses (self, g_value_get_float (value));
		break;
		default:
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
		break;
	}
}

static inline gpointer
tuba_api_annual_reports_report_data_time_series_get_instance_private (TubaAPIAnnualReportsReportDataTimeSeries* self)
{
	return G_STRUCT_MEMBER_P (self, TubaAPIAnnualReportsReportDataTimeSeries_private_offset);
}

TubaAPIAnnualReportsReportDataTimeSeries*
tuba_api_annual_reports_report_data_time_series_construct (GType object_type)
{
	TubaAPIAnnualReportsReportDataTimeSeries * self = NULL;
	self = (TubaAPIAnnualReportsReportDataTimeSeries*) tuba_entity_construct (object_type);
	return self;
}

TubaAPIAnnualReportsReportDataTimeSeries*
tuba_api_annual_reports_report_data_time_series_new (void)
{
	return tuba_api_annual_reports_report_data_time_series_construct (TUBA_API_ANNUAL_REPORTS_REPORT_DATA_TYPE_TIME_SERIES);
}

gint32
tuba_api_annual_reports_report_data_time_series_get_month (TubaAPIAnnualReportsReportDataTimeSeries* self)
{
	gint32 result;
	g_return_val_if_fail (self != NULL, -1);
	result = self->priv->_month;
	return result;
}

void
tuba_api_annual_reports_report_data_time_series_set_month (TubaAPIAnnualReportsReportDataTimeSeries* self,
                                                           gint32 value)
{
	gint32 old_value;
	g_return_if_fail (self != NULL);
	old_value = tuba_api_annual_reports_report_data_time_series_get_month (self);
	if (old_value != value) {
		self->priv->_month = value;
		g_object_notify_by_pspec ((GObject *) self, tuba_api_annual_reports_report_data_time_series_properties[TUBA_API_ANNUAL_REPORTS_REPORT_DATA_TIME_SERIES_MONTH_PROPERTY]);
	}
}

gint64
tuba_api_annual_reports_report_data_time_series_get_statuses (TubaAPIAnnualReportsReportDataTimeSeries* self)
{
	gint64 result;
	g_return_val_if_fail (self != NULL, -1LL);
	result = self->priv->_statuses;
	return result;
}

void
tuba_api_annual_reports_report_data_time_series_set_statuses (TubaAPIAnnualReportsReportDataTimeSeries* self,
                                                              gint64 value)
{
	gint64 old_value;
	g_return_if_fail (self != NULL);
	old_value = tuba_api_annual_reports_report_data_time_series_get_statuses (self);
	if (old_value != value) {
		self->priv->_statuses = value;
		g_object_notify_by_pspec ((GObject *) self, tuba_api_annual_reports_report_data_time_series_properties[TUBA_API_ANNUAL_REPORTS_REPORT_DATA_TIME_SERIES_STATUSES_PROPERTY]);
	}
}

gint64
tuba_api_annual_reports_report_data_time_series_get_followers (TubaAPIAnnualReportsReportDataTimeSeries* self)
{
	gint64 result;
	g_return_val_if_fail (self != NULL, -1LL);
	result = self->priv->_followers;
	return result;
}

void
tuba_api_annual_reports_report_data_time_series_set_followers (TubaAPIAnnualReportsReportDataTimeSeries* self,
                                                               gint64 value)
{
	gint64 old_value;
	g_return_if_fail (self != NULL);
	old_value = tuba_api_annual_reports_report_data_time_series_get_followers (self);
	if (old_value != value) {
		self->priv->_followers = value;
		g_object_notify_by_pspec ((GObject *) self, tuba_api_annual_reports_report_data_time_series_properties[TUBA_API_ANNUAL_REPORTS_REPORT_DATA_TIME_SERIES_FOLLOWERS_PROPERTY]);
	}
}

gint64
tuba_api_annual_reports_report_data_time_series_get_following (TubaAPIAnnualReportsReportDataTimeSeries* self)
{
	gint64 result;
	g_return_val_if_fail (self != NULL, -1LL);
	result = self->priv->_following;
	return result;
}

void
tuba_api_annual_reports_report_data_time_series_set_following (TubaAPIAnnualReportsReportDataTimeSeries* self,
                                                               gint64 value)
{
	gint64 old_value;
	g_return_if_fail (self != NULL);
	old_value = tuba_api_annual_reports_report_data_time_series_get_following (self);
	if (old_value != value) {
		self->priv->_following = value;
		g_object_notify_by_pspec ((GObject *) self, tuba_api_annual_reports_report_data_time_series_properties[TUBA_API_ANNUAL_REPORTS_REPORT_DATA_TIME_SERIES_FOLLOWING_PROPERTY]);
	}
}

static void
tuba_api_annual_reports_report_data_time_series_class_init (TubaAPIAnnualReportsReportDataTimeSeriesClass * klass,
                                                            gpointer klass_data)
{
	tuba_api_annual_reports_report_data_time_series_parent_class = g_type_class_peek_parent (klass);
	g_type_class_adjust_private_offset (klass, &TubaAPIAnnualReportsReportDataTimeSeries_private_offset);
	G_OBJECT_CLASS (klass)->get_property = _vala_tuba_api_annual_reports_report_data_time_series_get_property;
	G_OBJECT_CLASS (klass)->set_property = _vala_tuba_api_annual_reports_report_data_time_series_set_property;
	G_OBJECT_CLASS (klass)->finalize = tuba_api_annual_reports_report_data_time_series_finalize;
	g_object_class_install_property (G_OBJECT_CLASS (klass), TUBA_API_ANNUAL_REPORTS_REPORT_DATA_TIME_SERIES_MONTH_PROPERTY, tuba_api_annual_reports_report_data_time_series_properties[TUBA_API_ANNUAL_REPORTS_REPORT_DATA_TIME_SERIES_MONTH_PROPERTY] = g_param_spec_int ("month", "month", "month", G_MININT, G_MAXINT, 0, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), TUBA_API_ANNUAL_REPORTS_REPORT_DATA_TIME_SERIES_STATUSES_PROPERTY, tuba_api_annual_reports_report_data_time_series_properties[TUBA_API_ANNUAL_REPORTS_REPORT_DATA_TIME_SERIES_STATUSES_PROPERTY] = g_param_spec_int64 ("statuses", "statuses", "statuses", G_MININT64, G_MAXINT64, 0, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), TUBA_API_ANNUAL_REPORTS_REPORT_DATA_TIME_SERIES_FOLLOWERS_PROPERTY, tuba_api_annual_reports_report_data_time_series_properties[TUBA_API_ANNUAL_REPORTS_REPORT_DATA_TIME_SERIES_FOLLOWERS_PROPERTY] = g_param_spec_int64 ("followers", "followers", "followers", G_MININT64, G_MAXINT64, 0, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), TUBA_API_ANNUAL_REPORTS_REPORT_DATA_TIME_SERIES_FOLLOWING_PROPERTY, tuba_api_annual_reports_report_data_time_series_properties[TUBA_API_ANNUAL_REPORTS_REPORT_DATA_TIME_SERIES_FOLLOWING_PROPERTY] = g_param_spec_int64 ("following", "following", "following", G_MININT64, G_MAXINT64, 0, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
}

static void
tuba_api_annual_reports_report_data_time_series_instance_init (TubaAPIAnnualReportsReportDataTimeSeries * self,
                                                               gpointer klass)
{
	self->priv = tuba_api_annual_reports_report_data_time_series_get_instance_private (self);
}

static void
tuba_api_annual_reports_report_data_time_series_finalize (GObject * obj)
{
	TubaAPIAnnualReportsReportDataTimeSeries * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, TUBA_API_ANNUAL_REPORTS_REPORT_DATA_TYPE_TIME_SERIES, TubaAPIAnnualReportsReportDataTimeSeries);
	G_OBJECT_CLASS (tuba_api_annual_reports_report_data_time_series_parent_class)->finalize (obj);
}

 G_GNUC_NO_INLINE static GType
tuba_api_annual_reports_report_data_time_series_get_type_once (void)
{
	static const GTypeInfo g_define_type_info = { sizeof (TubaAPIAnnualReportsReportDataTimeSeriesClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) tuba_api_annual_reports_report_data_time_series_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (TubaAPIAnnualReportsReportDataTimeSeries), 0, (GInstanceInitFunc) tuba_api_annual_reports_report_data_time_series_instance_init, NULL };
	GType tuba_api_annual_reports_report_data_time_series_type_id;
	tuba_api_annual_reports_report_data_time_series_type_id = g_type_register_static (TUBA_TYPE_ENTITY, "TubaAPIAnnualReportsReportDataTimeSeries", &g_define_type_info, G_TYPE_FLAG_NONE);
	TubaAPIAnnualReportsReportDataTimeSeries_private_offset = g_type_add_instance_private (tuba_api_annual_reports_report_data_time_series_type_id, sizeof (TubaAPIAnnualReportsReportDataTimeSeriesPrivate));
	return tuba_api_annual_reports_report_data_time_series_type_id;
}

GType
tuba_api_annual_reports_report_data_time_series_get_type (void)
{
	static GType tuba_api_annual_reports_report_data_time_series_type_id__once = 0;
	if (g_once_init_enter_pointer (&tuba_api_annual_reports_report_data_time_series_type_id__once)) {
		GType tuba_api_annual_reports_report_data_time_series_type_id;
		tuba_api_annual_reports_report_data_time_series_type_id = tuba_api_annual_reports_report_data_time_series_get_type_once ();
		g_once_init_leave_pointer (&tuba_api_annual_reports_report_data_time_series_type_id__once, tuba_api_annual_reports_report_data_time_series_type_id);
	}
	return tuba_api_annual_reports_report_data_time_series_type_id__once;
}

static void
_vala_tuba_api_annual_reports_report_data_time_series_get_property (GObject * object,
                                                                    guint property_id,
                                                                    GValue * value,
                                                                    GParamSpec * pspec)
{
	TubaAPIAnnualReportsReportDataTimeSeries * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, TUBA_API_ANNUAL_REPORTS_REPORT_DATA_TYPE_TIME_SERIES, TubaAPIAnnualReportsReportDataTimeSeries);
	switch (property_id) {
		case TUBA_API_ANNUAL_REPORTS_REPORT_DATA_TIME_SERIES_MONTH_PROPERTY:
		g_value_set_int (value, tuba_api_annual_reports_report_data_time_series_get_month (self));
		break;
		case TUBA_API_ANNUAL_REPORTS_REPORT_DATA_TIME_SERIES_STATUSES_PROPERTY:
		g_value_set_int64 (value, tuba_api_annual_reports_report_data_time_series_get_statuses (self));
		break;
		case TUBA_API_ANNUAL_REPORTS_REPORT_DATA_TIME_SERIES_FOLLOWERS_PROPERTY:
		g_value_set_int64 (value, tuba_api_annual_reports_report_data_time_series_get_followers (self));
		break;
		case TUBA_API_ANNUAL_REPORTS_REPORT_DATA_TIME_SERIES_FOLLOWING_PROPERTY:
		g_value_set_int64 (value, tuba_api_annual_reports_report_data_time_series_get_following (self));
		break;
		default:
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
		break;
	}
}

static void
_vala_tuba_api_annual_reports_report_data_time_series_set_property (GObject * object,
                                                                    guint property_id,
                                                                    const GValue * value,
                                                                    GParamSpec * pspec)
{
	TubaAPIAnnualReportsReportDataTimeSeries * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, TUBA_API_ANNUAL_REPORTS_REPORT_DATA_TYPE_TIME_SERIES, TubaAPIAnnualReportsReportDataTimeSeries);
	switch (property_id) {
		case TUBA_API_ANNUAL_REPORTS_REPORT_DATA_TIME_SERIES_MONTH_PROPERTY:
		tuba_api_annual_reports_report_data_time_series_set_month (self, g_value_get_int (value));
		break;
		case TUBA_API_ANNUAL_REPORTS_REPORT_DATA_TIME_SERIES_STATUSES_PROPERTY:
		tuba_api_annual_reports_report_data_time_series_set_statuses (self, g_value_get_int64 (value));
		break;
		case TUBA_API_ANNUAL_REPORTS_REPORT_DATA_TIME_SERIES_FOLLOWERS_PROPERTY:
		tuba_api_annual_reports_report_data_time_series_set_followers (self, g_value_get_int64 (value));
		break;
		case TUBA_API_ANNUAL_REPORTS_REPORT_DATA_TIME_SERIES_FOLLOWING_PROPERTY:
		tuba_api_annual_reports_report_data_time_series_set_following (self, g_value_get_int64 (value));
		break;
		default:
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
		break;
	}
}

static inline gpointer
tuba_api_annual_reports_report_data_top_statuses_get_instance_private (TubaAPIAnnualReportsReportDataTopStatuses* self)
{
	return G_STRUCT_MEMBER_P (self, TubaAPIAnnualReportsReportDataTopStatuses_private_offset);
}

TubaAPIAnnualReportsReportDataTopStatuses*
tuba_api_annual_reports_report_data_top_statuses_construct (GType object_type)
{
	TubaAPIAnnualReportsReportDataTopStatuses * self = NULL;
	self = (TubaAPIAnnualReportsReportDataTopStatuses*) tuba_entity_construct (object_type);
	return self;
}

TubaAPIAnnualReportsReportDataTopStatuses*
tuba_api_annual_reports_report_data_top_statuses_new (void)
{
	return tuba_api_annual_reports_report_data_top_statuses_construct (TUBA_API_ANNUAL_REPORTS_REPORT_DATA_TYPE_TOP_STATUSES);
}

const gchar*
tuba_api_annual_reports_report_data_top_statuses_get_by_reblogs (TubaAPIAnnualReportsReportDataTopStatuses* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_by_reblogs;
	result = _tmp0_;
	return result;
}

void
tuba_api_annual_reports_report_data_top_statuses_set_by_reblogs (TubaAPIAnnualReportsReportDataTopStatuses* self,
                                                                 const gchar* value)
{
	gchar* old_value;
	g_return_if_fail (self != NULL);
	old_value = tuba_api_annual_reports_report_data_top_statuses_get_by_reblogs (self);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_by_reblogs);
		self->priv->_by_reblogs = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, tuba_api_annual_reports_report_data_top_statuses_properties[TUBA_API_ANNUAL_REPORTS_REPORT_DATA_TOP_STATUSES_BY_REBLOGS_PROPERTY]);
	}
}

const gchar*
tuba_api_annual_reports_report_data_top_statuses_get_by_replies (TubaAPIAnnualReportsReportDataTopStatuses* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_by_replies;
	result = _tmp0_;
	return result;
}

void
tuba_api_annual_reports_report_data_top_statuses_set_by_replies (TubaAPIAnnualReportsReportDataTopStatuses* self,
                                                                 const gchar* value)
{
	gchar* old_value;
	g_return_if_fail (self != NULL);
	old_value = tuba_api_annual_reports_report_data_top_statuses_get_by_replies (self);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_by_replies);
		self->priv->_by_replies = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, tuba_api_annual_reports_report_data_top_statuses_properties[TUBA_API_ANNUAL_REPORTS_REPORT_DATA_TOP_STATUSES_BY_REPLIES_PROPERTY]);
	}
}

const gchar*
tuba_api_annual_reports_report_data_top_statuses_get_by_favourites (TubaAPIAnnualReportsReportDataTopStatuses* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_by_favourites;
	result = _tmp0_;
	return result;
}

void
tuba_api_annual_reports_report_data_top_statuses_set_by_favourites (TubaAPIAnnualReportsReportDataTopStatuses* self,
                                                                    const gchar* value)
{
	gchar* old_value;
	g_return_if_fail (self != NULL);
	old_value = tuba_api_annual_reports_report_data_top_statuses_get_by_favourites (self);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_by_favourites);
		self->priv->_by_favourites = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, tuba_api_annual_reports_report_data_top_statuses_properties[TUBA_API_ANNUAL_REPORTS_REPORT_DATA_TOP_STATUSES_BY_FAVOURITES_PROPERTY]);
	}
}

static void
tuba_api_annual_reports_report_data_top_statuses_class_init (TubaAPIAnnualReportsReportDataTopStatusesClass * klass,
                                                             gpointer klass_data)
{
	tuba_api_annual_reports_report_data_top_statuses_parent_class = g_type_class_peek_parent (klass);
	g_type_class_adjust_private_offset (klass, &TubaAPIAnnualReportsReportDataTopStatuses_private_offset);
	G_OBJECT_CLASS (klass)->get_property = _vala_tuba_api_annual_reports_report_data_top_statuses_get_property;
	G_OBJECT_CLASS (klass)->set_property = _vala_tuba_api_annual_reports_report_data_top_statuses_set_property;
	G_OBJECT_CLASS (klass)->finalize = tuba_api_annual_reports_report_data_top_statuses_finalize;
	g_object_class_install_property (G_OBJECT_CLASS (klass), TUBA_API_ANNUAL_REPORTS_REPORT_DATA_TOP_STATUSES_BY_REBLOGS_PROPERTY, tuba_api_annual_reports_report_data_top_statuses_properties[TUBA_API_ANNUAL_REPORTS_REPORT_DATA_TOP_STATUSES_BY_REBLOGS_PROPERTY] = g_param_spec_string ("by-reblogs", "by-reblogs", "by-reblogs", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), TUBA_API_ANNUAL_REPORTS_REPORT_DATA_TOP_STATUSES_BY_REPLIES_PROPERTY, tuba_api_annual_reports_report_data_top_statuses_properties[TUBA_API_ANNUAL_REPORTS_REPORT_DATA_TOP_STATUSES_BY_REPLIES_PROPERTY] = g_param_spec_string ("by-replies", "by-replies", "by-replies", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), TUBA_API_ANNUAL_REPORTS_REPORT_DATA_TOP_STATUSES_BY_FAVOURITES_PROPERTY, tuba_api_annual_reports_report_data_top_statuses_properties[TUBA_API_ANNUAL_REPORTS_REPORT_DATA_TOP_STATUSES_BY_FAVOURITES_PROPERTY] = g_param_spec_string ("by-favourites", "by-favourites", "by-favourites", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
}

static void
tuba_api_annual_reports_report_data_top_statuses_instance_init (TubaAPIAnnualReportsReportDataTopStatuses * self,
                                                                gpointer klass)
{
	self->priv = tuba_api_annual_reports_report_data_top_statuses_get_instance_private (self);
	self->priv->_by_reblogs = NULL;
	self->priv->_by_replies = NULL;
	self->priv->_by_favourites = NULL;
}

static void
tuba_api_annual_reports_report_data_top_statuses_finalize (GObject * obj)
{
	TubaAPIAnnualReportsReportDataTopStatuses * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, TUBA_API_ANNUAL_REPORTS_REPORT_DATA_TYPE_TOP_STATUSES, TubaAPIAnnualReportsReportDataTopStatuses);
	_g_free0 (self->priv->_by_reblogs);
	_g_free0 (self->priv->_by_replies);
	_g_free0 (self->priv->_by_favourites);
	G_OBJECT_CLASS (tuba_api_annual_reports_report_data_top_statuses_parent_class)->finalize (obj);
}

 G_GNUC_NO_INLINE static GType
tuba_api_annual_reports_report_data_top_statuses_get_type_once (void)
{
	static const GTypeInfo g_define_type_info = { sizeof (TubaAPIAnnualReportsReportDataTopStatusesClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) tuba_api_annual_reports_report_data_top_statuses_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (TubaAPIAnnualReportsReportDataTopStatuses), 0, (GInstanceInitFunc) tuba_api_annual_reports_report_data_top_statuses_instance_init, NULL };
	GType tuba_api_annual_reports_report_data_top_statuses_type_id;
	tuba_api_annual_reports_report_data_top_statuses_type_id = g_type_register_static (TUBA_TYPE_ENTITY, "TubaAPIAnnualReportsReportDataTopStatuses", &g_define_type_info, G_TYPE_FLAG_NONE);
	TubaAPIAnnualReportsReportDataTopStatuses_private_offset = g_type_add_instance_private (tuba_api_annual_reports_report_data_top_statuses_type_id, sizeof (TubaAPIAnnualReportsReportDataTopStatusesPrivate));
	return tuba_api_annual_reports_report_data_top_statuses_type_id;
}

GType
tuba_api_annual_reports_report_data_top_statuses_get_type (void)
{
	static GType tuba_api_annual_reports_report_data_top_statuses_type_id__once = 0;
	if (g_once_init_enter_pointer (&tuba_api_annual_reports_report_data_top_statuses_type_id__once)) {
		GType tuba_api_annual_reports_report_data_top_statuses_type_id;
		tuba_api_annual_reports_report_data_top_statuses_type_id = tuba_api_annual_reports_report_data_top_statuses_get_type_once ();
		g_once_init_leave_pointer (&tuba_api_annual_reports_report_data_top_statuses_type_id__once, tuba_api_annual_reports_report_data_top_statuses_type_id);
	}
	return tuba_api_annual_reports_report_data_top_statuses_type_id__once;
}

static void
_vala_tuba_api_annual_reports_report_data_top_statuses_get_property (GObject * object,
                                                                     guint property_id,
                                                                     GValue * value,
                                                                     GParamSpec * pspec)
{
	TubaAPIAnnualReportsReportDataTopStatuses * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, TUBA_API_ANNUAL_REPORTS_REPORT_DATA_TYPE_TOP_STATUSES, TubaAPIAnnualReportsReportDataTopStatuses);
	switch (property_id) {
		case TUBA_API_ANNUAL_REPORTS_REPORT_DATA_TOP_STATUSES_BY_REBLOGS_PROPERTY:
		g_value_set_string (value, tuba_api_annual_reports_report_data_top_statuses_get_by_reblogs (self));
		break;
		case TUBA_API_ANNUAL_REPORTS_REPORT_DATA_TOP_STATUSES_BY_REPLIES_PROPERTY:
		g_value_set_string (value, tuba_api_annual_reports_report_data_top_statuses_get_by_replies (self));
		break;
		case TUBA_API_ANNUAL_REPORTS_REPORT_DATA_TOP_STATUSES_BY_FAVOURITES_PROPERTY:
		g_value_set_string (value, tuba_api_annual_reports_report_data_top_statuses_get_by_favourites (self));
		break;
		default:
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
		break;
	}
}

static void
_vala_tuba_api_annual_reports_report_data_top_statuses_set_property (GObject * object,
                                                                     guint property_id,
                                                                     const GValue * value,
                                                                     GParamSpec * pspec)
{
	TubaAPIAnnualReportsReportDataTopStatuses * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, TUBA_API_ANNUAL_REPORTS_REPORT_DATA_TYPE_TOP_STATUSES, TubaAPIAnnualReportsReportDataTopStatuses);
	switch (property_id) {
		case TUBA_API_ANNUAL_REPORTS_REPORT_DATA_TOP_STATUSES_BY_REBLOGS_PROPERTY:
		tuba_api_annual_reports_report_data_top_statuses_set_by_reblogs (self, g_value_get_string (value));
		break;
		case TUBA_API_ANNUAL_REPORTS_REPORT_DATA_TOP_STATUSES_BY_REPLIES_PROPERTY:
		tuba_api_annual_reports_report_data_top_statuses_set_by_replies (self, g_value_get_string (value));
		break;
		case TUBA_API_ANNUAL_REPORTS_REPORT_DATA_TOP_STATUSES_BY_FAVOURITES_PROPERTY:
		tuba_api_annual_reports_report_data_top_statuses_set_by_favourites (self, g_value_get_string (value));
		break;
		default:
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
		break;
	}
}

static void
tuba_api_annual_reports_report_data_class_init (TubaAPIAnnualReportsReportDataClass * klass,
                                                gpointer klass_data)
{
	tuba_api_annual_reports_report_data_parent_class = g_type_class_peek_parent (klass);
	g_type_class_adjust_private_offset (klass, &TubaAPIAnnualReportsReportData_private_offset);
	((TubaEntityClass *) klass)->deserialize_array_type = (GType (*) (TubaEntity*, const gchar*)) tuba_api_annual_reports_report_data_real_deserialize_array_type;
	G_OBJECT_CLASS (klass)->get_property = _vala_tuba_api_annual_reports_report_data_get_property;
	G_OBJECT_CLASS (klass)->set_property = _vala_tuba_api_annual_reports_report_data_set_property;
	G_OBJECT_CLASS (klass)->finalize = tuba_api_annual_reports_report_data_finalize;
	g_object_class_install_property (G_OBJECT_CLASS (klass), TUBA_API_ANNUAL_REPORTS_REPORT_DATA_TIME_SERIES_PROPERTY, tuba_api_annual_reports_report_data_properties[TUBA_API_ANNUAL_REPORTS_REPORT_DATA_TIME_SERIES_PROPERTY] = g_param_spec_object ("time-series", "time-series", "time-series", GEE_TYPE_ARRAY_LIST, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), TUBA_API_ANNUAL_REPORTS_REPORT_DATA_PERCENTILES_PROPERTY, tuba_api_annual_reports_report_data_properties[TUBA_API_ANNUAL_REPORTS_REPORT_DATA_PERCENTILES_PROPERTY] = g_param_spec_object ("percentiles", "percentiles", "percentiles", TUBA_API_ANNUAL_REPORTS_REPORT_DATA_TYPE_PERCENTILES, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), TUBA_API_ANNUAL_REPORTS_REPORT_DATA_TOP_STATUSES_PROPERTY, tuba_api_annual_reports_report_data_properties[TUBA_API_ANNUAL_REPORTS_REPORT_DATA_TOP_STATUSES_PROPERTY] = g_param_spec_object ("top-statuses", "top-statuses", "top-statuses", TUBA_API_ANNUAL_REPORTS_REPORT_DATA_TYPE_TOP_STATUSES, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), TUBA_API_ANNUAL_REPORTS_REPORT_DATA_TOP_HASHTAGS_PROPERTY, tuba_api_annual_reports_report_data_properties[TUBA_API_ANNUAL_REPORTS_REPORT_DATA_TOP_HASHTAGS_PROPERTY] = g_param_spec_object ("top-hashtags", "top-hashtags", "top-hashtags", GEE_TYPE_ARRAY_LIST, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), TUBA_API_ANNUAL_REPORTS_REPORT_DATA_MOST_USED_APPS_PROPERTY, tuba_api_annual_reports_report_data_properties[TUBA_API_ANNUAL_REPORTS_REPORT_DATA_MOST_USED_APPS_PROPERTY] = g_param_spec_object ("most-used-apps", "most-used-apps", "most-used-apps", GEE_TYPE_ARRAY_LIST, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), TUBA_API_ANNUAL_REPORTS_REPORT_DATA_MOST_REBLOGGED_ACCOUNTS_PROPERTY, tuba_api_annual_reports_report_data_properties[TUBA_API_ANNUAL_REPORTS_REPORT_DATA_MOST_REBLOGGED_ACCOUNTS_PROPERTY] = g_param_spec_object ("most-reblogged-accounts", "most-reblogged-accounts", "most-reblogged-accounts", GEE_TYPE_ARRAY_LIST, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), TUBA_API_ANNUAL_REPORTS_REPORT_DATA_COMMONLY_INTERACTED_WITH_ACCOUNTS_PROPERTY, tuba_api_annual_reports_report_data_properties[TUBA_API_ANNUAL_REPORTS_REPORT_DATA_COMMONLY_INTERACTED_WITH_ACCOUNTS_PROPERTY] = g_param_spec_object ("commonly-interacted-with-accounts", "commonly-interacted-with-accounts", "commonly-interacted-with-accounts", GEE_TYPE_ARRAY_LIST, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
}

static void
tuba_api_annual_reports_report_data_instance_init (TubaAPIAnnualReportsReportData * self,
                                                   gpointer klass)
{
	self->priv = tuba_api_annual_reports_report_data_get_instance_private (self);
}

static void
tuba_api_annual_reports_report_data_finalize (GObject * obj)
{
	TubaAPIAnnualReportsReportData * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, TUBA_API_ANNUAL_REPORTS_REPORT_TYPE_DATA, TubaAPIAnnualReportsReportData);
	_g_object_unref0 (self->priv->_time_series);
	_g_object_unref0 (self->priv->_percentiles);
	_g_object_unref0 (self->priv->_top_statuses);
	_g_object_unref0 (self->priv->_top_hashtags);
	_g_object_unref0 (self->priv->_most_used_apps);
	_g_object_unref0 (self->priv->_most_reblogged_accounts);
	_g_object_unref0 (self->priv->_commonly_interacted_with_accounts);
	G_OBJECT_CLASS (tuba_api_annual_reports_report_data_parent_class)->finalize (obj);
}

 G_GNUC_NO_INLINE static GType
tuba_api_annual_reports_report_data_get_type_once (void)
{
	static const GTypeInfo g_define_type_info = { sizeof (TubaAPIAnnualReportsReportDataClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) tuba_api_annual_reports_report_data_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (TubaAPIAnnualReportsReportData), 0, (GInstanceInitFunc) tuba_api_annual_reports_report_data_instance_init, NULL };
	GType tuba_api_annual_reports_report_data_type_id;
	tuba_api_annual_reports_report_data_type_id = g_type_register_static (TUBA_TYPE_ENTITY, "TubaAPIAnnualReportsReportData", &g_define_type_info, G_TYPE_FLAG_NONE);
	TubaAPIAnnualReportsReportData_private_offset = g_type_add_instance_private (tuba_api_annual_reports_report_data_type_id, sizeof (TubaAPIAnnualReportsReportDataPrivate));
	return tuba_api_annual_reports_report_data_type_id;
}

GType
tuba_api_annual_reports_report_data_get_type (void)
{
	static GType tuba_api_annual_reports_report_data_type_id__once = 0;
	if (g_once_init_enter_pointer (&tuba_api_annual_reports_report_data_type_id__once)) {
		GType tuba_api_annual_reports_report_data_type_id;
		tuba_api_annual_reports_report_data_type_id = tuba_api_annual_reports_report_data_get_type_once ();
		g_once_init_leave_pointer (&tuba_api_annual_reports_report_data_type_id__once, tuba_api_annual_reports_report_data_type_id);
	}
	return tuba_api_annual_reports_report_data_type_id__once;
}

static void
_vala_tuba_api_annual_reports_report_data_get_property (GObject * object,
                                                        guint property_id,
                                                        GValue * value,
                                                        GParamSpec * pspec)
{
	TubaAPIAnnualReportsReportData * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, TUBA_API_ANNUAL_REPORTS_REPORT_TYPE_DATA, TubaAPIAnnualReportsReportData);
	switch (property_id) {
		case TUBA_API_ANNUAL_REPORTS_REPORT_DATA_TIME_SERIES_PROPERTY:
		g_value_set_object (value, tuba_api_annual_reports_report_data_get_time_series (self));
		break;
		case TUBA_API_ANNUAL_REPORTS_REPORT_DATA_PERCENTILES_PROPERTY:
		g_value_set_object (value, tuba_api_annual_reports_report_data_get_percentiles (self));
		break;
		case TUBA_API_ANNUAL_REPORTS_REPORT_DATA_TOP_STATUSES_PROPERTY:
		g_value_set_object (value, tuba_api_annual_reports_report_data_get_top_statuses (self));
		break;
		case TUBA_API_ANNUAL_REPORTS_REPORT_DATA_TOP_HASHTAGS_PROPERTY:
		g_value_set_object (value, tuba_api_annual_reports_report_data_get_top_hashtags (self));
		break;
		case TUBA_API_ANNUAL_REPORTS_REPORT_DATA_MOST_USED_APPS_PROPERTY:
		g_value_set_object (value, tuba_api_annual_reports_report_data_get_most_used_apps (self));
		break;
		case TUBA_API_ANNUAL_REPORTS_REPORT_DATA_MOST_REBLOGGED_ACCOUNTS_PROPERTY:
		g_value_set_object (value, tuba_api_annual_reports_report_data_get_most_reblogged_accounts (self));
		break;
		case TUBA_API_ANNUAL_REPORTS_REPORT_DATA_COMMONLY_INTERACTED_WITH_ACCOUNTS_PROPERTY:
		g_value_set_object (value, tuba_api_annual_reports_report_data_get_commonly_interacted_with_accounts (self));
		break;
		default:
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
		break;
	}
}

static void
_vala_tuba_api_annual_reports_report_data_set_property (GObject * object,
                                                        guint property_id,
                                                        const GValue * value,
                                                        GParamSpec * pspec)
{
	TubaAPIAnnualReportsReportData * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, TUBA_API_ANNUAL_REPORTS_REPORT_TYPE_DATA, TubaAPIAnnualReportsReportData);
	switch (property_id) {
		case TUBA_API_ANNUAL_REPORTS_REPORT_DATA_TIME_SERIES_PROPERTY:
		tuba_api_annual_reports_report_data_set_time_series (self, g_value_get_object (value));
		break;
		case TUBA_API_ANNUAL_REPORTS_REPORT_DATA_PERCENTILES_PROPERTY:
		tuba_api_annual_reports_report_data_set_percentiles (self, g_value_get_object (value));
		break;
		case TUBA_API_ANNUAL_REPORTS_REPORT_DATA_TOP_STATUSES_PROPERTY:
		tuba_api_annual_reports_report_data_set_top_statuses (self, g_value_get_object (value));
		break;
		case TUBA_API_ANNUAL_REPORTS_REPORT_DATA_TOP_HASHTAGS_PROPERTY:
		tuba_api_annual_reports_report_data_set_top_hashtags (self, g_value_get_object (value));
		break;
		case TUBA_API_ANNUAL_REPORTS_REPORT_DATA_MOST_USED_APPS_PROPERTY:
		tuba_api_annual_reports_report_data_set_most_used_apps (self, g_value_get_object (value));
		break;
		case TUBA_API_ANNUAL_REPORTS_REPORT_DATA_MOST_REBLOGGED_ACCOUNTS_PROPERTY:
		tuba_api_annual_reports_report_data_set_most_reblogged_accounts (self, g_value_get_object (value));
		break;
		case TUBA_API_ANNUAL_REPORTS_REPORT_DATA_COMMONLY_INTERACTED_WITH_ACCOUNTS_PROPERTY:
		tuba_api_annual_reports_report_data_set_commonly_interacted_with_accounts (self, g_value_get_object (value));
		break;
		default:
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
		break;
	}
}

static void
tuba_api_annual_reports_report_class_init (TubaAPIAnnualReportsReportClass * klass,
                                           gpointer klass_data)
{
	tuba_api_annual_reports_report_parent_class = g_type_class_peek_parent (klass);
	g_type_class_adjust_private_offset (klass, &TubaAPIAnnualReportsReport_private_offset);
	G_OBJECT_CLASS (klass)->get_property = _vala_tuba_api_annual_reports_report_get_property;
	G_OBJECT_CLASS (klass)->set_property = _vala_tuba_api_annual_reports_report_set_property;
	G_OBJECT_CLASS (klass)->finalize = tuba_api_annual_reports_report_finalize;
	g_object_class_install_property (G_OBJECT_CLASS (klass), TUBA_API_ANNUAL_REPORTS_REPORT_YEAR_PROPERTY, tuba_api_annual_reports_report_properties[TUBA_API_ANNUAL_REPORTS_REPORT_YEAR_PROPERTY] = g_param_spec_int ("year", "year", "year", G_MININT, G_MAXINT, 0, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), TUBA_API_ANNUAL_REPORTS_REPORT_DATA_PROPERTY, tuba_api_annual_reports_report_properties[TUBA_API_ANNUAL_REPORTS_REPORT_DATA_PROPERTY] = g_param_spec_object ("data", "data", "data", TUBA_API_ANNUAL_REPORTS_REPORT_TYPE_DATA, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
}

static void
tuba_api_annual_reports_report_instance_init (TubaAPIAnnualReportsReport * self,
                                              gpointer klass)
{
	self->priv = tuba_api_annual_reports_report_get_instance_private (self);
}

static void
tuba_api_annual_reports_report_finalize (GObject * obj)
{
	TubaAPIAnnualReportsReport * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, TUBA_API_ANNUAL_REPORTS_TYPE_REPORT, TubaAPIAnnualReportsReport);
	_g_object_unref0 (self->priv->_data);
	G_OBJECT_CLASS (tuba_api_annual_reports_report_parent_class)->finalize (obj);
}

 G_GNUC_NO_INLINE static GType
tuba_api_annual_reports_report_get_type_once (void)
{
	static const GTypeInfo g_define_type_info = { sizeof (TubaAPIAnnualReportsReportClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) tuba_api_annual_reports_report_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (TubaAPIAnnualReportsReport), 0, (GInstanceInitFunc) tuba_api_annual_reports_report_instance_init, NULL };
	GType tuba_api_annual_reports_report_type_id;
	tuba_api_annual_reports_report_type_id = g_type_register_static (TUBA_TYPE_ENTITY, "TubaAPIAnnualReportsReport", &g_define_type_info, G_TYPE_FLAG_NONE);
	TubaAPIAnnualReportsReport_private_offset = g_type_add_instance_private (tuba_api_annual_reports_report_type_id, sizeof (TubaAPIAnnualReportsReportPrivate));
	return tuba_api_annual_reports_report_type_id;
}

GType
tuba_api_annual_reports_report_get_type (void)
{
	static GType tuba_api_annual_reports_report_type_id__once = 0;
	if (g_once_init_enter_pointer (&tuba_api_annual_reports_report_type_id__once)) {
		GType tuba_api_annual_reports_report_type_id;
		tuba_api_annual_reports_report_type_id = tuba_api_annual_reports_report_get_type_once ();
		g_once_init_leave_pointer (&tuba_api_annual_reports_report_type_id__once, tuba_api_annual_reports_report_type_id);
	}
	return tuba_api_annual_reports_report_type_id__once;
}

static void
_vala_tuba_api_annual_reports_report_get_property (GObject * object,
                                                   guint property_id,
                                                   GValue * value,
                                                   GParamSpec * pspec)
{
	TubaAPIAnnualReportsReport * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, TUBA_API_ANNUAL_REPORTS_TYPE_REPORT, TubaAPIAnnualReportsReport);
	switch (property_id) {
		case TUBA_API_ANNUAL_REPORTS_REPORT_YEAR_PROPERTY:
		g_value_set_int (value, tuba_api_annual_reports_report_get_year (self));
		break;
		case TUBA_API_ANNUAL_REPORTS_REPORT_DATA_PROPERTY:
		g_value_set_object (value, tuba_api_annual_reports_report_get_data (self));
		break;
		default:
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
		break;
	}
}

static void
_vala_tuba_api_annual_reports_report_set_property (GObject * object,
                                                   guint property_id,
                                                   const GValue * value,
                                                   GParamSpec * pspec)
{
	TubaAPIAnnualReportsReport * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, TUBA_API_ANNUAL_REPORTS_TYPE_REPORT, TubaAPIAnnualReportsReport);
	switch (property_id) {
		case TUBA_API_ANNUAL_REPORTS_REPORT_YEAR_PROPERTY:
		tuba_api_annual_reports_report_set_year (self, g_value_get_int (value));
		break;
		case TUBA_API_ANNUAL_REPORTS_REPORT_DATA_PROPERTY:
		tuba_api_annual_reports_report_set_data (self, g_value_get_object (value));
		break;
		default:
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
		break;
	}
}

static void
tuba_api_annual_reports_class_init (TubaAPIAnnualReportsClass * klass,
                                    gpointer klass_data)
{
	tuba_api_annual_reports_parent_class = g_type_class_peek_parent (klass);
	g_type_class_adjust_private_offset (klass, &TubaAPIAnnualReports_private_offset);
	((TubaEntityClass *) klass)->deserialize_array_type = (GType (*) (TubaEntity*, const gchar*)) tuba_api_annual_reports_real_deserialize_array_type;
	G_OBJECT_CLASS (klass)->get_property = _vala_tuba_api_annual_reports_get_property;
	G_OBJECT_CLASS (klass)->set_property = _vala_tuba_api_annual_reports_set_property;
	G_OBJECT_CLASS (klass)->finalize = tuba_api_annual_reports_finalize;
	g_object_class_install_property (G_OBJECT_CLASS (klass), TUBA_API_ANNUAL_REPORTS_ANNUAL_REPORTS_PROPERTY, tuba_api_annual_reports_properties[TUBA_API_ANNUAL_REPORTS_ANNUAL_REPORTS_PROPERTY] = g_param_spec_object ("annual-reports", "annual-reports", "annual-reports", GEE_TYPE_ARRAY_LIST, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), TUBA_API_ANNUAL_REPORTS_STATUSES_PROPERTY, tuba_api_annual_reports_properties[TUBA_API_ANNUAL_REPORTS_STATUSES_PROPERTY] = g_param_spec_object ("statuses", "statuses", "statuses", GEE_TYPE_ARRAY_LIST, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), TUBA_API_ANNUAL_REPORTS_ACCOUNTS_PROPERTY, tuba_api_annual_reports_properties[TUBA_API_ANNUAL_REPORTS_ACCOUNTS_PROPERTY] = g_param_spec_object ("accounts", "accounts", "accounts", GEE_TYPE_ARRAY_LIST, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
}

static void
tuba_api_annual_reports_instance_init (TubaAPIAnnualReports * self,
                                       gpointer klass)
{
	self->priv = tuba_api_annual_reports_get_instance_private (self);
}

static void
tuba_api_annual_reports_finalize (GObject * obj)
{
	TubaAPIAnnualReports * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, TUBA_API_TYPE_ANNUAL_REPORTS, TubaAPIAnnualReports);
	_g_object_unref0 (self->priv->_annual_reports);
	_g_object_unref0 (self->priv->_statuses);
	_g_object_unref0 (self->priv->_accounts);
	G_OBJECT_CLASS (tuba_api_annual_reports_parent_class)->finalize (obj);
}

 G_GNUC_NO_INLINE static GType
tuba_api_annual_reports_get_type_once (void)
{
	static const GTypeInfo g_define_type_info = { sizeof (TubaAPIAnnualReportsClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) tuba_api_annual_reports_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (TubaAPIAnnualReports), 0, (GInstanceInitFunc) tuba_api_annual_reports_instance_init, NULL };
	GType tuba_api_annual_reports_type_id;
	tuba_api_annual_reports_type_id = g_type_register_static (TUBA_TYPE_ENTITY, "TubaAPIAnnualReports", &g_define_type_info, G_TYPE_FLAG_NONE);
	TubaAPIAnnualReports_private_offset = g_type_add_instance_private (tuba_api_annual_reports_type_id, sizeof (TubaAPIAnnualReportsPrivate));
	return tuba_api_annual_reports_type_id;
}

GType
tuba_api_annual_reports_get_type (void)
{
	static GType tuba_api_annual_reports_type_id__once = 0;
	if (g_once_init_enter_pointer (&tuba_api_annual_reports_type_id__once)) {
		GType tuba_api_annual_reports_type_id;
		tuba_api_annual_reports_type_id = tuba_api_annual_reports_get_type_once ();
		g_once_init_leave_pointer (&tuba_api_annual_reports_type_id__once, tuba_api_annual_reports_type_id);
	}
	return tuba_api_annual_reports_type_id__once;
}

static void
_vala_tuba_api_annual_reports_get_property (GObject * object,
                                            guint property_id,
                                            GValue * value,
                                            GParamSpec * pspec)
{
	TubaAPIAnnualReports * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, TUBA_API_TYPE_ANNUAL_REPORTS, TubaAPIAnnualReports);
	switch (property_id) {
		case TUBA_API_ANNUAL_REPORTS_ANNUAL_REPORTS_PROPERTY:
		g_value_set_object (value, tuba_api_annual_reports_get_annual_reports (self));
		break;
		case TUBA_API_ANNUAL_REPORTS_STATUSES_PROPERTY:
		g_value_set_object (value, tuba_api_annual_reports_get_statuses (self));
		break;
		case TUBA_API_ANNUAL_REPORTS_ACCOUNTS_PROPERTY:
		g_value_set_object (value, tuba_api_annual_reports_get_accounts (self));
		break;
		default:
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
		break;
	}
}

static void
_vala_tuba_api_annual_reports_set_property (GObject * object,
                                            guint property_id,
                                            const GValue * value,
                                            GParamSpec * pspec)
{
	TubaAPIAnnualReports * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, TUBA_API_TYPE_ANNUAL_REPORTS, TubaAPIAnnualReports);
	switch (property_id) {
		case TUBA_API_ANNUAL_REPORTS_ANNUAL_REPORTS_PROPERTY:
		tuba_api_annual_reports_set_annual_reports (self, g_value_get_object (value));
		break;
		case TUBA_API_ANNUAL_REPORTS_STATUSES_PROPERTY:
		tuba_api_annual_reports_set_statuses (self, g_value_get_object (value));
		break;
		case TUBA_API_ANNUAL_REPORTS_ACCOUNTS_PROPERTY:
		tuba_api_annual_reports_set_accounts (self, g_value_get_object (value));
		break;
		default:
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
		break;
	}
}

