/* util.c generated by valac 0.25.2.7-aa52, the Vala compiler
 * generated from util.vala, do not modify */

/* This file is part of GNOME Boxes. License: LGPLv2+*/

#include <glib.h>
#include <glib-object.h>
#include <stdlib.h>
#include <string.h>
#include <config.h>
#include <glib/gstdio.h>
#include <gio/gio.h>
#include <float.h>
#include <math.h>
#include <glib/gi18n-lib.h>
#include <archive.h>
#include <archive_entry.h>
#include <gobject/gvaluecollector.h>

#define _g_free0(var) (var = (g_free (var), NULL))
#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL)))
#define _g_error_free0(var) ((var == NULL) ? NULL : (var = (g_error_free (var), NULL)))
typedef struct _BoxesOutputStreamWriteData BoxesOutputStreamWriteData;
#define _g_regex_unref0(var) ((var == NULL) ? NULL : (var = (g_regex_unref (var), NULL)))
#define __g_list_free__g_object_unref0_0(var) ((var == NULL) ? NULL : (var = (_g_list_free__g_object_unref0_ (var), NULL)))
typedef struct _BoxesForeachFilenameFromDirData BoxesForeachFilenameFromDirData;
typedef struct _Block2Data Block2Data;
#define _g_thread_unref0(var) ((var == NULL) ? NULL : (var = (g_thread_unref (var), NULL)))
typedef struct _BoxesRunInThreadData BoxesRunInThreadData;
typedef struct _Block3Data Block3Data;
typedef struct _BoxesExecData BoxesExecData;
#define _g_type_class_unref0(var) ((var == NULL) ? NULL : (var = (g_type_class_unref (var), NULL)))

#define BOXES_TYPE_PAIR (boxes_pair_get_type ())
#define BOXES_PAIR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), BOXES_TYPE_PAIR, BoxesPair))
#define BOXES_PAIR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), BOXES_TYPE_PAIR, BoxesPairClass))
#define BOXES_IS_PAIR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), BOXES_TYPE_PAIR))
#define BOXES_IS_PAIR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), BOXES_TYPE_PAIR))
#define BOXES_PAIR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), BOXES_TYPE_PAIR, BoxesPairClass))

typedef struct _BoxesPair BoxesPair;
typedef struct _BoxesPairClass BoxesPairClass;
typedef struct _BoxesPairPrivate BoxesPairPrivate;
#define _t1_destroy_func0(var) (((var == NULL) || (t1_destroy_func == NULL)) ? NULL : (var = (t1_destroy_func (var), NULL)))
#define _t2_destroy_func0(var) (((var == NULL) || (t2_destroy_func == NULL)) ? NULL : (var = (t2_destroy_func (var), NULL)))
typedef struct _BoxesParamSpecPair BoxesParamSpecPair;

#define BOXES_TYPE_QUERY (boxes_query_get_type ())
#define BOXES_QUERY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), BOXES_TYPE_QUERY, BoxesQuery))
#define BOXES_QUERY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), BOXES_TYPE_QUERY, BoxesQueryClass))
#define BOXES_IS_QUERY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), BOXES_TYPE_QUERY))
#define BOXES_IS_QUERY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), BOXES_TYPE_QUERY))
#define BOXES_QUERY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), BOXES_TYPE_QUERY, BoxesQueryClass))

typedef struct _BoxesQuery BoxesQuery;
typedef struct _BoxesQueryClass BoxesQueryClass;
typedef struct _BoxesQueryPrivate BoxesQueryPrivate;
#define _g_hash_table_unref0(var) ((var == NULL) ? NULL : (var = (g_hash_table_unref (var), NULL)))

#define BOXES_TYPE_ACTIVITY_PROGRESS (boxes_activity_progress_get_type ())
#define BOXES_ACTIVITY_PROGRESS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), BOXES_TYPE_ACTIVITY_PROGRESS, BoxesActivityProgress))
#define BOXES_ACTIVITY_PROGRESS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), BOXES_TYPE_ACTIVITY_PROGRESS, BoxesActivityProgressClass))
#define BOXES_IS_ACTIVITY_PROGRESS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), BOXES_TYPE_ACTIVITY_PROGRESS))
#define BOXES_IS_ACTIVITY_PROGRESS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), BOXES_TYPE_ACTIVITY_PROGRESS))
#define BOXES_ACTIVITY_PROGRESS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), BOXES_TYPE_ACTIVITY_PROGRESS, BoxesActivityProgressClass))

typedef struct _BoxesActivityProgress BoxesActivityProgress;
typedef struct _BoxesActivityProgressClass BoxesActivityProgressClass;
typedef struct _BoxesActivityProgressPrivate BoxesActivityProgressPrivate;
typedef struct _Block4Data Block4Data;
typedef struct _Block5Data Block5Data;
#define _g_string_free0(var) ((var == NULL) ? NULL : (var = (g_string_free (var, TRUE), NULL)))

#define BOXES_FDO_TYPE_ACCOUNTS (boxes_fdo_accounts_get_type ())
#define BOXES_FDO_ACCOUNTS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), BOXES_FDO_TYPE_ACCOUNTS, BoxesFdoAccounts))
#define BOXES_FDO_IS_ACCOUNTS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), BOXES_FDO_TYPE_ACCOUNTS))
#define BOXES_FDO_ACCOUNTS_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), BOXES_FDO_TYPE_ACCOUNTS, BoxesFdoAccountsIface))

typedef struct _BoxesFdoAccounts BoxesFdoAccounts;
typedef struct _BoxesFdoAccountsIface BoxesFdoAccountsIface;

#define BOXES_FDO_TYPE_ACCOUNTS_PROXY (boxes_fdo_accounts_proxy_get_type ())
typedef GDBusProxy BoxesFdoAccountsProxy;
typedef GDBusProxyClass BoxesFdoAccountsProxyClass;

#define BOXES_FDO_TYPE_ACCOUNTS_USER (boxes_fdo_accounts_user_get_type ())
#define BOXES_FDO_ACCOUNTS_USER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), BOXES_FDO_TYPE_ACCOUNTS_USER, BoxesFdoAccountsUser))
#define BOXES_FDO_IS_ACCOUNTS_USER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), BOXES_FDO_TYPE_ACCOUNTS_USER))
#define BOXES_FDO_ACCOUNTS_USER_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), BOXES_FDO_TYPE_ACCOUNTS_USER, BoxesFdoAccountsUserIface))

typedef struct _BoxesFdoAccountsUser BoxesFdoAccountsUser;
typedef struct _BoxesFdoAccountsUserIface BoxesFdoAccountsUserIface;

#define BOXES_FDO_TYPE_ACCOUNTS_USER_PROXY (boxes_fdo_accounts_user_proxy_get_type ())
typedef GDBusProxy BoxesFdoAccountsUserProxy;
typedef GDBusProxyClass BoxesFdoAccountsUserProxyClass;

typedef enum  {
	BOXES_ERROR_INVALID,
	BOXES_ERROR_RESTORE_FAILED,
	BOXES_ERROR_START_FAILED,
	BOXES_ERROR_COMMAND_FAILED
} BoxesError;
#define BOXES_ERROR boxes_error_quark ()
struct _BoxesOutputStreamWriteData {
	int _state_;
	GObject* _source_object_;
	GAsyncResult* _res_;
	GSimpleAsyncResult* _async_result;
	GOutputStream* stream;
	guint8* buffer;
	gint buffer_length1;
	gint length;
	guint8* _tmp0_;
	gint _tmp0__length1;
	gssize i;
	gssize _tmp1_;
	gint _tmp2_;
	gssize _tmp3_;
	GOutputStream* _tmp4_;
	guint8* _tmp5_;
	gint _tmp5__length1;
	gssize _tmp6_;
	gint _tmp7_;
	gssize _tmp8_;
	gssize _tmp9_;
	GError * _inner_error_;
};

typedef gboolean (*BoxesForeachFilenameFromDirFunc) (const gchar* filename, void* user_data, GError** error);
struct _BoxesForeachFilenameFromDirData {
	int _state_;
	GObject* _source_object_;
	GAsyncResult* _res_;
	GSimpleAsyncResult* _async_result;
	GFile* dir;
	BoxesForeachFilenameFromDirFunc func;
	gpointer func_target;
	GFileEnumerator* enumerator;
	GFile* _tmp0_;
	GFileEnumerator* _tmp1_;
	GList* files;
	GFileEnumerator* _tmp2_;
	GList* _tmp3_;
	GList* _tmp4_;
	GList* _tmp5_;
	GList* file_collection;
	GList* file_it;
	GFileInfo* _tmp6_;
	GFileInfo* file;
	gboolean _tmp7_;
	BoxesForeachFilenameFromDirFunc _tmp8_;
	void* _tmp8__target;
	GFileInfo* _tmp9_;
	const gchar* _tmp10_;
	gboolean _tmp11_;
	GError* _error_;
	GError* _tmp12_;
	const gchar* _tmp13_;
	GError * _inner_error_;
};

typedef void (*BoxesRunInThreadFunc) (void* user_data, GError** error);
struct _Block2Data {
	int _ref_count_;
	GError* e;
	GSourceFunc resume;
	gpointer resume_target;
	GDestroyNotify resume_target_destroy_notify;
	BoxesRunInThreadFunc func;
	gpointer func_target;
	GDestroyNotify func_target_destroy_notify;
	gpointer _async_data_;
};

struct _BoxesRunInThreadData {
	int _state_;
	GObject* _source_object_;
	GAsyncResult* _res_;
	GSimpleAsyncResult* _async_result;
	BoxesRunInThreadFunc func;
	gpointer func_target;
	GDestroyNotify func_target_destroy_notify;
	Block2Data* _data2_;
	BoxesRunInThreadFunc _tmp0_;
	void* _tmp0__target;
	GThread* _tmp1_;
	GThread* _tmp2_;
	GError* _tmp3_;
	GError* _tmp4_;
	GError* _tmp5_;
	GError * _inner_error_;
};

struct _Block3Data {
	int _ref_count_;
	gchar* std_output;
	gchar* std_error;
	gchar** argv_copy;
	gint argv_copy_length1;
	gint _argv_copy_size_;
	gpointer _async_data_;
};

struct _BoxesExecData {
	int _state_;
	GObject* _source_object_;
	GAsyncResult* _res_;
	GSimpleAsyncResult* _async_result;
	gchar** argv;
	gint argv_length1;
	GCancellable* cancellable;
	gchar* standard_output;
	gchar* standard_error;
	Block3Data* _data3_;
	gchar* _tmp0_;
	gchar* _tmp1_;
	gchar** _tmp2_;
	gint _tmp2__length1;
	gchar** _tmp3_;
	gint _tmp3__length1;
	gchar* _tmp4_;
	gchar* _tmp5_;
	GError * _inner_error_;
};

struct _BoxesPair {
	GTypeInstance parent_instance;
	volatile int ref_count;
	BoxesPairPrivate * priv;
	gpointer first;
	gpointer second;
};

struct _BoxesPairClass {
	GTypeClass parent_class;
	void (*finalize) (BoxesPair *self);
};

struct _BoxesPairPrivate {
	GType t1_type;
	GBoxedCopyFunc t1_dup_func;
	GDestroyNotify t1_destroy_func;
	GType t2_type;
	GBoxedCopyFunc t2_dup_func;
	GDestroyNotify t2_destroy_func;
};

struct _BoxesParamSpecPair {
	GParamSpec parent_instance;
};

struct _BoxesQuery {
	GObject parent_instance;
	BoxesQueryPrivate * priv;
};

struct _BoxesQueryClass {
	GObjectClass parent_class;
};

struct _BoxesQueryPrivate {
	gchar* query;
	GHashTable* params;
};

struct _BoxesActivityProgress {
	GObject parent_instance;
	BoxesActivityProgressPrivate * priv;
};

struct _BoxesActivityProgressClass {
	GObjectClass parent_class;
};

struct _BoxesActivityProgressPrivate {
	gdouble _progress;
	gchar* _info;
};

struct _Block4Data {
	int _ref_count_;
	BoxesActivityProgress* self;
	BoxesActivityProgress* child_progress;
	gdouble last_child_progress;
	gdouble scale;
};

typedef int (*BoxesLibarchiveFunction) (void* user_data);
struct _Block5Data {
	int _ref_count_;
	struct archive_entry* local_iterator;
	struct archive* archive;
};

struct _BoxesFdoAccountsIface {
	GTypeInterface parent_iface;
	void (*FindUserByName) (BoxesFdoAccounts* self, const gchar* name, GAsyncReadyCallback _callback_, gpointer _user_data_);
	gchar* (*FindUserByName_finish) (BoxesFdoAccounts* self, GAsyncResult* _res_, GError** error);
};

struct _BoxesFdoAccountsUserIface {
	GTypeInterface parent_iface;
	gboolean (*get_AutomaticLogin) (BoxesFdoAccountsUser* self);
	gboolean (*get_Locked) (BoxesFdoAccountsUser* self);
	gboolean (*get_SystemAccount) (BoxesFdoAccountsUser* self);
	gint32 (*get_AccountType) (BoxesFdoAccountsUser* self);
	gint32 (*get_PasswordMode) (BoxesFdoAccountsUser* self);
	gchar* (*get_Email) (BoxesFdoAccountsUser* self);
	gchar* (*get_HomeDirectory) (BoxesFdoAccountsUser* self);
	gchar* (*get_IconFile) (BoxesFdoAccountsUser* self);
	gchar* (*get_Language) (BoxesFdoAccountsUser* self);
	gchar* (*get_Location) (BoxesFdoAccountsUser* self);
	gchar* (*get_RealName) (BoxesFdoAccountsUser* self);
	gchar* (*get_Shell) (BoxesFdoAccountsUser* self);
	gchar* (*get_UserName) (BoxesFdoAccountsUser* self);
	gchar* (*get_XSession) (BoxesFdoAccountsUser* self);
};


static gpointer boxes_pair_parent_class = NULL;
static gpointer boxes_query_parent_class = NULL;
static gpointer boxes_activity_progress_parent_class = NULL;

GQuark boxes_error_quark (void);
gchar* boxes_get_pkgdata (const gchar* file_name);
gchar* boxes_get_pixmap (const gchar* file_name);
gchar* boxes_get_unattended (const gchar* file_name);
gchar* boxes_get_pkgdata_source (const gchar* file_name);
gchar* boxes_get_logos_db (void);
gchar* boxes_get_user_unattended (const gchar* file_name);
gchar* boxes_get_cache (const gchar* cache_name, const gchar* file_name);
gchar* boxes_get_user_pkgcache (const gchar* file_name);
void boxes_ensure_directory (const gchar* dir);
gchar* boxes_get_system_pkgcache (const gchar* file_name);
gchar* boxes_get_user_pkgconfig (const gchar* file_name);
gchar* boxes_get_user_pkgdata (const gchar* file_name);
gboolean boxes_has_user_pkgconfig_sources (void);
gchar* boxes_get_user_pkgconfig_source (const gchar* file_name);
gchar* boxes_get_utf8_basename (const gchar* path);
gchar* boxes_get_system_logo_cache (const gchar* file_name);
gchar* boxes_get_logo_cache (const gchar* file_name);
gchar* boxes_get_drivers_cache (const gchar* file_name);
gchar* boxes_get_system_drivers_cache (const gchar* file_name);
gchar* boxes_get_screenshot_filename (const gchar* prefix);
gboolean boxes_keyfile_save (GKeyFile* key_file, const gchar* file_name, gboolean overwrite);
static void boxes_output_stream_write_data_free (gpointer _data);
void boxes_output_stream_write (GOutputStream* stream, guint8* buffer, int buffer_length1, GAsyncReadyCallback _callback_, gpointer _user_data_);
void boxes_output_stream_write_finish (GAsyncResult* _res_, GError** error);
static gboolean boxes_output_stream_write_co (BoxesOutputStreamWriteData* _data_);
static void boxes_output_stream_write_ready (GObject* source_object, GAsyncResult* _res_, gpointer _user_data_);
gchar* boxes_replace_regex (const gchar* str, const gchar* old, const gchar* replacement);
gchar* boxes_make_filename (const gchar* name);
void boxes_delete_file (GFile* file, GError** error);
static void boxes_foreach_filename_from_dir_data_free (gpointer _data);
void boxes_foreach_filename_from_dir (GFile* dir, BoxesForeachFilenameFromDirFunc func, void* func_target, GAsyncReadyCallback _callback_, gpointer _user_data_);
void boxes_foreach_filename_from_dir_finish (GAsyncResult* _res_);
static gboolean boxes_foreach_filename_from_dir_co (BoxesForeachFilenameFromDirData* _data_);
static void boxes_foreach_filename_from_dir_ready (GObject* source_object, GAsyncResult* _res_, gpointer _user_data_);
static void _g_object_unref0_ (gpointer var);
static void _g_list_free__g_object_unref0_ (GList* self);
static void boxes_run_in_thread_data_free (gpointer _data);
void boxes_run_in_thread (BoxesRunInThreadFunc func, void* func_target, GDestroyNotify func_target_destroy_notify, GAsyncReadyCallback _callback_, gpointer _user_data_);
void boxes_run_in_thread_finish (GAsyncResult* _res_, GError** error);
static gboolean boxes_run_in_thread_co (BoxesRunInThreadData* _data_);
static Block2Data* block2_data_ref (Block2Data* _data2_);
static void block2_data_unref (void * _userdata_);
static gboolean _boxes_run_in_thread_co_gsource_func (gpointer self);
static void* __lambda5_ (Block2Data* _data2_);
static gpointer ___lambda5__gthread_func (gpointer self);
static void boxes_exec_data_free (gpointer _data);
void boxes_exec (gchar** argv, int argv_length1, GCancellable* cancellable, GAsyncReadyCallback _callback_, gpointer _user_data_);
void boxes_exec_finish (GAsyncResult* _res_, gchar** standard_output, gchar** standard_error, GError** error);
static gboolean boxes_exec_co (BoxesExecData* _data_);
static Block3Data* block3_data_ref (Block3Data* _data3_);
static void block3_data_unref (void * _userdata_);
static gchar** _vala_array_dup1 (gchar** self, int length);
static void __lambda6_ (Block3Data* _data3_, GError** error);
void boxes_exec_sync (gchar** argv, int argv_length1, gchar** standard_output, gchar** standard_error, GError** error);
static void ___lambda6__boxes_run_in_thread_func (gpointer self, GError** error);
static void boxes_exec_ready (GObject* source_object, GAsyncResult* _res_, gpointer _user_data_);
gint boxes_get_enum_value (const gchar* value_nick, GType enum_type);
static GEnumValue* _g_enum_value_dup (GEnumValue* self);
gpointer boxes_pair_ref (gpointer instance);
void boxes_pair_unref (gpointer instance);
GParamSpec* boxes_param_spec_pair (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
void boxes_value_set_pair (GValue* value, gpointer v_object);
void boxes_value_take_pair (GValue* value, gpointer v_object);
gpointer boxes_value_get_pair (const GValue* value);
GType boxes_pair_get_type (void) G_GNUC_CONST;
#define BOXES_PAIR_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), BOXES_TYPE_PAIR, BoxesPairPrivate))
enum  {
	BOXES_PAIR_DUMMY_PROPERTY
};
BoxesPair* boxes_pair_new (GType t1_type, GBoxedCopyFunc t1_dup_func, GDestroyNotify t1_destroy_func, GType t2_type, GBoxedCopyFunc t2_dup_func, GDestroyNotify t2_destroy_func, gconstpointer first, gconstpointer second);
BoxesPair* boxes_pair_construct (GType object_type, GType t1_type, GBoxedCopyFunc t1_dup_func, GDestroyNotify t1_destroy_func, GType t2_type, GBoxedCopyFunc t2_dup_func, GDestroyNotify t2_destroy_func, gconstpointer first, gconstpointer second);
static void boxes_pair_finalize (BoxesPair* obj);
GType boxes_query_get_type (void) G_GNUC_CONST;
#define BOXES_QUERY_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), BOXES_TYPE_QUERY, BoxesQueryPrivate))
enum  {
	BOXES_QUERY_DUMMY_PROPERTY
};
BoxesQuery* boxes_query_new (const gchar* query);
BoxesQuery* boxes_query_construct (GType object_type, const gchar* query);
void boxes_query_parse (BoxesQuery* self);
gchar* boxes_query_get (BoxesQuery* self, const gchar* key);
static GObject * boxes_query_constructor (GType type, guint n_construct_properties, GObjectConstructParam * construct_properties);
static void _g_free0_ (gpointer var);
static void boxes_query_finalize (GObject* obj);
GType boxes_activity_progress_get_type (void) G_GNUC_CONST;
#define BOXES_ACTIVITY_PROGRESS_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), BOXES_TYPE_ACTIVITY_PROGRESS, BoxesActivityProgressPrivate))
enum  {
	BOXES_ACTIVITY_PROGRESS_DUMMY_PROPERTY,
	BOXES_ACTIVITY_PROGRESS_PROGRESS,
	BOXES_ACTIVITY_PROGRESS_INFO
};
BoxesActivityProgress* boxes_activity_progress_add_child_activity (BoxesActivityProgress* self, gdouble scale);
static Block4Data* block4_data_ref (Block4Data* _data4_);
static void block4_data_unref (void * _userdata_);
BoxesActivityProgress* boxes_activity_progress_new (void);
BoxesActivityProgress* boxes_activity_progress_construct (GType object_type);
static void __lambda7_ (Block4Data* _data4_);
gdouble boxes_activity_progress_get_progress (BoxesActivityProgress* self);
void boxes_activity_progress_set_progress (BoxesActivityProgress* self, gdouble value);
static void ___lambda7__g_object_notify (GObject* _sender, GParamSpec* pspec, gpointer self);
const gchar* boxes_activity_progress_get_info (BoxesActivityProgress* self);
void boxes_activity_progress_set_info (BoxesActivityProgress* self, const gchar* value);
static void boxes_activity_progress_finalize (GObject* obj);
static void _vala_boxes_activity_progress_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec);
static void _vala_boxes_activity_progress_set_property (GObject * object, guint property_id, const GValue * value, GParamSpec * pspec);
gboolean boxes_is_set (const gchar* str);
gchar* boxes_yes_no (gboolean value);
gchar* boxes_indent (const gchar* space, const gchar* text);
void boxes_execute_libarchive_function (struct archive* archive, BoxesLibarchiveFunction function, void* function_target, guint num_retries, GError** error);
gboolean boxes_get_next_header (struct archive* archive, struct archive_entry** iterator, guint num_retries, GError** error);
static Block5Data* block5_data_ref (Block5Data* _data5_);
static void block5_data_unref (void * _userdata_);
static int ___lambda8_ (Block5Data* _data5_);
static int ____lambda8__boxes_libarchive_function (gpointer self);
gunichar boxes_strip_char (gunichar ch);
gchar* boxes_canonicalize_for_search (const gchar* str);
GType boxes_fdo_accounts_proxy_get_type (void) G_GNUC_CONST;
guint boxes_fdo_accounts_register_object (void* object, GDBusConnection* connection, const gchar* path, GError** error);
GType boxes_fdo_accounts_get_type (void) G_GNUC_CONST;
void boxes_fdo_accounts_FindUserByName (BoxesFdoAccounts* self, const gchar* name, GAsyncReadyCallback _callback_, gpointer _user_data_);
gchar* boxes_fdo_accounts_FindUserByName_finish (BoxesFdoAccounts* self, GAsyncResult* _res_, GError** error);
static void boxes_fdo_accounts_proxy_g_signal (GDBusProxy* proxy, const gchar* sender_name, const gchar* signal_name, GVariant* parameters);
static void _vala_g_async_ready_callback (GObject *source_object, GAsyncResult *res, void *user_data);
static void boxes_fdo_accounts_proxy_FindUserByName_async (BoxesFdoAccounts* self, const gchar* name, GAsyncReadyCallback _callback_, gpointer _user_data_);
static gchar* boxes_fdo_accounts_proxy_FindUserByName_finish (BoxesFdoAccounts* self, GAsyncResult* _res_, GError** error);
static void boxes_fdo_accounts_proxy_boxes_fdo_accounts_interface_init (BoxesFdoAccountsIface* iface);
static void _dbus_boxes_fdo_accounts_FindUserByName (BoxesFdoAccounts* self, GVariant* _parameters_, GDBusMethodInvocation* invocation);
static void _dbus_boxes_fdo_accounts_FindUserByName_ready (GObject * source_object, GAsyncResult * _res_, gpointer _user_data_);
static void boxes_fdo_accounts_dbus_interface_method_call (GDBusConnection* connection, const gchar* sender, const gchar* object_path, const gchar* interface_name, const gchar* method_name, GVariant* parameters, GDBusMethodInvocation* invocation, gpointer user_data);
static GVariant* boxes_fdo_accounts_dbus_interface_get_property (GDBusConnection* connection, const gchar* sender, const gchar* object_path, const gchar* interface_name, const gchar* property_name, GError** error, gpointer user_data);
static gboolean boxes_fdo_accounts_dbus_interface_set_property (GDBusConnection* connection, const gchar* sender, const gchar* object_path, const gchar* interface_name, const gchar* property_name, GVariant* value, GError** error, gpointer user_data);
static void _boxes_fdo_accounts_unregister_object (gpointer user_data);
GType boxes_fdo_accounts_user_get_type (void) G_GNUC_CONST;
GType boxes_fdo_accounts_user_proxy_get_type (void) G_GNUC_CONST;
guint boxes_fdo_accounts_user_register_object (void* object, GDBusConnection* connection, const gchar* path, GError** error);
gboolean boxes_fdo_accounts_user_get_AutomaticLogin (BoxesFdoAccountsUser* self);
gboolean boxes_fdo_accounts_user_get_Locked (BoxesFdoAccountsUser* self);
gboolean boxes_fdo_accounts_user_get_SystemAccount (BoxesFdoAccountsUser* self);
gint32 boxes_fdo_accounts_user_get_AccountType (BoxesFdoAccountsUser* self);
gint32 boxes_fdo_accounts_user_get_PasswordMode (BoxesFdoAccountsUser* self);
gchar* boxes_fdo_accounts_user_get_Email (BoxesFdoAccountsUser* self);
gchar* boxes_fdo_accounts_user_get_HomeDirectory (BoxesFdoAccountsUser* self);
gchar* boxes_fdo_accounts_user_get_IconFile (BoxesFdoAccountsUser* self);
gchar* boxes_fdo_accounts_user_get_Language (BoxesFdoAccountsUser* self);
gchar* boxes_fdo_accounts_user_get_Location (BoxesFdoAccountsUser* self);
gchar* boxes_fdo_accounts_user_get_RealName (BoxesFdoAccountsUser* self);
gchar* boxes_fdo_accounts_user_get_Shell (BoxesFdoAccountsUser* self);
gchar* boxes_fdo_accounts_user_get_UserName (BoxesFdoAccountsUser* self);
gchar* boxes_fdo_accounts_user_get_XSession (BoxesFdoAccountsUser* self);
static void boxes_fdo_accounts_user_proxy_g_signal (GDBusProxy* proxy, const gchar* sender_name, const gchar* signal_name, GVariant* parameters);
static gboolean boxes_fdo_accounts_user_dbus_proxy_get_AutomaticLogin (BoxesFdoAccountsUser* self);
static gboolean boxes_fdo_accounts_user_dbus_proxy_get_Locked (BoxesFdoAccountsUser* self);
static gboolean boxes_fdo_accounts_user_dbus_proxy_get_SystemAccount (BoxesFdoAccountsUser* self);
static gint32 boxes_fdo_accounts_user_dbus_proxy_get_AccountType (BoxesFdoAccountsUser* self);
static gint32 boxes_fdo_accounts_user_dbus_proxy_get_PasswordMode (BoxesFdoAccountsUser* self);
static gchar* boxes_fdo_accounts_user_dbus_proxy_get_Email (BoxesFdoAccountsUser* self);
static gchar* boxes_fdo_accounts_user_dbus_proxy_get_HomeDirectory (BoxesFdoAccountsUser* self);
static gchar* boxes_fdo_accounts_user_dbus_proxy_get_IconFile (BoxesFdoAccountsUser* self);
static gchar* boxes_fdo_accounts_user_dbus_proxy_get_Language (BoxesFdoAccountsUser* self);
static gchar* boxes_fdo_accounts_user_dbus_proxy_get_Location (BoxesFdoAccountsUser* self);
static gchar* boxes_fdo_accounts_user_dbus_proxy_get_RealName (BoxesFdoAccountsUser* self);
static gchar* boxes_fdo_accounts_user_dbus_proxy_get_Shell (BoxesFdoAccountsUser* self);
static gchar* boxes_fdo_accounts_user_dbus_proxy_get_UserName (BoxesFdoAccountsUser* self);
static gchar* boxes_fdo_accounts_user_dbus_proxy_get_XSession (BoxesFdoAccountsUser* self);
static void boxes_fdo_accounts_user_proxy_boxes_fdo_accounts_user_interface_init (BoxesFdoAccountsUserIface* iface);
static void boxes_fdo_accounts_user_dbus_interface_method_call (GDBusConnection* connection, const gchar* sender, const gchar* object_path, const gchar* interface_name, const gchar* method_name, GVariant* parameters, GDBusMethodInvocation* invocation, gpointer user_data);
static GVariant* boxes_fdo_accounts_user_dbus_interface_get_property (GDBusConnection* connection, const gchar* sender, const gchar* object_path, const gchar* interface_name, const gchar* property_name, GError** error, gpointer user_data);
static GVariant* _dbus_boxes_fdo_accounts_user_get_AutomaticLogin (BoxesFdoAccountsUser* self);
static GVariant* _dbus_boxes_fdo_accounts_user_get_Locked (BoxesFdoAccountsUser* self);
static GVariant* _dbus_boxes_fdo_accounts_user_get_SystemAccount (BoxesFdoAccountsUser* self);
static GVariant* _dbus_boxes_fdo_accounts_user_get_AccountType (BoxesFdoAccountsUser* self);
static GVariant* _dbus_boxes_fdo_accounts_user_get_PasswordMode (BoxesFdoAccountsUser* self);
static GVariant* _dbus_boxes_fdo_accounts_user_get_Email (BoxesFdoAccountsUser* self);
static GVariant* _dbus_boxes_fdo_accounts_user_get_HomeDirectory (BoxesFdoAccountsUser* self);
static GVariant* _dbus_boxes_fdo_accounts_user_get_IconFile (BoxesFdoAccountsUser* self);
static GVariant* _dbus_boxes_fdo_accounts_user_get_Language (BoxesFdoAccountsUser* self);
static GVariant* _dbus_boxes_fdo_accounts_user_get_Location (BoxesFdoAccountsUser* self);
static GVariant* _dbus_boxes_fdo_accounts_user_get_RealName (BoxesFdoAccountsUser* self);
static GVariant* _dbus_boxes_fdo_accounts_user_get_Shell (BoxesFdoAccountsUser* self);
static GVariant* _dbus_boxes_fdo_accounts_user_get_UserName (BoxesFdoAccountsUser* self);
static GVariant* _dbus_boxes_fdo_accounts_user_get_XSession (BoxesFdoAccountsUser* self);
static gboolean boxes_fdo_accounts_user_dbus_interface_set_property (GDBusConnection* connection, const gchar* sender, const gchar* object_path, const gchar* interface_name, const gchar* property_name, GVariant* value, GError** error, gpointer user_data);
static void _boxes_fdo_accounts_user_unregister_object (gpointer user_data);
static void _vala_array_destroy (gpointer array, gint array_length, GDestroyNotify destroy_func);
static void _vala_array_free (gpointer array, gint array_length, GDestroyNotify destroy_func);
static gint _vala_array_length (gpointer array);

static const GDBusArgInfo _boxes_fdo_accounts_dbus_arg_info_FindUserByName_name = {-1, "name", "s"};
static const GDBusArgInfo _boxes_fdo_accounts_dbus_arg_info_FindUserByName_result = {-1, "result", "s"};
static const GDBusArgInfo * const _boxes_fdo_accounts_dbus_arg_info_FindUserByName_in[] = {&_boxes_fdo_accounts_dbus_arg_info_FindUserByName_name, NULL};
static const GDBusArgInfo * const _boxes_fdo_accounts_dbus_arg_info_FindUserByName_out[] = {&_boxes_fdo_accounts_dbus_arg_info_FindUserByName_result, NULL};
static const GDBusMethodInfo _boxes_fdo_accounts_dbus_method_info_FindUserByName = {-1, "FindUserByName", (GDBusArgInfo **) (&_boxes_fdo_accounts_dbus_arg_info_FindUserByName_in), (GDBusArgInfo **) (&_boxes_fdo_accounts_dbus_arg_info_FindUserByName_out)};
static const GDBusMethodInfo * const _boxes_fdo_accounts_dbus_method_info[] = {&_boxes_fdo_accounts_dbus_method_info_FindUserByName, NULL};
static const GDBusSignalInfo * const _boxes_fdo_accounts_dbus_signal_info[] = {NULL};
static const GDBusPropertyInfo * const _boxes_fdo_accounts_dbus_property_info[] = {NULL};
static const GDBusInterfaceInfo _boxes_fdo_accounts_dbus_interface_info = {-1, "org.freedesktop.Accounts", (GDBusMethodInfo **) (&_boxes_fdo_accounts_dbus_method_info), (GDBusSignalInfo **) (&_boxes_fdo_accounts_dbus_signal_info), (GDBusPropertyInfo **) (&_boxes_fdo_accounts_dbus_property_info)};
static const GDBusInterfaceVTable _boxes_fdo_accounts_dbus_interface_vtable = {boxes_fdo_accounts_dbus_interface_method_call, boxes_fdo_accounts_dbus_interface_get_property, boxes_fdo_accounts_dbus_interface_set_property};
static const GDBusMethodInfo * const _boxes_fdo_accounts_user_dbus_method_info[] = {NULL};
static const GDBusSignalInfo * const _boxes_fdo_accounts_user_dbus_signal_info[] = {NULL};
static const GDBusPropertyInfo _boxes_fdo_accounts_user_dbus_property_info_AutomaticLogin = {-1, "AutomaticLogin", "b", G_DBUS_PROPERTY_INFO_FLAGS_READABLE};
static const GDBusPropertyInfo _boxes_fdo_accounts_user_dbus_property_info_Locked = {-1, "Locked", "b", G_DBUS_PROPERTY_INFO_FLAGS_READABLE};
static const GDBusPropertyInfo _boxes_fdo_accounts_user_dbus_property_info_SystemAccount = {-1, "SystemAccount", "b", G_DBUS_PROPERTY_INFO_FLAGS_READABLE};
static const GDBusPropertyInfo _boxes_fdo_accounts_user_dbus_property_info_AccountType = {-1, "AccountType", "i", G_DBUS_PROPERTY_INFO_FLAGS_READABLE};
static const GDBusPropertyInfo _boxes_fdo_accounts_user_dbus_property_info_PasswordMode = {-1, "PasswordMode", "i", G_DBUS_PROPERTY_INFO_FLAGS_READABLE};
static const GDBusPropertyInfo _boxes_fdo_accounts_user_dbus_property_info_Email = {-1, "Email", "s", G_DBUS_PROPERTY_INFO_FLAGS_READABLE};
static const GDBusPropertyInfo _boxes_fdo_accounts_user_dbus_property_info_HomeDirectory = {-1, "HomeDirectory", "s", G_DBUS_PROPERTY_INFO_FLAGS_READABLE};
static const GDBusPropertyInfo _boxes_fdo_accounts_user_dbus_property_info_IconFile = {-1, "IconFile", "s", G_DBUS_PROPERTY_INFO_FLAGS_READABLE};
static const GDBusPropertyInfo _boxes_fdo_accounts_user_dbus_property_info_Language = {-1, "Language", "s", G_DBUS_PROPERTY_INFO_FLAGS_READABLE};
static const GDBusPropertyInfo _boxes_fdo_accounts_user_dbus_property_info_Location = {-1, "Location", "s", G_DBUS_PROPERTY_INFO_FLAGS_READABLE};
static const GDBusPropertyInfo _boxes_fdo_accounts_user_dbus_property_info_RealName = {-1, "RealName", "s", G_DBUS_PROPERTY_INFO_FLAGS_READABLE};
static const GDBusPropertyInfo _boxes_fdo_accounts_user_dbus_property_info_Shell = {-1, "Shell", "s", G_DBUS_PROPERTY_INFO_FLAGS_READABLE};
static const GDBusPropertyInfo _boxes_fdo_accounts_user_dbus_property_info_UserName = {-1, "UserName", "s", G_DBUS_PROPERTY_INFO_FLAGS_READABLE};
static const GDBusPropertyInfo _boxes_fdo_accounts_user_dbus_property_info_XSession = {-1, "XSession", "s", G_DBUS_PROPERTY_INFO_FLAGS_READABLE};
static const GDBusPropertyInfo * const _boxes_fdo_accounts_user_dbus_property_info[] = {&_boxes_fdo_accounts_user_dbus_property_info_AutomaticLogin, &_boxes_fdo_accounts_user_dbus_property_info_Locked, &_boxes_fdo_accounts_user_dbus_property_info_SystemAccount, &_boxes_fdo_accounts_user_dbus_property_info_AccountType, &_boxes_fdo_accounts_user_dbus_property_info_PasswordMode, &_boxes_fdo_accounts_user_dbus_property_info_Email, &_boxes_fdo_accounts_user_dbus_property_info_HomeDirectory, &_boxes_fdo_accounts_user_dbus_property_info_IconFile, &_boxes_fdo_accounts_user_dbus_property_info_Language, &_boxes_fdo_accounts_user_dbus_property_info_Location, &_boxes_fdo_accounts_user_dbus_property_info_RealName, &_boxes_fdo_accounts_user_dbus_property_info_Shell, &_boxes_fdo_accounts_user_dbus_property_info_UserName, &_boxes_fdo_accounts_user_dbus_property_info_XSession, NULL};
static const GDBusInterfaceInfo _boxes_fdo_accounts_user_dbus_interface_info = {-1, "org.freedesktop.Accounts.User", (GDBusMethodInfo **) (&_boxes_fdo_accounts_user_dbus_method_info), (GDBusSignalInfo **) (&_boxes_fdo_accounts_user_dbus_signal_info), (GDBusPropertyInfo **) (&_boxes_fdo_accounts_user_dbus_property_info)};
static const GDBusInterfaceVTable _boxes_fdo_accounts_user_dbus_interface_vtable = {boxes_fdo_accounts_user_dbus_interface_method_call, boxes_fdo_accounts_user_dbus_interface_get_property, boxes_fdo_accounts_user_dbus_interface_set_property};

GQuark boxes_error_quark (void) {
	return g_quark_from_static_string ("boxes_error-quark");
}


gchar* boxes_get_pkgdata (const gchar* file_name) {
	gchar* result = NULL;
	const gchar* _tmp0_ = NULL;
	gchar* _tmp1_ = NULL;
#line 15 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_tmp0_ = file_name;
#line 15 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_tmp1_ = g_build_filename (DATADIR, PACKAGE_TARNAME, _tmp0_, NULL);
#line 15 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	result = _tmp1_;
#line 15 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	return result;
#line 561 "util.c"
}


gchar* boxes_get_pixmap (const gchar* file_name) {
	gchar* result = NULL;
	gchar* _tmp0_ = NULL;
	gchar* _tmp1_ = NULL;
	const gchar* _tmp2_ = NULL;
	gchar* _tmp3_ = NULL;
	gchar* _tmp4_ = NULL;
#line 19 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_tmp0_ = boxes_get_pkgdata (NULL);
#line 19 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_tmp1_ = _tmp0_;
#line 19 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_tmp2_ = file_name;
#line 19 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_tmp3_ = g_build_filename (_tmp1_, "pixmaps", _tmp2_, NULL);
#line 19 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_tmp4_ = _tmp3_;
#line 19 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_g_free0 (_tmp1_);
#line 19 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	result = _tmp4_;
#line 19 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	return result;
#line 588 "util.c"
}


gchar* boxes_get_unattended (const gchar* file_name) {
	gchar* result = NULL;
	gchar* dir = NULL;
	gchar* _tmp0_ = NULL;
	gchar* _tmp1_ = NULL;
	gchar* _tmp2_ = NULL;
	gchar* _tmp3_ = NULL;
	const gchar* _tmp4_ = NULL;
	gchar* _tmp5_ = NULL;
#line 23 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_tmp0_ = boxes_get_pkgdata (NULL);
#line 23 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_tmp1_ = _tmp0_;
#line 23 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_tmp2_ = g_build_filename (_tmp1_, "unattended", NULL);
#line 23 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_tmp3_ = _tmp2_;
#line 23 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_g_free0 (_tmp1_);
#line 23 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	dir = _tmp3_;
#line 25 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_tmp4_ = file_name;
#line 25 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_tmp5_ = g_build_filename (dir, _tmp4_, NULL);
#line 25 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	result = _tmp5_;
#line 25 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_g_free0 (dir);
#line 25 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	return result;
#line 623 "util.c"
}


gchar* boxes_get_pkgdata_source (const gchar* file_name) {
	gchar* result = NULL;
	gchar* _tmp0_ = NULL;
	gchar* _tmp1_ = NULL;
	const gchar* _tmp2_ = NULL;
	gchar* _tmp3_ = NULL;
	gchar* _tmp4_ = NULL;
#line 29 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_tmp0_ = boxes_get_pkgdata (NULL);
#line 29 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_tmp1_ = _tmp0_;
#line 29 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_tmp2_ = file_name;
#line 29 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_tmp3_ = g_build_filename (_tmp1_, "sources", _tmp2_, NULL);
#line 29 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_tmp4_ = _tmp3_;
#line 29 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_g_free0 (_tmp1_);
#line 29 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	result = _tmp4_;
#line 29 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	return result;
#line 650 "util.c"
}


gchar* boxes_get_logos_db (void) {
	gchar* result = NULL;
	gchar* _tmp0_ = NULL;
#line 33 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_tmp0_ = boxes_get_pkgdata ("gnome-boxes-logos-db.xml");
#line 33 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	result = _tmp0_;
#line 33 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	return result;
#line 663 "util.c"
}


gchar* boxes_get_user_unattended (const gchar* file_name) {
	gchar* result = NULL;
	const gchar* _tmp0_ = NULL;
	gchar* _tmp1_ = NULL;
#line 37 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_tmp0_ = file_name;
#line 37 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_tmp1_ = boxes_get_cache ("unattended", _tmp0_);
#line 37 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	result = _tmp1_;
#line 37 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	return result;
#line 679 "util.c"
}


gchar* boxes_get_user_pkgcache (const gchar* file_name) {
	gchar* result = NULL;
	gchar* dir = NULL;
	const gchar* _tmp0_ = NULL;
	gchar* _tmp1_ = NULL;
	const gchar* _tmp2_ = NULL;
	gchar* _tmp3_ = NULL;
#line 41 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_tmp0_ = g_get_user_cache_dir ();
#line 41 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_tmp1_ = g_build_filename (_tmp0_, PACKAGE_TARNAME, NULL);
#line 41 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	dir = _tmp1_;
#line 43 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	boxes_ensure_directory (dir);
#line 45 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_tmp2_ = file_name;
#line 45 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_tmp3_ = g_build_filename (dir, _tmp2_, NULL);
#line 45 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	result = _tmp3_;
#line 45 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_g_free0 (dir);
#line 45 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	return result;
#line 708 "util.c"
}


gchar* boxes_get_system_pkgcache (const gchar* file_name) {
	gchar* result = NULL;
	gchar* dir = NULL;
	gchar* _tmp0_ = NULL;
	const gchar* _tmp1_ = NULL;
	gboolean _tmp2_ = FALSE;
	const gchar* _tmp3_ = NULL;
	const gchar* _tmp4_ = NULL;
	gchar* _tmp5_ = NULL;
#line 49 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_tmp0_ = g_build_filename (CACHEDIR, PACKAGE_TARNAME, NULL);
#line 49 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	dir = _tmp0_;
#line 50 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_tmp1_ = dir;
#line 50 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_tmp2_ = g_file_test (_tmp1_, G_FILE_TEST_EXISTS);
#line 50 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	if (!_tmp2_) {
#line 51 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		result = NULL;
#line 51 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		_g_free0 (dir);
#line 51 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		return result;
#line 737 "util.c"
	}
#line 53 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_tmp3_ = dir;
#line 53 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_tmp4_ = file_name;
#line 53 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_tmp5_ = g_build_filename (_tmp3_, _tmp4_, NULL);
#line 53 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	result = _tmp5_;
#line 53 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_g_free0 (dir);
#line 53 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	return result;
#line 751 "util.c"
}


gchar* boxes_get_user_pkgconfig (const gchar* file_name) {
	gchar* result = NULL;
	gchar* dir = NULL;
	const gchar* _tmp0_ = NULL;
	gchar* _tmp1_ = NULL;
	const gchar* _tmp2_ = NULL;
	gchar* _tmp3_ = NULL;
#line 57 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_tmp0_ = g_get_user_config_dir ();
#line 57 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_tmp1_ = g_build_filename (_tmp0_, PACKAGE_TARNAME, NULL);
#line 57 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	dir = _tmp1_;
#line 59 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	boxes_ensure_directory (dir);
#line 61 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_tmp2_ = file_name;
#line 61 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_tmp3_ = g_build_filename (dir, _tmp2_, NULL);
#line 61 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	result = _tmp3_;
#line 61 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_g_free0 (dir);
#line 61 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	return result;
#line 780 "util.c"
}


gchar* boxes_get_user_pkgdata (const gchar* file_name) {
	gchar* result = NULL;
	gchar* dir = NULL;
	const gchar* _tmp0_ = NULL;
	gchar* _tmp1_ = NULL;
	const gchar* _tmp2_ = NULL;
	gchar* _tmp3_ = NULL;
#line 65 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_tmp0_ = g_get_user_data_dir ();
#line 65 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_tmp1_ = g_build_filename (_tmp0_, PACKAGE_TARNAME, NULL);
#line 65 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	dir = _tmp1_;
#line 67 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	boxes_ensure_directory (dir);
#line 69 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_tmp2_ = file_name;
#line 69 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_tmp3_ = g_build_filename (dir, _tmp2_, NULL);
#line 69 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	result = _tmp3_;
#line 69 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_g_free0 (dir);
#line 69 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	return result;
#line 809 "util.c"
}


gboolean boxes_has_user_pkgconfig_sources (void) {
	gboolean result = FALSE;
	gchar* _tmp0_ = NULL;
	gchar* _tmp1_ = NULL;
	gchar* _tmp2_ = NULL;
	gchar* _tmp3_ = NULL;
	gboolean _tmp4_ = FALSE;
	gboolean _tmp5_ = FALSE;
#line 73 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_tmp0_ = boxes_get_user_pkgconfig (NULL);
#line 73 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_tmp1_ = _tmp0_;
#line 73 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_tmp2_ = g_build_filename (_tmp1_, "sources", NULL);
#line 73 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_tmp3_ = _tmp2_;
#line 73 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_tmp4_ = g_file_test (_tmp3_, G_FILE_TEST_IS_DIR);
#line 73 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_tmp5_ = _tmp4_;
#line 73 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_g_free0 (_tmp3_);
#line 73 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_g_free0 (_tmp1_);
#line 73 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	result = _tmp5_;
#line 73 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	return result;
#line 841 "util.c"
}


gchar* boxes_get_user_pkgconfig_source (const gchar* file_name) {
	gchar* result = NULL;
	const gchar* _tmp0_ = NULL;
	gchar* _tmp1_ = NULL;
#line 77 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_tmp0_ = file_name;
#line 77 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_tmp1_ = boxes_get_cache ("sources", _tmp0_);
#line 77 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	result = _tmp1_;
#line 77 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	return result;
#line 857 "util.c"
}


gchar* boxes_get_utf8_basename (const gchar* path) {
	gchar* result = NULL;
	GFile* file = NULL;
	const gchar* _tmp0_ = NULL;
	GFile* _tmp1_ = NULL;
	gchar* name = NULL;
	gchar* _tmp2_ = NULL;
	GError * _inner_error_ = NULL;
#line 80 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	g_return_val_if_fail (path != NULL, NULL);
#line 81 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_tmp0_ = path;
#line 81 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_tmp1_ = g_file_new_for_path (_tmp0_);
#line 81 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	file = _tmp1_;
#line 82 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_tmp2_ = g_file_get_parse_name (file);
#line 82 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	name = _tmp2_;
#line 881 "util.c"
	{
		GFileInfo* info = NULL;
		GFileInfo* _tmp3_ = NULL;
		const gchar* _tmp4_ = NULL;
		gchar* _tmp5_ = NULL;
#line 84 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		_tmp3_ = g_file_query_info (file, G_FILE_ATTRIBUTE_STANDARD_DISPLAY_NAME, 0, NULL, &_inner_error_);
#line 84 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		info = _tmp3_;
#line 84 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 893 "util.c"
			goto __catch6_g_error;
		}
#line 85 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		_tmp4_ = g_file_info_get_display_name (info);
#line 85 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		_tmp5_ = g_strdup (_tmp4_);
#line 85 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		_g_free0 (name);
#line 85 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		name = _tmp5_;
#line 83 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		_g_object_unref0 (info);
#line 906 "util.c"
	}
	goto __finally6;
	__catch6_g_error:
	{
		GError* e = NULL;
#line 83 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		e = _inner_error_;
#line 83 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		_inner_error_ = NULL;
#line 83 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		_g_error_free0 (e);
#line 918 "util.c"
	}
	__finally6:
#line 83 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 83 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		_g_free0 (name);
#line 83 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		_g_object_unref0 (file);
#line 83 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 83 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		g_clear_error (&_inner_error_);
#line 83 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		return NULL;
#line 933 "util.c"
	}
#line 88 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	result = name;
#line 88 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_g_object_unref0 (file);
#line 88 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	return result;
#line 941 "util.c"
}


gchar* boxes_get_system_logo_cache (const gchar* file_name) {
	gchar* result = NULL;
	gchar* system_pkgcache = NULL;
	gchar* _tmp0_ = NULL;
	const gchar* _tmp1_ = NULL;
	gchar* dir = NULL;
	const gchar* _tmp2_ = NULL;
	gchar* _tmp3_ = NULL;
	const gchar* _tmp4_ = NULL;
	gboolean _tmp5_ = FALSE;
	const gchar* _tmp6_ = NULL;
	const gchar* _tmp7_ = NULL;
	gchar* _tmp8_ = NULL;
#line 92 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_tmp0_ = boxes_get_system_pkgcache (NULL);
#line 92 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	system_pkgcache = _tmp0_;
#line 93 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_tmp1_ = system_pkgcache;
#line 93 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	if (_tmp1_ == NULL) {
#line 94 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		result = NULL;
#line 94 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		_g_free0 (system_pkgcache);
#line 94 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		return result;
#line 972 "util.c"
	}
#line 96 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_tmp2_ = system_pkgcache;
#line 96 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_tmp3_ = g_build_filename (_tmp2_, "logos", NULL);
#line 96 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	dir = _tmp3_;
#line 97 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_tmp4_ = dir;
#line 97 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_tmp5_ = g_file_test (_tmp4_, G_FILE_TEST_EXISTS);
#line 97 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	if (!_tmp5_) {
#line 98 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		result = NULL;
#line 98 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		_g_free0 (dir);
#line 98 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		_g_free0 (system_pkgcache);
#line 98 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		return result;
#line 994 "util.c"
	}
#line 100 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_tmp6_ = dir;
#line 100 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_tmp7_ = file_name;
#line 100 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_tmp8_ = g_build_filename (_tmp6_, _tmp7_, NULL);
#line 100 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	result = _tmp8_;
#line 100 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_g_free0 (dir);
#line 100 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_g_free0 (system_pkgcache);
#line 100 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	return result;
#line 1010 "util.c"
}


gchar* boxes_get_logo_cache (const gchar* file_name) {
	gchar* result = NULL;
	const gchar* _tmp0_ = NULL;
	gchar* _tmp1_ = NULL;
#line 104 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_tmp0_ = file_name;
#line 104 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_tmp1_ = boxes_get_cache ("logos", _tmp0_);
#line 104 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	result = _tmp1_;
#line 104 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	return result;
#line 1026 "util.c"
}


gchar* boxes_get_drivers_cache (const gchar* file_name) {
	gchar* result = NULL;
	const gchar* _tmp0_ = NULL;
	gchar* _tmp1_ = NULL;
#line 108 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_tmp0_ = file_name;
#line 108 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_tmp1_ = boxes_get_cache ("drivers", _tmp0_);
#line 108 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	result = _tmp1_;
#line 108 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	return result;
#line 1042 "util.c"
}


gchar* boxes_get_cache (const gchar* cache_name, const gchar* file_name) {
	gchar* result = NULL;
	gchar* dir = NULL;
	gchar* _tmp0_ = NULL;
	gchar* _tmp1_ = NULL;
	const gchar* _tmp2_ = NULL;
	gchar* _tmp3_ = NULL;
	gchar* _tmp4_ = NULL;
	const gchar* _tmp5_ = NULL;
	gchar* _tmp6_ = NULL;
#line 111 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	g_return_val_if_fail (cache_name != NULL, NULL);
#line 112 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_tmp0_ = boxes_get_user_pkgcache (NULL);
#line 112 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_tmp1_ = _tmp0_;
#line 112 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_tmp2_ = cache_name;
#line 112 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_tmp3_ = g_build_filename (_tmp1_, _tmp2_, NULL);
#line 112 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_tmp4_ = _tmp3_;
#line 112 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_g_free0 (_tmp1_);
#line 112 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	dir = _tmp4_;
#line 114 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	boxes_ensure_directory (dir);
#line 116 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_tmp5_ = file_name;
#line 116 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_tmp6_ = g_build_filename (dir, _tmp5_, NULL);
#line 116 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	result = _tmp6_;
#line 116 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_g_free0 (dir);
#line 116 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	return result;
#line 1084 "util.c"
}


gchar* boxes_get_system_drivers_cache (const gchar* file_name) {
	gchar* result = NULL;
	gchar* system_pkgcache = NULL;
	gchar* _tmp0_ = NULL;
	const gchar* _tmp1_ = NULL;
	gchar* dir = NULL;
	gchar* _tmp2_ = NULL;
	gchar* _tmp3_ = NULL;
	gchar* _tmp4_ = NULL;
	gchar* _tmp5_ = NULL;
	const gchar* _tmp6_ = NULL;
	gboolean _tmp7_ = FALSE;
	const gchar* _tmp8_ = NULL;
	const gchar* _tmp9_ = NULL;
	gchar* _tmp10_ = NULL;
#line 120 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_tmp0_ = boxes_get_system_pkgcache (NULL);
#line 120 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	system_pkgcache = _tmp0_;
#line 121 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_tmp1_ = system_pkgcache;
#line 121 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	if (_tmp1_ == NULL) {
#line 122 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		result = NULL;
#line 122 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		_g_free0 (system_pkgcache);
#line 122 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		return result;
#line 1117 "util.c"
	}
#line 124 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_tmp2_ = boxes_get_system_pkgcache (NULL);
#line 124 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_tmp3_ = _tmp2_;
#line 124 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_tmp4_ = g_build_filename (_tmp3_, "drivers", NULL);
#line 124 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_tmp5_ = _tmp4_;
#line 124 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_g_free0 (_tmp3_);
#line 124 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	dir = _tmp5_;
#line 125 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_tmp6_ = dir;
#line 125 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_tmp7_ = g_file_test (_tmp6_, G_FILE_TEST_EXISTS);
#line 125 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	if (!_tmp7_) {
#line 126 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		result = NULL;
#line 126 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		_g_free0 (dir);
#line 126 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		_g_free0 (system_pkgcache);
#line 126 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		return result;
#line 1145 "util.c"
	}
#line 128 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_tmp8_ = dir;
#line 128 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_tmp9_ = file_name;
#line 128 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_tmp10_ = g_build_filename (_tmp8_, _tmp9_, NULL);
#line 128 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	result = _tmp10_;
#line 128 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_g_free0 (dir);
#line 128 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_g_free0 (system_pkgcache);
#line 128 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	return result;
#line 1161 "util.c"
}


gchar* boxes_get_screenshot_filename (const gchar* prefix) {
	gchar* result = NULL;
	const gchar* _tmp0_ = NULL;
	gchar* _tmp1_ = NULL;
	gchar* _tmp2_ = NULL;
	gchar* _tmp3_ = NULL;
	gchar* _tmp4_ = NULL;
#line 131 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	g_return_val_if_fail (prefix != NULL, NULL);
#line 132 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_tmp0_ = prefix;
#line 132 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_tmp1_ = g_strconcat (_tmp0_, "-screenshot.png", NULL);
#line 132 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_tmp2_ = _tmp1_;
#line 132 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_tmp3_ = boxes_get_user_pkgcache (_tmp2_);
#line 132 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_tmp4_ = _tmp3_;
#line 132 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_g_free0 (_tmp2_);
#line 132 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	result = _tmp4_;
#line 132 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	return result;
#line 1190 "util.c"
}


void boxes_ensure_directory (const gchar* dir) {
	GError * _inner_error_ = NULL;
#line 135 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	g_return_if_fail (dir != NULL);
#line 1198 "util.c"
	{
		GFile* file = NULL;
		const gchar* _tmp0_ = NULL;
		GFile* _tmp1_ = NULL;
		GFile* _tmp2_ = NULL;
#line 137 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		_tmp0_ = dir;
#line 137 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		_tmp1_ = g_file_new_for_path (_tmp0_);
#line 137 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		file = _tmp1_;
#line 138 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		_tmp2_ = file;
#line 138 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		g_file_make_directory_with_parents (_tmp2_, NULL, &_inner_error_);
#line 138 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 138 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
			_g_object_unref0 (file);
#line 138 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
			if (g_error_matches (_inner_error_, G_IO_ERROR, G_IO_ERROR_EXISTS)) {
#line 1220 "util.c"
				goto __catch7_g_io_error_exists;
			}
			goto __catch7_g_error;
		}
#line 136 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		_g_object_unref0 (file);
#line 1227 "util.c"
	}
	goto __finally7;
	__catch7_g_io_error_exists:
	{
		GError* _error_ = NULL;
#line 136 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		_error_ = _inner_error_;
#line 136 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		_inner_error_ = NULL;
#line 136 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		_g_error_free0 (_error_);
#line 1239 "util.c"
	}
	goto __finally7;
	__catch7_g_error:
	{
		GError* _error_ = NULL;
		GError* _tmp3_ = NULL;
		const gchar* _tmp4_ = NULL;
#line 136 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		_error_ = _inner_error_;
#line 136 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		_inner_error_ = NULL;
#line 141 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		_tmp3_ = _error_;
#line 141 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		_tmp4_ = _tmp3_->message;
#line 141 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		g_warning ("util.vala:141: %s", _tmp4_);
#line 136 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		_g_error_free0 (_error_);
#line 1259 "util.c"
	}
	__finally7:
#line 136 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 136 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 136 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		g_clear_error (&_inner_error_);
#line 136 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		return;
#line 1270 "util.c"
	}
}


gboolean boxes_keyfile_save (GKeyFile* key_file, const gchar* file_name, gboolean overwrite) {
	gboolean result = FALSE;
	GError * _inner_error_ = NULL;
#line 145 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	g_return_val_if_fail (key_file != NULL, FALSE);
#line 145 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	g_return_val_if_fail (file_name != NULL, FALSE);
#line 1282 "util.c"
	{
		gboolean _tmp0_ = FALSE;
		gboolean _tmp1_ = FALSE;
		gboolean _tmp4_ = FALSE;
		const gchar* _tmp5_ = NULL;
		GKeyFile* _tmp6_ = NULL;
		gchar* _tmp7_ = NULL;
		gchar* _tmp8_ = NULL;
		gboolean _tmp9_ = FALSE;
		gboolean _tmp10_ = FALSE;
#line 147 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		_tmp1_ = overwrite;
#line 147 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		if (!_tmp1_) {
#line 1297 "util.c"
			const gchar* _tmp2_ = NULL;
			gboolean _tmp3_ = FALSE;
#line 147 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
			_tmp2_ = file_name;
#line 147 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
			_tmp3_ = g_file_test (_tmp2_, G_FILE_TEST_EXISTS);
#line 147 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
			_tmp0_ = _tmp3_;
#line 1306 "util.c"
		} else {
#line 147 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
			_tmp0_ = FALSE;
#line 1310 "util.c"
		}
#line 147 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		if (_tmp0_) {
#line 148 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
			result = FALSE;
#line 148 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
			return result;
#line 1318 "util.c"
		}
#line 150 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		_tmp5_ = file_name;
#line 150 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		_tmp6_ = key_file;
#line 150 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		_tmp7_ = g_key_file_to_data (_tmp6_, NULL, NULL);
#line 150 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		_tmp8_ = _tmp7_;
#line 150 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		_tmp9_ = g_file_set_contents (_tmp5_, _tmp8_, (gssize) (-1), &_inner_error_);
#line 150 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		_tmp10_ = _tmp9_;
#line 150 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		_g_free0 (_tmp8_);
#line 150 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		_tmp4_ = _tmp10_;
#line 150 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1338 "util.c"
			goto __catch8_g_error;
		}
#line 150 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		result = _tmp4_;
#line 150 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		return result;
#line 1345 "util.c"
	}
	goto __finally8;
	__catch8_g_error:
	{
		GError* _error_ = NULL;
		GError* _tmp11_ = NULL;
		const gchar* _tmp12_ = NULL;
#line 146 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		_error_ = _inner_error_;
#line 146 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		_inner_error_ = NULL;
#line 152 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		_tmp11_ = _error_;
#line 152 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		_tmp12_ = _tmp11_->message;
#line 152 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		g_warning ("util.vala:152: %s", _tmp12_);
#line 153 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		result = FALSE;
#line 153 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		_g_error_free0 (_error_);
#line 153 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		return result;
#line 1369 "util.c"
	}
	__finally8:
#line 146 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 146 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	g_clear_error (&_inner_error_);
#line 146 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	return FALSE;
#line 1378 "util.c"
}


static void boxes_output_stream_write_data_free (gpointer _data) {
	BoxesOutputStreamWriteData* _data_;
	_data_ = _data;
	_g_object_unref0 (_data_->stream);
	g_slice_free (BoxesOutputStreamWriteData, _data_);
}


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


void boxes_output_stream_write (GOutputStream* stream, guint8* buffer, int buffer_length1, GAsyncReadyCallback _callback_, gpointer _user_data_) {
	BoxesOutputStreamWriteData* _data_;
	GOutputStream* _tmp0_ = NULL;
	GOutputStream* _tmp1_ = NULL;
	guint8* _tmp2_ = NULL;
	gint _tmp2__length1 = 0;
	_data_ = g_slice_new0 (BoxesOutputStreamWriteData);
	_data_->_async_result = g_simple_async_result_new (NULL, _callback_, _user_data_, boxes_output_stream_write);
	g_simple_async_result_set_op_res_gpointer (_data_->_async_result, _data_, boxes_output_stream_write_data_free);
	_tmp0_ = stream;
	_tmp1_ = _g_object_ref0 (_tmp0_);
	_g_object_unref0 (_data_->stream);
	_data_->stream = _tmp1_;
	_tmp2_ = buffer;
	_tmp2__length1 = buffer_length1;
	_data_->buffer = _tmp2_;
	_data_->buffer_length1 = _tmp2__length1;
	boxes_output_stream_write_co (_data_);
}


void boxes_output_stream_write_finish (GAsyncResult* _res_, GError** error) {
	BoxesOutputStreamWriteData* _data_;
	if (g_simple_async_result_propagate_error (G_SIMPLE_ASYNC_RESULT (_res_), error)) {
		return;
	}
	_data_ = g_simple_async_result_get_op_res_gpointer (G_SIMPLE_ASYNC_RESULT (_res_));
}


static void boxes_output_stream_write_ready (GObject* source_object, GAsyncResult* _res_, gpointer _user_data_) {
	BoxesOutputStreamWriteData* _data_;
#line 162 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_data_ = _user_data_;
#line 162 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_data_->_source_object_ = source_object;
#line 162 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_data_->_res_ = _res_;
#line 162 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	boxes_output_stream_write_co (_data_);
#line 1435 "util.c"
}


static gboolean boxes_output_stream_write_co (BoxesOutputStreamWriteData* _data_) {
#line 157 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	switch (_data_->_state_) {
#line 157 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		case 0:
#line 1444 "util.c"
		goto _state_0;
#line 157 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		case 1:
#line 1448 "util.c"
		goto _state_1;
		default:
#line 157 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		g_assert_not_reached ();
#line 1453 "util.c"
	}
	_state_0:
#line 158 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_data_->_tmp0_ = NULL;
#line 158 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_data_->_tmp0__length1 = 0;
#line 158 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_data_->_tmp0_ = _data_->buffer;
#line 158 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_data_->_tmp0__length1 = _data_->buffer_length1;
#line 158 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_data_->length = _data_->_tmp0__length1;
#line 159 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_data_->i = (gssize) 0;
#line 161 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	while (TRUE) {
#line 161 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		_data_->_tmp1_ = 0L;
#line 161 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		_data_->_tmp1_ = _data_->i;
#line 161 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		_data_->_tmp2_ = 0;
#line 161 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		_data_->_tmp2_ = _data_->length;
#line 161 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		if (!(_data_->_tmp1_ < ((gssize) _data_->_tmp2_))) {
#line 161 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
			break;
#line 1482 "util.c"
		}
#line 162 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		_data_->_tmp4_ = NULL;
#line 162 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		_data_->_tmp4_ = _data_->stream;
#line 162 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		_data_->_tmp5_ = NULL;
#line 162 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		_data_->_tmp5__length1 = 0;
#line 162 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		_data_->_tmp5_ = _data_->buffer;
#line 162 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		_data_->_tmp5__length1 = _data_->buffer_length1;
#line 162 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		_data_->_tmp6_ = 0L;
#line 162 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		_data_->_tmp6_ = _data_->i;
#line 162 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		_data_->_tmp7_ = 0;
#line 162 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		_data_->_tmp7_ = _data_->length;
#line 162 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		_data_->_state_ = 1;
#line 162 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		g_output_stream_write_async (_data_->_tmp4_, _data_->_tmp5_ + ((gint) _data_->_tmp6_), (gsize) (_data_->_tmp7_ - ((gint) _data_->_tmp6_)), G_PRIORITY_DEFAULT, NULL, boxes_output_stream_write_ready, _data_);
#line 162 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		return FALSE;
#line 1510 "util.c"
		_state_1:
#line 162 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		_data_->_tmp8_ = 0L;
#line 162 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		_data_->_tmp8_ = g_output_stream_write_finish (_data_->_tmp4_, _data_->_res_, &_data_->_inner_error_);
#line 162 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		_data_->_tmp3_ = _data_->_tmp8_;
#line 162 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		if (G_UNLIKELY (_data_->_inner_error_ != NULL)) {
#line 162 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
			if (_data_->_inner_error_->domain == G_IO_ERROR) {
#line 162 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
				g_simple_async_result_set_from_error (_data_->_async_result, _data_->_inner_error_);
#line 162 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
				g_error_free (_data_->_inner_error_);
#line 162 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
				if (_data_->_state_ == 0) {
#line 162 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
					g_simple_async_result_complete_in_idle (_data_->_async_result);
#line 1530 "util.c"
				} else {
#line 162 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
					g_simple_async_result_complete (_data_->_async_result);
#line 1534 "util.c"
				}
#line 162 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
				g_object_unref (_data_->_async_result);
#line 162 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
				return FALSE;
#line 1540 "util.c"
			} else {
#line 162 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
				g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _data_->_inner_error_->message, g_quark_to_string (_data_->_inner_error_->domain), _data_->_inner_error_->code);
#line 162 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
				g_clear_error (&_data_->_inner_error_);
#line 162 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
				return FALSE;
#line 1548 "util.c"
			}
		}
#line 162 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		_data_->_tmp9_ = 0L;
#line 162 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		_data_->_tmp9_ = _data_->i;
#line 162 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		_data_->i = _data_->_tmp9_ + _data_->_tmp3_;
#line 1557 "util.c"
	}
#line 157 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	if (_data_->_state_ == 0) {
#line 157 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		g_simple_async_result_complete_in_idle (_data_->_async_result);
#line 1563 "util.c"
	} else {
#line 157 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		g_simple_async_result_complete (_data_->_async_result);
#line 1567 "util.c"
	}
#line 157 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	g_object_unref (_data_->_async_result);
#line 157 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	return FALSE;
#line 1573 "util.c"
}


gchar* boxes_replace_regex (const gchar* str, const gchar* old, const gchar* replacement) {
	gchar* result = NULL;
	GError * _inner_error_ = NULL;
#line 165 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	g_return_val_if_fail (str != NULL, NULL);
#line 165 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	g_return_val_if_fail (old != NULL, NULL);
#line 165 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	g_return_val_if_fail (replacement != NULL, NULL);
#line 1586 "util.c"
	{
		GRegex* regex = NULL;
		const gchar* _tmp0_ = NULL;
		GRegex* _tmp1_ = NULL;
		gchar* _tmp2_ = NULL;
		GRegex* _tmp3_ = NULL;
		const gchar* _tmp4_ = NULL;
		const gchar* _tmp5_ = NULL;
		gchar* _tmp6_ = NULL;
		gchar* _tmp7_ = NULL;
#line 167 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		_tmp0_ = old;
#line 167 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		_tmp1_ = g_regex_new (_tmp0_, 0, 0, &_inner_error_);
#line 167 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		regex = _tmp1_;
#line 167 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 167 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
			if (_inner_error_->domain == G_REGEX_ERROR) {
#line 1607 "util.c"
				goto __catch9_g_regex_error;
			}
#line 167 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
			g_critical ("file %s: line %d: unexpected error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 167 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
			g_clear_error (&_inner_error_);
#line 167 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
			return NULL;
#line 1616 "util.c"
		}
#line 168 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		_tmp3_ = regex;
#line 168 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		_tmp4_ = str;
#line 168 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		_tmp5_ = replacement;
#line 168 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		_tmp6_ = g_regex_replace_literal (_tmp3_, _tmp4_, (gssize) (-1), 0, _tmp5_, 0, &_inner_error_);
#line 168 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		_tmp2_ = _tmp6_;
#line 168 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 168 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
			_g_regex_unref0 (regex);
#line 168 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
			if (_inner_error_->domain == G_REGEX_ERROR) {
#line 1634 "util.c"
				goto __catch9_g_regex_error;
			}
#line 168 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
			_g_regex_unref0 (regex);
#line 168 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
			g_critical ("file %s: line %d: unexpected error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 168 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
			g_clear_error (&_inner_error_);
#line 168 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
			return NULL;
#line 1645 "util.c"
		}
#line 168 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		_tmp7_ = _tmp2_;
#line 168 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		_tmp2_ = NULL;
#line 168 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		result = _tmp7_;
#line 168 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		_g_free0 (_tmp2_);
#line 168 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		_g_regex_unref0 (regex);
#line 168 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		return result;
#line 1659 "util.c"
	}
	goto __finally9;
	__catch9_g_regex_error:
	{
		GError* _error_ = NULL;
		GError* _tmp8_ = NULL;
		const gchar* _tmp9_ = NULL;
		const gchar* _tmp10_ = NULL;
		gchar* _tmp11_ = NULL;
#line 166 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		_error_ = _inner_error_;
#line 166 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		_inner_error_ = NULL;
#line 170 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		_tmp8_ = _error_;
#line 170 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		_tmp9_ = _tmp8_->message;
#line 170 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		g_critical ("util.vala:170: %s", _tmp9_);
#line 171 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		_tmp10_ = str;
#line 171 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		_tmp11_ = g_strdup (_tmp10_);
#line 171 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		result = _tmp11_;
#line 171 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		_g_error_free0 (_error_);
#line 171 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		return result;
#line 1689 "util.c"
	}
	__finally9:
#line 166 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 166 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	g_clear_error (&_inner_error_);
#line 166 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	return NULL;
#line 1698 "util.c"
}


gchar* boxes_make_filename (const gchar* name) {
	gchar* result = NULL;
	gchar* filename = NULL;
	const gchar* _tmp0_ = NULL;
	gchar* _tmp1_ = NULL;
	gchar* tryname = NULL;
	const gchar* _tmp2_ = NULL;
	gchar* _tmp3_ = NULL;
#line 175 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	g_return_val_if_fail (name != NULL, NULL);
#line 176 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_tmp0_ = name;
#line 176 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_tmp1_ = boxes_replace_regex (_tmp0_, "[\\\\/:()<>|?*]", "_");
#line 176 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	filename = _tmp1_;
#line 178 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_tmp2_ = filename;
#line 178 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_tmp3_ = g_strdup (_tmp2_);
#line 178 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	tryname = _tmp3_;
#line 1724 "util.c"
	{
		gint i = 0;
#line 179 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		i = 0;
#line 1729 "util.c"
		{
			gboolean _tmp4_ = FALSE;
#line 179 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
			_tmp4_ = TRUE;
#line 179 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
			while (TRUE) {
#line 1736 "util.c"
				const gchar* _tmp6_ = NULL;
				gboolean _tmp7_ = FALSE;
				const gchar* _tmp8_ = NULL;
				gint _tmp9_ = 0;
				gchar* _tmp10_ = NULL;
#line 179 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
				if (!_tmp4_) {
#line 1744 "util.c"
					gint _tmp5_ = 0;
#line 179 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
					_tmp5_ = i;
#line 179 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
					i = _tmp5_ + 1;
#line 1750 "util.c"
				}
#line 179 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
				_tmp4_ = FALSE;
#line 179 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
				_tmp6_ = tryname;
#line 179 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
				_tmp7_ = g_file_test (_tmp6_, G_FILE_TEST_EXISTS);
#line 179 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
				if (!_tmp7_) {
#line 179 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
					break;
#line 1762 "util.c"
				}
#line 180 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
				_tmp8_ = filename;
#line 180 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
				_tmp9_ = i;
#line 180 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
				_tmp10_ = g_strdup_printf ("%s-%d", _tmp8_, _tmp9_);
#line 180 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
				_g_free0 (tryname);
#line 180 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
				tryname = _tmp10_;
#line 1774 "util.c"
			}
		}
	}
#line 183 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	result = tryname;
#line 183 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_g_free0 (filename);
#line 183 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	return result;
#line 1784 "util.c"
}


void boxes_delete_file (GFile* file, GError** error) {
	GError * _inner_error_ = NULL;
#line 186 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	g_return_if_fail (file != NULL);
#line 1792 "util.c"
	{
		GFile* _tmp0_ = NULL;
		gchar* _tmp1_ = NULL;
		gchar* _tmp2_ = NULL;
		GFile* _tmp3_ = NULL;
		GFile* _tmp4_ = NULL;
		gchar* _tmp5_ = NULL;
		gchar* _tmp6_ = NULL;
#line 188 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		_tmp0_ = file;
#line 188 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		_tmp1_ = g_file_get_path (_tmp0_);
#line 188 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		_tmp2_ = _tmp1_;
#line 188 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		g_debug ("util.vala:188: Removing '%s'..", _tmp2_);
#line 188 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		_g_free0 (_tmp2_);
#line 189 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		_tmp3_ = file;
#line 189 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		g_file_delete (_tmp3_, NULL, &_inner_error_);
#line 189 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 189 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
			if (g_error_matches (_inner_error_, G_IO_ERROR, G_IO_ERROR_NOT_FOUND)) {
#line 1819 "util.c"
				goto __catch10_g_io_error_not_found;
			}
			goto __finally10;
		}
#line 190 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		_tmp4_ = file;
#line 190 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		_tmp5_ = g_file_get_path (_tmp4_);
#line 190 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		_tmp6_ = _tmp5_;
#line 190 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		g_debug ("util.vala:190: Removed '%s'.", _tmp6_);
#line 190 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		_g_free0 (_tmp6_);
#line 1834 "util.c"
	}
	goto __finally10;
	__catch10_g_io_error_not_found:
	{
		GError* e = NULL;
		GFile* _tmp7_ = NULL;
		gchar* _tmp8_ = NULL;
		gchar* _tmp9_ = NULL;
#line 187 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		e = _inner_error_;
#line 187 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		_inner_error_ = NULL;
#line 192 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		_tmp7_ = file;
#line 192 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		_tmp8_ = g_file_get_path (_tmp7_);
#line 192 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		_tmp9_ = _tmp8_;
#line 192 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		g_debug ("util.vala:192: File '%s' was already deleted", _tmp9_);
#line 192 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		_g_free0 (_tmp9_);
#line 187 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		_g_error_free0 (e);
#line 1859 "util.c"
	}
	__finally10:
#line 187 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 187 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		g_propagate_error (error, _inner_error_);
#line 187 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		return;
#line 1868 "util.c"
	}
}


static void boxes_foreach_filename_from_dir_data_free (gpointer _data) {
	BoxesForeachFilenameFromDirData* _data_;
	_data_ = _data;
	_g_object_unref0 (_data_->dir);
	g_slice_free (BoxesForeachFilenameFromDirData, _data_);
}


void boxes_foreach_filename_from_dir (GFile* dir, BoxesForeachFilenameFromDirFunc func, void* func_target, GAsyncReadyCallback _callback_, gpointer _user_data_) {
	BoxesForeachFilenameFromDirData* _data_;
	GFile* _tmp0_ = NULL;
	GFile* _tmp1_ = NULL;
	BoxesForeachFilenameFromDirFunc _tmp2_ = NULL;
	void* _tmp2__target = NULL;
	_data_ = g_slice_new0 (BoxesForeachFilenameFromDirData);
	_data_->_async_result = g_simple_async_result_new (NULL, _callback_, _user_data_, boxes_foreach_filename_from_dir);
	g_simple_async_result_set_op_res_gpointer (_data_->_async_result, _data_, boxes_foreach_filename_from_dir_data_free);
	_tmp0_ = dir;
	_tmp1_ = _g_object_ref0 (_tmp0_);
	_g_object_unref0 (_data_->dir);
	_data_->dir = _tmp1_;
	_tmp2_ = func;
	_tmp2__target = func_target;
	_data_->func = _tmp2_;
	_data_->func_target = _tmp2__target;
	boxes_foreach_filename_from_dir_co (_data_);
}


void boxes_foreach_filename_from_dir_finish (GAsyncResult* _res_) {
	BoxesForeachFilenameFromDirData* _data_;
	_data_ = g_simple_async_result_get_op_res_gpointer (G_SIMPLE_ASYNC_RESULT (_res_));
}


static void boxes_foreach_filename_from_dir_ready (GObject* source_object, GAsyncResult* _res_, gpointer _user_data_) {
	BoxesForeachFilenameFromDirData* _data_;
#line 200 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_data_ = _user_data_;
#line 200 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_data_->_source_object_ = source_object;
#line 200 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_data_->_res_ = _res_;
#line 200 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	boxes_foreach_filename_from_dir_co (_data_);
#line 1918 "util.c"
}


static void _g_object_unref0_ (gpointer var) {
#line 204 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	(var == NULL) ? NULL : (var = (g_object_unref (var), NULL));
#line 1925 "util.c"
}


static void _g_list_free__g_object_unref0_ (GList* self) {
#line 204 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	g_list_foreach (self, (GFunc) _g_object_unref0_, NULL);
#line 204 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	g_list_free (self);
#line 1934 "util.c"
}


static gboolean boxes_foreach_filename_from_dir_co (BoxesForeachFilenameFromDirData* _data_) {
#line 198 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	switch (_data_->_state_) {
#line 198 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		case 0:
#line 1943 "util.c"
		goto _state_0;
#line 198 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		case 1:
#line 1947 "util.c"
		goto _state_1;
#line 198 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		case 2:
#line 1951 "util.c"
		goto _state_2;
		default:
#line 198 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		g_assert_not_reached ();
#line 1956 "util.c"
	}
	_state_0:
	{
#line 200 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		_data_->_tmp0_ = NULL;
#line 200 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		_data_->_tmp0_ = _data_->dir;
#line 200 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		_data_->_state_ = 1;
#line 200 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		g_file_enumerate_children_async (_data_->_tmp0_, G_FILE_ATTRIBUTE_STANDARD_NAME, 0, G_PRIORITY_DEFAULT, NULL, boxes_foreach_filename_from_dir_ready, _data_);
#line 200 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		return FALSE;
#line 1970 "util.c"
		_state_1:
#line 200 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		_data_->_tmp1_ = NULL;
#line 200 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		_data_->_tmp1_ = g_file_enumerate_children_finish (_data_->_tmp0_, _data_->_res_, &_data_->_inner_error_);
#line 200 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		_data_->enumerator = _data_->_tmp1_;
#line 200 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		if (G_UNLIKELY (_data_->_inner_error_ != NULL)) {
#line 1980 "util.c"
			goto __catch11_g_error;
		}
#line 201 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		while (TRUE) {
#line 202 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
			_data_->_tmp2_ = NULL;
#line 202 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
			_data_->_tmp2_ = _data_->enumerator;
#line 202 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
			_data_->_state_ = 2;
#line 202 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
			g_file_enumerator_next_files_async (_data_->_tmp2_, 10, G_PRIORITY_DEFAULT, NULL, boxes_foreach_filename_from_dir_ready, _data_);
#line 202 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
			return FALSE;
#line 1995 "util.c"
			_state_2:
#line 202 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
			_data_->_tmp3_ = NULL;
#line 202 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
			_data_->_tmp3_ = g_file_enumerator_next_files_finish (_data_->_tmp2_, _data_->_res_, &_data_->_inner_error_);
#line 202 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
			_data_->files = _data_->_tmp3_;
#line 202 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
			if (G_UNLIKELY (_data_->_inner_error_ != NULL)) {
#line 202 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
				_g_object_unref0 (_data_->enumerator);
#line 2007 "util.c"
				goto __catch11_g_error;
			}
#line 203 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
			_data_->_tmp4_ = NULL;
#line 203 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
			_data_->_tmp4_ = _data_->files;
#line 203 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
			if (_data_->_tmp4_ == NULL) {
#line 204 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
				__g_list_free__g_object_unref0_0 (_data_->files);
#line 204 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
				break;
#line 2020 "util.c"
			}
#line 206 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
			_data_->_tmp5_ = NULL;
#line 206 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
			_data_->_tmp5_ = _data_->files;
#line 2026 "util.c"
			{
#line 206 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
				_data_->file_collection = _data_->_tmp5_;
#line 206 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
				for (_data_->file_it = _data_->file_collection; _data_->file_it != NULL; _data_->file_it = _data_->file_it->next) {
#line 206 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
					_data_->_tmp6_ = NULL;
#line 206 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
					_data_->_tmp6_ = _g_object_ref0 ((GFileInfo*) _data_->file_it->data);
#line 206 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
					_data_->file = _data_->_tmp6_;
#line 2038 "util.c"
					{
#line 207 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
						_data_->_tmp8_ = NULL;
#line 207 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
						_data_->_tmp8__target = NULL;
#line 207 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
						_data_->_tmp8_ = _data_->func;
#line 207 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
						_data_->_tmp8__target = _data_->func_target;
#line 207 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
						_data_->_tmp9_ = NULL;
#line 207 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
						_data_->_tmp9_ = _data_->file;
#line 207 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
						_data_->_tmp10_ = NULL;
#line 207 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
						_data_->_tmp10_ = g_file_info_get_name (_data_->_tmp9_);
#line 207 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
						_data_->_tmp11_ = FALSE;
#line 207 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
						_data_->_tmp11_ = _data_->_tmp8_ (_data_->_tmp10_, _data_->_tmp8__target, &_data_->_inner_error_);
#line 207 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
						_data_->_tmp7_ = _data_->_tmp11_;
#line 207 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
						if (G_UNLIKELY (_data_->_inner_error_ != NULL)) {
#line 207 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
							_g_object_unref0 (_data_->file);
#line 207 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
							__g_list_free__g_object_unref0_0 (_data_->files);
#line 207 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
							_g_object_unref0 (_data_->enumerator);
#line 2070 "util.c"
							goto __catch11_g_error;
						}
#line 207 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
						if (_data_->_tmp7_) {
#line 208 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
							_g_object_unref0 (_data_->file);
#line 208 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
							break;
#line 2079 "util.c"
						}
#line 206 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
						_g_object_unref0 (_data_->file);
#line 2083 "util.c"
					}
				}
			}
#line 201 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
			__g_list_free__g_object_unref0_0 (_data_->files);
#line 2089 "util.c"
		}
#line 199 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		_g_object_unref0 (_data_->enumerator);
#line 2093 "util.c"
	}
	goto __finally11;
	__catch11_g_error:
	{
#line 199 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		_data_->_error_ = _data_->_inner_error_;
#line 199 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		_data_->_inner_error_ = NULL;
#line 212 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		_data_->_tmp12_ = NULL;
#line 212 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		_data_->_tmp12_ = _data_->_error_;
#line 212 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		_data_->_tmp13_ = NULL;
#line 212 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		_data_->_tmp13_ = _data_->_tmp12_->message;
#line 212 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		g_warning ("util.vala:212: %s", _data_->_tmp13_);
#line 199 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		_g_error_free0 (_data_->_error_);
#line 2114 "util.c"
	}
	__finally11:
#line 199 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	if (G_UNLIKELY (_data_->_inner_error_ != NULL)) {
#line 199 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _data_->_inner_error_->message, g_quark_to_string (_data_->_inner_error_->domain), _data_->_inner_error_->code);
#line 199 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		g_clear_error (&_data_->_inner_error_);
#line 199 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		return FALSE;
#line 2125 "util.c"
	}
#line 198 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	if (_data_->_state_ == 0) {
#line 198 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		g_simple_async_result_complete_in_idle (_data_->_async_result);
#line 2131 "util.c"
	} else {
#line 198 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		g_simple_async_result_complete (_data_->_async_result);
#line 2135 "util.c"
	}
#line 198 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	g_object_unref (_data_->_async_result);
#line 198 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	return FALSE;
#line 2141 "util.c"
}


static void boxes_run_in_thread_data_free (gpointer _data) {
	BoxesRunInThreadData* _data_;
	_data_ = _data;
	g_slice_free (BoxesRunInThreadData, _data_);
}


void boxes_run_in_thread (BoxesRunInThreadFunc func, void* func_target, GDestroyNotify func_target_destroy_notify, GAsyncReadyCallback _callback_, gpointer _user_data_) {
	BoxesRunInThreadData* _data_;
	_data_ = g_slice_new0 (BoxesRunInThreadData);
	_data_->_async_result = g_simple_async_result_new (NULL, _callback_, _user_data_, boxes_run_in_thread);
	g_simple_async_result_set_op_res_gpointer (_data_->_async_result, _data_, boxes_run_in_thread_data_free);
	(_data_->func_target_destroy_notify == NULL) ? NULL : (_data_->func_target_destroy_notify (_data_->func_target), NULL);
	_data_->func = NULL;
	_data_->func_target = NULL;
	_data_->func_target_destroy_notify = NULL;
	_data_->func = func;
	_data_->func_target = func_target;
	_data_->func_target_destroy_notify = func_target_destroy_notify;
	boxes_run_in_thread_co (_data_);
}


void boxes_run_in_thread_finish (GAsyncResult* _res_, GError** error) {
	BoxesRunInThreadData* _data_;
	if (g_simple_async_result_propagate_error (G_SIMPLE_ASYNC_RESULT (_res_), error)) {
		return;
	}
	_data_ = g_simple_async_result_get_op_res_gpointer (G_SIMPLE_ASYNC_RESULT (_res_));
}


static Block2Data* block2_data_ref (Block2Data* _data2_) {
#line 217 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	g_atomic_int_inc (&_data2_->_ref_count_);
#line 217 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	return _data2_;
#line 2182 "util.c"
}


static void block2_data_unref (void * _userdata_) {
	Block2Data* _data2_;
	_data2_ = (Block2Data*) _userdata_;
#line 217 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	if (g_atomic_int_dec_and_test (&_data2_->_ref_count_)) {
#line 217 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		(_data2_->resume_target_destroy_notify == NULL) ? NULL : (_data2_->resume_target_destroy_notify (_data2_->resume_target), NULL);
#line 217 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		_data2_->resume = NULL;
#line 217 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		_data2_->resume_target = NULL;
#line 217 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		_data2_->resume_target_destroy_notify = NULL;
#line 217 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		_g_error_free0 (_data2_->e);
#line 217 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		(_data2_->func_target_destroy_notify == NULL) ? NULL : (_data2_->func_target_destroy_notify (_data2_->func_target), NULL);
#line 217 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		_data2_->func = NULL;
#line 217 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		_data2_->func_target = NULL;
#line 217 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		_data2_->func_target_destroy_notify = NULL;
#line 217 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		g_slice_free (Block2Data, _data2_);
#line 2211 "util.c"
	}
}


static gboolean _boxes_run_in_thread_co_gsource_func (gpointer self) {
	gboolean result;
	result = boxes_run_in_thread_co (self);
#line 219 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	return result;
#line 2221 "util.c"
}


static gpointer _g_error_copy0 (gpointer self) {
#line 224 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	return self ? g_error_copy (self) : NULL;
#line 2228 "util.c"
}


static void* __lambda5_ (Block2Data* _data2_) {
	void* result = NULL;
	GSourceFunc _tmp3_ = NULL;
	void* _tmp3__target = NULL;
	GDestroyNotify _tmp3__target_destroy_notify = NULL;
	GError * _inner_error_ = NULL;
	{
		BoxesRunInThreadFunc _tmp0_ = NULL;
		void* _tmp0__target = NULL;
#line 222 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		_tmp0_ = _data2_->func;
#line 222 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		_tmp0__target = _data2_->func_target;
#line 222 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		_tmp0_ (_tmp0__target, &_inner_error_);
#line 222 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 2249 "util.c"
			goto __catch12_g_error;
		}
	}
	goto __finally12;
	__catch12_g_error:
	{
		GError* err = NULL;
		GError* _tmp1_ = NULL;
		GError* _tmp2_ = NULL;
#line 221 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		err = _inner_error_;
#line 221 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		_inner_error_ = NULL;
#line 224 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		_tmp1_ = err;
#line 224 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		_tmp2_ = _g_error_copy0 (_tmp1_);
#line 224 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		_g_error_free0 (_data2_->e);
#line 224 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		_data2_->e = _tmp2_;
#line 221 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		_g_error_free0 (err);
#line 2273 "util.c"
	}
	__finally12:
#line 221 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 221 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 221 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		g_clear_error (&_inner_error_);
#line 221 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		return NULL;
#line 2284 "util.c"
	}
#line 227 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_tmp3_ = _data2_->resume;
#line 227 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_tmp3__target = _data2_->resume_target;
#line 227 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_tmp3__target_destroy_notify = _data2_->resume_target_destroy_notify;
#line 227 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_data2_->resume_target_destroy_notify = NULL;
#line 227 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	g_idle_add_full (G_PRIORITY_DEFAULT_IDLE, _tmp3_, _tmp3__target, _tmp3__target_destroy_notify);
#line 229 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	result = NULL;
#line 229 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	return result;
#line 2300 "util.c"
}


static gpointer ___lambda5__gthread_func (gpointer self) {
	gpointer result;
	result = __lambda5_ (self);
#line 220 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	block2_data_unref (self);
#line 220 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	return result;
#line 2311 "util.c"
}


static gboolean boxes_run_in_thread_co (BoxesRunInThreadData* _data_) {
#line 217 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	switch (_data_->_state_) {
#line 217 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		case 0:
#line 2320 "util.c"
		goto _state_0;
#line 217 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		case 1:
#line 2324 "util.c"
		goto _state_1;
		default:
#line 217 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		g_assert_not_reached ();
#line 2329 "util.c"
	}
	_state_0:
#line 217 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_data_->_data2_ = g_slice_new0 (Block2Data);
#line 217 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_data_->_data2_->_ref_count_ = 1;
#line 217 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_data_->_tmp0_ = NULL;
#line 217 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_data_->_tmp0__target = NULL;
#line 217 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_data_->_tmp0_ = _data_->func;
#line 217 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_data_->_tmp0__target = _data_->func_target;
#line 217 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	(_data_->_data2_->func_target_destroy_notify == NULL) ? NULL : (_data_->_data2_->func_target_destroy_notify (_data_->_data2_->func_target), NULL);
#line 217 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_data_->_data2_->func = NULL;
#line 217 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_data_->_data2_->func_target = NULL;
#line 217 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_data_->_data2_->func_target_destroy_notify = NULL;
#line 217 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_data_->_data2_->func = _data_->_tmp0_;
#line 217 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_data_->_data2_->func_target = _data_->_tmp0__target;
#line 217 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_data_->_data2_->func_target_destroy_notify = _data_->func_target_destroy_notify;
#line 217 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_data_->_data2_->_async_data_ = _data_;
#line 218 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_data_->_data2_->e = NULL;
#line 219 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_data_->_data2_->resume = _boxes_run_in_thread_co_gsource_func;
#line 219 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_data_->_data2_->resume_target = _data_;
#line 219 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_data_->_data2_->resume_target_destroy_notify = NULL;
#line 220 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_data_->_tmp1_ = NULL;
#line 220 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_data_->_tmp1_ = g_thread_new (NULL, ___lambda5__gthread_func, block2_data_ref (_data_->_data2_));
#line 220 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_data_->_tmp2_ = NULL;
#line 220 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_data_->_tmp2_ = _data_->_tmp1_;
#line 220 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_g_thread_unref0 (_data_->_tmp2_);
#line 232 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_data_->_state_ = 1;
#line 232 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	return FALSE;
#line 2382 "util.c"
	_state_1:
	;
#line 234 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_data_->_tmp3_ = NULL;
#line 234 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_data_->_tmp3_ = _data_->_data2_->e;
#line 234 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	if (_data_->_tmp3_ != NULL) {
#line 235 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		_data_->_tmp4_ = NULL;
#line 235 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		_data_->_tmp4_ = _data_->_data2_->e;
#line 235 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		_data_->_tmp5_ = NULL;
#line 235 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		_data_->_tmp5_ = _g_error_copy0 (_data_->_tmp4_);
#line 235 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		_data_->_inner_error_ = _data_->_tmp5_;
#line 235 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		g_simple_async_result_set_from_error (_data_->_async_result, _data_->_inner_error_);
#line 235 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		g_error_free (_data_->_inner_error_);
#line 235 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		block2_data_unref (_data_->_data2_);
#line 235 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		_data_->_data2_ = NULL;
#line 235 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		if (_data_->_state_ == 0) {
#line 235 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
			g_simple_async_result_complete_in_idle (_data_->_async_result);
#line 2413 "util.c"
		} else {
#line 235 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
			g_simple_async_result_complete (_data_->_async_result);
#line 2417 "util.c"
		}
#line 235 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		g_object_unref (_data_->_async_result);
#line 235 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		return FALSE;
#line 2423 "util.c"
	}
#line 217 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	block2_data_unref (_data_->_data2_);
#line 217 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_data_->_data2_ = NULL;
#line 217 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	if (_data_->_state_ == 0) {
#line 217 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		g_simple_async_result_complete_in_idle (_data_->_async_result);
#line 2433 "util.c"
	} else {
#line 217 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		g_simple_async_result_complete (_data_->_async_result);
#line 2437 "util.c"
	}
#line 217 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	g_object_unref (_data_->_async_result);
#line 217 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	return FALSE;
#line 2443 "util.c"
}


static void boxes_exec_data_free (gpointer _data) {
	BoxesExecData* _data_;
	_data_ = _data;
	_g_object_unref0 (_data_->cancellable);
	g_slice_free (BoxesExecData, _data_);
}


void boxes_exec (gchar** argv, int argv_length1, GCancellable* cancellable, GAsyncReadyCallback _callback_, gpointer _user_data_) {
	BoxesExecData* _data_;
	gchar** _tmp0_ = NULL;
	gint _tmp0__length1 = 0;
	GCancellable* _tmp1_ = NULL;
	GCancellable* _tmp2_ = NULL;
	_data_ = g_slice_new0 (BoxesExecData);
	_data_->_async_result = g_simple_async_result_new (NULL, _callback_, _user_data_, boxes_exec);
	g_simple_async_result_set_op_res_gpointer (_data_->_async_result, _data_, boxes_exec_data_free);
	_tmp0_ = argv;
	_tmp0__length1 = argv_length1;
	_data_->argv = _tmp0_;
	_data_->argv_length1 = _tmp0__length1;
	_tmp1_ = cancellable;
	_tmp2_ = _g_object_ref0 (_tmp1_);
	_g_object_unref0 (_data_->cancellable);
	_data_->cancellable = _tmp2_;
	boxes_exec_co (_data_);
}


void boxes_exec_finish (GAsyncResult* _res_, gchar** standard_output, gchar** standard_error, GError** error) {
	BoxesExecData* _data_;
	if (g_simple_async_result_propagate_error (G_SIMPLE_ASYNC_RESULT (_res_), error)) {
		return;
	}
	_data_ = g_simple_async_result_get_op_res_gpointer (G_SIMPLE_ASYNC_RESULT (_res_));
	if (standard_output) {
		*standard_output = _data_->standard_output;
	} else {
		_g_free0 (_data_->standard_output);
	}
	_data_->standard_output = NULL;
	if (standard_error) {
		*standard_error = _data_->standard_error;
	} else {
		_g_free0 (_data_->standard_error);
	}
	_data_->standard_error = NULL;
}


static Block3Data* block3_data_ref (Block3Data* _data3_) {
#line 238 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	g_atomic_int_inc (&_data3_->_ref_count_);
#line 238 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	return _data3_;
#line 2502 "util.c"
}


static void block3_data_unref (void * _userdata_) {
	Block3Data* _data3_;
	_data3_ = (Block3Data*) _userdata_;
#line 238 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	if (g_atomic_int_dec_and_test (&_data3_->_ref_count_)) {
#line 238 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		_data3_->argv_copy = (_vala_array_free (_data3_->argv_copy, _data3_->argv_copy_length1, (GDestroyNotify) g_free), NULL);
#line 238 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		_g_free0 (_data3_->std_error);
#line 238 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		_g_free0 (_data3_->std_output);
#line 238 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		g_slice_free (Block3Data, _data3_);
#line 2519 "util.c"
	}
}


static gchar** _vala_array_dup1 (gchar** self, int length) {
	gchar** result;
	int i;
#line 245 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	result = g_new0 (gchar*, length + 1);
#line 245 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	for (i = 0; i < length; i++) {
#line 2531 "util.c"
		gchar* _tmp0_ = NULL;
#line 245 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		_tmp0_ = g_strdup (self[i]);
#line 245 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		result[i] = _tmp0_;
#line 2537 "util.c"
	}
#line 245 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	return result;
#line 2541 "util.c"
}


static void __lambda6_ (Block3Data* _data3_, GError** error) {
	gchar* _tmp0_ = NULL;
	gchar* _tmp1_ = NULL;
	GError * _inner_error_ = NULL;
#line 248 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	boxes_exec_sync (_data3_->argv_copy, _data3_->argv_copy_length1, &_tmp0_, &_tmp1_, &_inner_error_);
#line 248 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_g_free0 (_data3_->std_output);
#line 248 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_data3_->std_output = _tmp0_;
#line 248 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_g_free0 (_data3_->std_error);
#line 248 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_data3_->std_error = _tmp1_;
#line 248 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 248 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		g_propagate_error (error, _inner_error_);
#line 248 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		return;
#line 2565 "util.c"
	}
}


static void ___lambda6__boxes_run_in_thread_func (gpointer self, GError** error) {
#line 247 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	__lambda6_ (self, error);
#line 2573 "util.c"
}


static void boxes_exec_ready (GObject* source_object, GAsyncResult* _res_, gpointer _user_data_) {
	BoxesExecData* _data_;
#line 247 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_data_ = _user_data_;
#line 247 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_data_->_source_object_ = source_object;
#line 247 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_data_->_res_ = _res_;
#line 247 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	boxes_exec_co (_data_);
#line 2587 "util.c"
}


static gboolean boxes_exec_co (BoxesExecData* _data_) {
#line 238 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	switch (_data_->_state_) {
#line 238 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		case 0:
#line 2596 "util.c"
		goto _state_0;
#line 238 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		case 1:
#line 2600 "util.c"
		goto _state_1;
		default:
#line 238 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		g_assert_not_reached ();
#line 2605 "util.c"
	}
	_state_0:
#line 238 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_data_->_data3_ = g_slice_new0 (Block3Data);
#line 238 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_data_->_data3_->_ref_count_ = 1;
#line 238 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_data_->_data3_->_async_data_ = _data_;
#line 242 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_data_->_tmp0_ = NULL;
#line 242 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_data_->_tmp0_ = g_strdup ("");
#line 242 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_data_->_data3_->std_output = _data_->_tmp0_;
#line 243 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_data_->_tmp1_ = NULL;
#line 243 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_data_->_tmp1_ = g_strdup ("");
#line 243 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_data_->_data3_->std_error = _data_->_tmp1_;
#line 245 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_data_->_tmp2_ = NULL;
#line 245 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_data_->_tmp2__length1 = 0;
#line 245 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_data_->_tmp2_ = _data_->argv;
#line 245 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_data_->_tmp2__length1 = _data_->argv_length1;
#line 245 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_data_->_tmp3_ = NULL;
#line 245 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_data_->_tmp3__length1 = 0;
#line 245 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_data_->_tmp3_ = (_data_->_tmp2_ != NULL) ? _vala_array_dup1 (_data_->_tmp2_, _data_->_tmp2__length1) : ((gpointer) _data_->_tmp2_);
#line 245 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_data_->_tmp3__length1 = _data_->_tmp2__length1;
#line 245 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_data_->_data3_->argv_copy = _data_->_tmp3_;
#line 245 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_data_->_data3_->argv_copy_length1 = _data_->_tmp3__length1;
#line 245 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_data_->_data3_->_argv_copy_size_ = _data_->_data3_->argv_copy_length1;
#line 247 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_data_->_state_ = 1;
#line 247 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	boxes_run_in_thread (___lambda6__boxes_run_in_thread_func, block3_data_ref (_data_->_data3_), block3_data_unref, boxes_exec_ready, _data_);
#line 247 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	return FALSE;
#line 2654 "util.c"
	_state_1:
#line 247 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	boxes_run_in_thread_finish (_data_->_res_, &_data_->_inner_error_);
#line 247 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	if (G_UNLIKELY (_data_->_inner_error_ != NULL)) {
#line 247 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		g_simple_async_result_set_from_error (_data_->_async_result, _data_->_inner_error_);
#line 247 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		g_error_free (_data_->_inner_error_);
#line 247 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		block3_data_unref (_data_->_data3_);
#line 247 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		_data_->_data3_ = NULL;
#line 247 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		if (_data_->_state_ == 0) {
#line 247 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
			g_simple_async_result_complete_in_idle (_data_->_async_result);
#line 2672 "util.c"
		} else {
#line 247 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
			g_simple_async_result_complete (_data_->_async_result);
#line 2676 "util.c"
		}
#line 247 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		g_object_unref (_data_->_async_result);
#line 247 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		return FALSE;
#line 2682 "util.c"
	}
#line 251 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_data_->_tmp4_ = NULL;
#line 251 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_data_->_tmp4_ = g_strdup (_data_->_data3_->std_output);
#line 251 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_g_free0 (_data_->standard_output);
#line 251 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_data_->standard_output = _data_->_tmp4_;
#line 252 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_data_->_tmp5_ = NULL;
#line 252 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_data_->_tmp5_ = g_strdup (_data_->_data3_->std_error);
#line 252 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_g_free0 (_data_->standard_error);
#line 252 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_data_->standard_error = _data_->_tmp5_;
#line 238 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	block3_data_unref (_data_->_data3_);
#line 238 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_data_->_data3_ = NULL;
#line 238 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	if (_data_->_state_ == 0) {
#line 238 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		g_simple_async_result_complete_in_idle (_data_->_async_result);
#line 2708 "util.c"
	} else {
#line 238 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		g_simple_async_result_complete (_data_->_async_result);
#line 2712 "util.c"
	}
#line 238 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	g_object_unref (_data_->_async_result);
#line 238 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	return FALSE;
#line 2718 "util.c"
}


static gchar* _vala_g_strjoinv (const gchar* separator, gchar** str_array, int str_array_length1) {
	gchar* result = NULL;
	const gchar* _tmp0_ = NULL;
	gboolean _tmp1_ = FALSE;
	gboolean _tmp2_ = FALSE;
	gchar** _tmp3_ = NULL;
	gint _tmp3__length1 = 0;
#line 964 "/home/mclasen/gnome/share/vala-0.26/vapi/glib-2.0.vapi"
	_tmp0_ = separator;
#line 964 "/home/mclasen/gnome/share/vala-0.26/vapi/glib-2.0.vapi"
	if (_tmp0_ == NULL) {
#line 965 "/home/mclasen/gnome/share/vala-0.26/vapi/glib-2.0.vapi"
		separator = "";
#line 2735 "util.c"
	}
#line 967 "/home/mclasen/gnome/share/vala-0.26/vapi/glib-2.0.vapi"
	_tmp3_ = str_array;
#line 967 "/home/mclasen/gnome/share/vala-0.26/vapi/glib-2.0.vapi"
	_tmp3__length1 = str_array_length1;
#line 967 "/home/mclasen/gnome/share/vala-0.26/vapi/glib-2.0.vapi"
	if (_tmp3_ != NULL) {
#line 967 "/home/mclasen/gnome/share/vala-0.26/vapi/glib-2.0.vapi"
		_tmp2_ = TRUE;
#line 2745 "util.c"
	} else {
		gchar** _tmp4_ = NULL;
		gint _tmp4__length1 = 0;
#line 967 "/home/mclasen/gnome/share/vala-0.26/vapi/glib-2.0.vapi"
		_tmp4_ = str_array;
#line 967 "/home/mclasen/gnome/share/vala-0.26/vapi/glib-2.0.vapi"
		_tmp4__length1 = str_array_length1;
#line 967 "/home/mclasen/gnome/share/vala-0.26/vapi/glib-2.0.vapi"
		_tmp2_ = _tmp4__length1 > 0;
#line 2755 "util.c"
	}
#line 967 "/home/mclasen/gnome/share/vala-0.26/vapi/glib-2.0.vapi"
	if (_tmp2_) {
#line 967 "/home/mclasen/gnome/share/vala-0.26/vapi/glib-2.0.vapi"
		_tmp1_ = TRUE;
#line 2761 "util.c"
	} else {
		gboolean _tmp5_ = FALSE;
		gchar** _tmp6_ = NULL;
		gint _tmp6__length1 = 0;
#line 967 "/home/mclasen/gnome/share/vala-0.26/vapi/glib-2.0.vapi"
		_tmp6_ = str_array;
#line 967 "/home/mclasen/gnome/share/vala-0.26/vapi/glib-2.0.vapi"
		_tmp6__length1 = str_array_length1;
#line 967 "/home/mclasen/gnome/share/vala-0.26/vapi/glib-2.0.vapi"
		if (_tmp6__length1 == (-1)) {
#line 2772 "util.c"
			gchar** _tmp7_ = NULL;
			gint _tmp7__length1 = 0;
			const gchar* _tmp8_ = NULL;
#line 967 "/home/mclasen/gnome/share/vala-0.26/vapi/glib-2.0.vapi"
			_tmp7_ = str_array;
#line 967 "/home/mclasen/gnome/share/vala-0.26/vapi/glib-2.0.vapi"
			_tmp7__length1 = str_array_length1;
#line 967 "/home/mclasen/gnome/share/vala-0.26/vapi/glib-2.0.vapi"
			_tmp8_ = _tmp7_[0];
#line 967 "/home/mclasen/gnome/share/vala-0.26/vapi/glib-2.0.vapi"
			_tmp5_ = _tmp8_ != NULL;
#line 2784 "util.c"
		} else {
#line 967 "/home/mclasen/gnome/share/vala-0.26/vapi/glib-2.0.vapi"
			_tmp5_ = FALSE;
#line 2788 "util.c"
		}
#line 967 "/home/mclasen/gnome/share/vala-0.26/vapi/glib-2.0.vapi"
		_tmp1_ = _tmp5_;
#line 2792 "util.c"
	}
#line 967 "/home/mclasen/gnome/share/vala-0.26/vapi/glib-2.0.vapi"
	if (_tmp1_) {
#line 2796 "util.c"
		gint i = 0;
		gsize len = 0UL;
		gint _tmp31_ = 0;
		gint _tmp33_ = 0;
		gint _tmp34_ = 0;
		gsize _tmp35_ = 0UL;
		const gchar* _tmp36_ = NULL;
		gint _tmp37_ = 0;
		gint _tmp38_ = 0;
		gint _tmp39_ = 0;
		const gchar* res = NULL;
		gsize _tmp40_ = 0UL;
		void* _tmp41_ = NULL;
		void* ptr = NULL;
		const gchar* _tmp42_ = NULL;
		gchar** _tmp43_ = NULL;
		gint _tmp43__length1 = 0;
		const gchar* _tmp44_ = NULL;
		void* _tmp45_ = NULL;
		const gchar* _tmp62_ = NULL;
#line 969 "/home/mclasen/gnome/share/vala-0.26/vapi/glib-2.0.vapi"
		len = (gsize) 1;
#line 2819 "util.c"
		{
			gboolean _tmp9_ = FALSE;
#line 970 "/home/mclasen/gnome/share/vala-0.26/vapi/glib-2.0.vapi"
			i = 0;
#line 970 "/home/mclasen/gnome/share/vala-0.26/vapi/glib-2.0.vapi"
			_tmp9_ = TRUE;
#line 970 "/home/mclasen/gnome/share/vala-0.26/vapi/glib-2.0.vapi"
			while (TRUE) {
#line 2828 "util.c"
				gboolean _tmp11_ = FALSE;
				gboolean _tmp12_ = FALSE;
				gchar** _tmp13_ = NULL;
				gint _tmp13__length1 = 0;
				gint _tmp21_ = 0;
				gchar** _tmp22_ = NULL;
				gint _tmp22__length1 = 0;
				gint _tmp23_ = 0;
				const gchar* _tmp24_ = NULL;
				gsize _tmp30_ = 0UL;
#line 970 "/home/mclasen/gnome/share/vala-0.26/vapi/glib-2.0.vapi"
				if (!_tmp9_) {
#line 2841 "util.c"
					gint _tmp10_ = 0;
#line 970 "/home/mclasen/gnome/share/vala-0.26/vapi/glib-2.0.vapi"
					_tmp10_ = i;
#line 970 "/home/mclasen/gnome/share/vala-0.26/vapi/glib-2.0.vapi"
					i = _tmp10_ + 1;
#line 2847 "util.c"
				}
#line 970 "/home/mclasen/gnome/share/vala-0.26/vapi/glib-2.0.vapi"
				_tmp9_ = FALSE;
#line 970 "/home/mclasen/gnome/share/vala-0.26/vapi/glib-2.0.vapi"
				_tmp13_ = str_array;
#line 970 "/home/mclasen/gnome/share/vala-0.26/vapi/glib-2.0.vapi"
				_tmp13__length1 = str_array_length1;
#line 970 "/home/mclasen/gnome/share/vala-0.26/vapi/glib-2.0.vapi"
				if (_tmp13__length1 != (-1)) {
#line 2857 "util.c"
					gint _tmp14_ = 0;
					gchar** _tmp15_ = NULL;
					gint _tmp15__length1 = 0;
#line 970 "/home/mclasen/gnome/share/vala-0.26/vapi/glib-2.0.vapi"
					_tmp14_ = i;
#line 970 "/home/mclasen/gnome/share/vala-0.26/vapi/glib-2.0.vapi"
					_tmp15_ = str_array;
#line 970 "/home/mclasen/gnome/share/vala-0.26/vapi/glib-2.0.vapi"
					_tmp15__length1 = str_array_length1;
#line 970 "/home/mclasen/gnome/share/vala-0.26/vapi/glib-2.0.vapi"
					_tmp12_ = _tmp14_ < _tmp15__length1;
#line 2869 "util.c"
				} else {
#line 970 "/home/mclasen/gnome/share/vala-0.26/vapi/glib-2.0.vapi"
					_tmp12_ = FALSE;
#line 2873 "util.c"
				}
#line 970 "/home/mclasen/gnome/share/vala-0.26/vapi/glib-2.0.vapi"
				if (_tmp12_) {
#line 970 "/home/mclasen/gnome/share/vala-0.26/vapi/glib-2.0.vapi"
					_tmp11_ = TRUE;
#line 2879 "util.c"
				} else {
					gboolean _tmp16_ = FALSE;
					gchar** _tmp17_ = NULL;
					gint _tmp17__length1 = 0;
#line 970 "/home/mclasen/gnome/share/vala-0.26/vapi/glib-2.0.vapi"
					_tmp17_ = str_array;
#line 970 "/home/mclasen/gnome/share/vala-0.26/vapi/glib-2.0.vapi"
					_tmp17__length1 = str_array_length1;
#line 970 "/home/mclasen/gnome/share/vala-0.26/vapi/glib-2.0.vapi"
					if (_tmp17__length1 == (-1)) {
#line 2890 "util.c"
						gchar** _tmp18_ = NULL;
						gint _tmp18__length1 = 0;
						gint _tmp19_ = 0;
						const gchar* _tmp20_ = NULL;
#line 970 "/home/mclasen/gnome/share/vala-0.26/vapi/glib-2.0.vapi"
						_tmp18_ = str_array;
#line 970 "/home/mclasen/gnome/share/vala-0.26/vapi/glib-2.0.vapi"
						_tmp18__length1 = str_array_length1;
#line 970 "/home/mclasen/gnome/share/vala-0.26/vapi/glib-2.0.vapi"
						_tmp19_ = i;
#line 970 "/home/mclasen/gnome/share/vala-0.26/vapi/glib-2.0.vapi"
						_tmp20_ = _tmp18_[_tmp19_];
#line 970 "/home/mclasen/gnome/share/vala-0.26/vapi/glib-2.0.vapi"
						_tmp16_ = _tmp20_ != NULL;
#line 2905 "util.c"
					} else {
#line 970 "/home/mclasen/gnome/share/vala-0.26/vapi/glib-2.0.vapi"
						_tmp16_ = FALSE;
#line 2909 "util.c"
					}
#line 970 "/home/mclasen/gnome/share/vala-0.26/vapi/glib-2.0.vapi"
					_tmp11_ = _tmp16_;
#line 2913 "util.c"
				}
#line 970 "/home/mclasen/gnome/share/vala-0.26/vapi/glib-2.0.vapi"
				if (!_tmp11_) {
#line 970 "/home/mclasen/gnome/share/vala-0.26/vapi/glib-2.0.vapi"
					break;
#line 2919 "util.c"
				}
#line 971 "/home/mclasen/gnome/share/vala-0.26/vapi/glib-2.0.vapi"
				_tmp22_ = str_array;
#line 971 "/home/mclasen/gnome/share/vala-0.26/vapi/glib-2.0.vapi"
				_tmp22__length1 = str_array_length1;
#line 971 "/home/mclasen/gnome/share/vala-0.26/vapi/glib-2.0.vapi"
				_tmp23_ = i;
#line 971 "/home/mclasen/gnome/share/vala-0.26/vapi/glib-2.0.vapi"
				_tmp24_ = _tmp22_[_tmp23_];
#line 971 "/home/mclasen/gnome/share/vala-0.26/vapi/glib-2.0.vapi"
				if (_tmp24_ != NULL) {
#line 2931 "util.c"
					gchar** _tmp25_ = NULL;
					gint _tmp25__length1 = 0;
					gint _tmp26_ = 0;
					const gchar* _tmp27_ = NULL;
					gint _tmp28_ = 0;
					gint _tmp29_ = 0;
#line 971 "/home/mclasen/gnome/share/vala-0.26/vapi/glib-2.0.vapi"
					_tmp25_ = str_array;
#line 971 "/home/mclasen/gnome/share/vala-0.26/vapi/glib-2.0.vapi"
					_tmp25__length1 = str_array_length1;
#line 971 "/home/mclasen/gnome/share/vala-0.26/vapi/glib-2.0.vapi"
					_tmp26_ = i;
#line 971 "/home/mclasen/gnome/share/vala-0.26/vapi/glib-2.0.vapi"
					_tmp27_ = _tmp25_[_tmp26_];
#line 971 "/home/mclasen/gnome/share/vala-0.26/vapi/glib-2.0.vapi"
					_tmp28_ = strlen ((const gchar*) _tmp27_);
#line 971 "/home/mclasen/gnome/share/vala-0.26/vapi/glib-2.0.vapi"
					_tmp29_ = _tmp28_;
#line 971 "/home/mclasen/gnome/share/vala-0.26/vapi/glib-2.0.vapi"
					_tmp21_ = _tmp29_;
#line 2952 "util.c"
				} else {
#line 971 "/home/mclasen/gnome/share/vala-0.26/vapi/glib-2.0.vapi"
					_tmp21_ = 0;
#line 2956 "util.c"
				}
#line 971 "/home/mclasen/gnome/share/vala-0.26/vapi/glib-2.0.vapi"
				_tmp30_ = len;
#line 971 "/home/mclasen/gnome/share/vala-0.26/vapi/glib-2.0.vapi"
				len = _tmp30_ + _tmp21_;
#line 2962 "util.c"
			}
		}
#line 973 "/home/mclasen/gnome/share/vala-0.26/vapi/glib-2.0.vapi"
		_tmp31_ = i;
#line 973 "/home/mclasen/gnome/share/vala-0.26/vapi/glib-2.0.vapi"
		if (_tmp31_ == 0) {
#line 2969 "util.c"
			gchar* _tmp32_ = NULL;
#line 974 "/home/mclasen/gnome/share/vala-0.26/vapi/glib-2.0.vapi"
			_tmp32_ = g_strdup ("");
#line 974 "/home/mclasen/gnome/share/vala-0.26/vapi/glib-2.0.vapi"
			result = _tmp32_;
#line 974 "/home/mclasen/gnome/share/vala-0.26/vapi/glib-2.0.vapi"
			return result;
#line 2977 "util.c"
		}
#line 976 "/home/mclasen/gnome/share/vala-0.26/vapi/glib-2.0.vapi"
		_tmp33_ = i;
#line 976 "/home/mclasen/gnome/share/vala-0.26/vapi/glib-2.0.vapi"
		str_array_length1 = _tmp33_;
#line 976 "/home/mclasen/gnome/share/vala-0.26/vapi/glib-2.0.vapi"
		_tmp34_ = str_array_length1;
#line 977 "/home/mclasen/gnome/share/vala-0.26/vapi/glib-2.0.vapi"
		_tmp35_ = len;
#line 977 "/home/mclasen/gnome/share/vala-0.26/vapi/glib-2.0.vapi"
		_tmp36_ = separator;
#line 977 "/home/mclasen/gnome/share/vala-0.26/vapi/glib-2.0.vapi"
		_tmp37_ = strlen ((const gchar*) _tmp36_);
#line 977 "/home/mclasen/gnome/share/vala-0.26/vapi/glib-2.0.vapi"
		_tmp38_ = _tmp37_;
#line 977 "/home/mclasen/gnome/share/vala-0.26/vapi/glib-2.0.vapi"
		_tmp39_ = i;
#line 977 "/home/mclasen/gnome/share/vala-0.26/vapi/glib-2.0.vapi"
		len = _tmp35_ + (_tmp38_ * (_tmp39_ - 1));
#line 979 "/home/mclasen/gnome/share/vala-0.26/vapi/glib-2.0.vapi"
		_tmp40_ = len;
#line 979 "/home/mclasen/gnome/share/vala-0.26/vapi/glib-2.0.vapi"
		_tmp41_ = g_malloc (_tmp40_);
#line 979 "/home/mclasen/gnome/share/vala-0.26/vapi/glib-2.0.vapi"
		res = _tmp41_;
#line 980 "/home/mclasen/gnome/share/vala-0.26/vapi/glib-2.0.vapi"
		_tmp42_ = res;
#line 980 "/home/mclasen/gnome/share/vala-0.26/vapi/glib-2.0.vapi"
		_tmp43_ = str_array;
#line 980 "/home/mclasen/gnome/share/vala-0.26/vapi/glib-2.0.vapi"
		_tmp43__length1 = str_array_length1;
#line 980 "/home/mclasen/gnome/share/vala-0.26/vapi/glib-2.0.vapi"
		_tmp44_ = _tmp43_[0];
#line 980 "/home/mclasen/gnome/share/vala-0.26/vapi/glib-2.0.vapi"
		_tmp45_ = g_stpcpy ((void*) _tmp42_, (const gchar*) _tmp44_);
#line 980 "/home/mclasen/gnome/share/vala-0.26/vapi/glib-2.0.vapi"
		ptr = _tmp45_;
#line 3015 "util.c"
		{
			gboolean _tmp46_ = FALSE;
#line 981 "/home/mclasen/gnome/share/vala-0.26/vapi/glib-2.0.vapi"
			i = 1;
#line 981 "/home/mclasen/gnome/share/vala-0.26/vapi/glib-2.0.vapi"
			_tmp46_ = TRUE;
#line 981 "/home/mclasen/gnome/share/vala-0.26/vapi/glib-2.0.vapi"
			while (TRUE) {
#line 3024 "util.c"
				gint _tmp48_ = 0;
				gchar** _tmp49_ = NULL;
				gint _tmp49__length1 = 0;
				void* _tmp50_ = NULL;
				const gchar* _tmp51_ = NULL;
				void* _tmp52_ = NULL;
				const gchar* _tmp53_ = NULL;
				gchar** _tmp54_ = NULL;
				gint _tmp54__length1 = 0;
				gint _tmp55_ = 0;
				const gchar* _tmp56_ = NULL;
				void* _tmp60_ = NULL;
				void* _tmp61_ = NULL;
#line 981 "/home/mclasen/gnome/share/vala-0.26/vapi/glib-2.0.vapi"
				if (!_tmp46_) {
#line 3040 "util.c"
					gint _tmp47_ = 0;
#line 981 "/home/mclasen/gnome/share/vala-0.26/vapi/glib-2.0.vapi"
					_tmp47_ = i;
#line 981 "/home/mclasen/gnome/share/vala-0.26/vapi/glib-2.0.vapi"
					i = _tmp47_ + 1;
#line 3046 "util.c"
				}
#line 981 "/home/mclasen/gnome/share/vala-0.26/vapi/glib-2.0.vapi"
				_tmp46_ = FALSE;
#line 981 "/home/mclasen/gnome/share/vala-0.26/vapi/glib-2.0.vapi"
				_tmp48_ = i;
#line 981 "/home/mclasen/gnome/share/vala-0.26/vapi/glib-2.0.vapi"
				_tmp49_ = str_array;
#line 981 "/home/mclasen/gnome/share/vala-0.26/vapi/glib-2.0.vapi"
				_tmp49__length1 = str_array_length1;
#line 981 "/home/mclasen/gnome/share/vala-0.26/vapi/glib-2.0.vapi"
				if (!(_tmp48_ < _tmp49__length1)) {
#line 981 "/home/mclasen/gnome/share/vala-0.26/vapi/glib-2.0.vapi"
					break;
#line 3060 "util.c"
				}
#line 982 "/home/mclasen/gnome/share/vala-0.26/vapi/glib-2.0.vapi"
				_tmp50_ = ptr;
#line 982 "/home/mclasen/gnome/share/vala-0.26/vapi/glib-2.0.vapi"
				_tmp51_ = separator;
#line 982 "/home/mclasen/gnome/share/vala-0.26/vapi/glib-2.0.vapi"
				_tmp52_ = g_stpcpy (_tmp50_, (const gchar*) _tmp51_);
#line 982 "/home/mclasen/gnome/share/vala-0.26/vapi/glib-2.0.vapi"
				ptr = _tmp52_;
#line 983 "/home/mclasen/gnome/share/vala-0.26/vapi/glib-2.0.vapi"
				_tmp54_ = str_array;
#line 983 "/home/mclasen/gnome/share/vala-0.26/vapi/glib-2.0.vapi"
				_tmp54__length1 = str_array_length1;
#line 983 "/home/mclasen/gnome/share/vala-0.26/vapi/glib-2.0.vapi"
				_tmp55_ = i;
#line 983 "/home/mclasen/gnome/share/vala-0.26/vapi/glib-2.0.vapi"
				_tmp56_ = _tmp54_[_tmp55_];
#line 983 "/home/mclasen/gnome/share/vala-0.26/vapi/glib-2.0.vapi"
				if (_tmp56_ != NULL) {
#line 3080 "util.c"
					gchar** _tmp57_ = NULL;
					gint _tmp57__length1 = 0;
					gint _tmp58_ = 0;
					const gchar* _tmp59_ = NULL;
#line 983 "/home/mclasen/gnome/share/vala-0.26/vapi/glib-2.0.vapi"
					_tmp57_ = str_array;
#line 983 "/home/mclasen/gnome/share/vala-0.26/vapi/glib-2.0.vapi"
					_tmp57__length1 = str_array_length1;
#line 983 "/home/mclasen/gnome/share/vala-0.26/vapi/glib-2.0.vapi"
					_tmp58_ = i;
#line 983 "/home/mclasen/gnome/share/vala-0.26/vapi/glib-2.0.vapi"
					_tmp59_ = _tmp57_[_tmp58_];
#line 983 "/home/mclasen/gnome/share/vala-0.26/vapi/glib-2.0.vapi"
					_tmp53_ = (const gchar*) _tmp59_;
#line 3095 "util.c"
				} else {
#line 983 "/home/mclasen/gnome/share/vala-0.26/vapi/glib-2.0.vapi"
					_tmp53_ = "";
#line 3099 "util.c"
				}
#line 983 "/home/mclasen/gnome/share/vala-0.26/vapi/glib-2.0.vapi"
				_tmp60_ = ptr;
#line 983 "/home/mclasen/gnome/share/vala-0.26/vapi/glib-2.0.vapi"
				_tmp61_ = g_stpcpy (_tmp60_, _tmp53_);
#line 983 "/home/mclasen/gnome/share/vala-0.26/vapi/glib-2.0.vapi"
				ptr = _tmp61_;
#line 3107 "util.c"
			}
		}
#line 986 "/home/mclasen/gnome/share/vala-0.26/vapi/glib-2.0.vapi"
		_tmp62_ = res;
#line 986 "/home/mclasen/gnome/share/vala-0.26/vapi/glib-2.0.vapi"
		res = NULL;
#line 986 "/home/mclasen/gnome/share/vala-0.26/vapi/glib-2.0.vapi"
		result = (gchar*) _tmp62_;
#line 986 "/home/mclasen/gnome/share/vala-0.26/vapi/glib-2.0.vapi"
		return result;
#line 3118 "util.c"
	} else {
		gchar* _tmp63_ = NULL;
#line 988 "/home/mclasen/gnome/share/vala-0.26/vapi/glib-2.0.vapi"
		_tmp63_ = g_strdup ("");
#line 988 "/home/mclasen/gnome/share/vala-0.26/vapi/glib-2.0.vapi"
		result = _tmp63_;
#line 988 "/home/mclasen/gnome/share/vala-0.26/vapi/glib-2.0.vapi"
		return result;
#line 3127 "util.c"
	}
}


void boxes_exec_sync (gchar** argv, int argv_length1, gchar** standard_output, gchar** standard_error, GError** error) {
	gchar* _vala_standard_output = NULL;
	gchar* _vala_standard_error = NULL;
	gint exit_status = 0;
	gchar** _tmp0_ = NULL;
	gint _tmp0__length1 = 0;
	gchar* _tmp1_ = NULL;
	gchar* _tmp2_ = NULL;
	gint _tmp3_ = 0;
	gint _tmp4_ = 0;
	GError * _inner_error_ = NULL;
#line 258 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	exit_status = -1;
#line 260 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_tmp0_ = argv;
#line 260 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_tmp0__length1 = argv_length1;
#line 260 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	g_spawn_sync (NULL, _tmp0_, NULL, G_SPAWN_SEARCH_PATH, NULL, NULL, &_tmp1_, &_tmp2_, &_tmp3_, &_inner_error_);
#line 260 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_g_free0 (_vala_standard_output);
#line 260 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_vala_standard_output = _tmp1_;
#line 260 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_g_free0 (_vala_standard_error);
#line 260 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_vala_standard_error = _tmp2_;
#line 260 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	exit_status = _tmp3_;
#line 260 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 260 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		g_propagate_error (error, _inner_error_);
#line 260 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		return;
#line 3167 "util.c"
	}
#line 269 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_tmp4_ = exit_status;
#line 269 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	if (_tmp4_ != 0) {
#line 3173 "util.c"
		gchar** _tmp5_ = NULL;
		gint _tmp5__length1 = 0;
		gchar* _tmp6_ = NULL;
		gchar* _tmp7_ = NULL;
		GError* _tmp8_ = NULL;
		GError* _tmp9_ = NULL;
#line 270 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		_tmp5_ = argv;
#line 270 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		_tmp5__length1 = argv_length1;
#line 270 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		_tmp6_ = _vala_g_strjoinv (" ", _tmp5_, _tmp5__length1);
#line 270 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		_tmp7_ = _tmp6_;
#line 270 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		_tmp8_ = g_error_new (BOXES_ERROR, BOXES_ERROR_COMMAND_FAILED, "Failed to execute: %s", _tmp7_);
#line 270 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		_tmp9_ = _tmp8_;
#line 270 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		_g_free0 (_tmp7_);
#line 270 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		_inner_error_ = _tmp9_;
#line 270 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		g_propagate_error (error, _inner_error_);
#line 270 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		return;
#line 3200 "util.c"
	}
#line 255 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	if (standard_output) {
#line 255 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		*standard_output = _vala_standard_output;
#line 3206 "util.c"
	} else {
#line 255 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		_g_free0 (_vala_standard_output);
#line 3210 "util.c"
	}
#line 255 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	if (standard_error) {
#line 255 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		*standard_error = _vala_standard_error;
#line 3216 "util.c"
	} else {
#line 255 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		_g_free0 (_vala_standard_error);
#line 3220 "util.c"
	}
}


static GEnumValue* _g_enum_value_dup (GEnumValue* self) {
	GEnumValue* dup;
#line 275 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	dup = g_new0 (GEnumValue, 1);
#line 275 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	memcpy (dup, self, sizeof (GEnumValue));
#line 275 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	return dup;
#line 3233 "util.c"
}


static gpointer __g_enum_value_dup0 (gpointer self) {
#line 275 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	return self ? _g_enum_value_dup (self) : NULL;
#line 3240 "util.c"
}


gint boxes_get_enum_value (const gchar* value_nick, GType enum_type) {
	gint result = 0;
	GEnumClass* enum_class = NULL;
	GType _tmp0_ = 0UL;
	GTypeClass* _tmp1_ = NULL;
	GEnumValue* val = NULL;
	const gchar* _tmp2_ = NULL;
	GEnumValue* _tmp3_ = NULL;
	GEnumValue* _tmp4_ = NULL;
	gint _tmp5_ = 0;
#line 273 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	g_return_val_if_fail (value_nick != NULL, 0);
#line 274 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_tmp0_ = enum_type;
#line 274 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_tmp1_ = g_type_class_ref (_tmp0_);
#line 274 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	enum_class = (GEnumClass*) _tmp1_;
#line 275 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_tmp2_ = value_nick;
#line 275 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_tmp3_ = g_enum_get_value_by_nick (enum_class, _tmp2_);
#line 275 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_tmp4_ = __g_enum_value_dup0 (_tmp3_);
#line 275 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	val = _tmp4_;
#line 276 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	g_return_val_if_fail (val != NULL, -1);
#line 278 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_tmp5_ = (*val).value;
#line 278 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	result = _tmp5_;
#line 278 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_g_free0 (val);
#line 278 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_g_type_class_unref0 (enum_class);
#line 278 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	return result;
#line 3282 "util.c"
}


BoxesPair* boxes_pair_construct (GType object_type, GType t1_type, GBoxedCopyFunc t1_dup_func, GDestroyNotify t1_destroy_func, GType t2_type, GBoxedCopyFunc t2_dup_func, GDestroyNotify t2_destroy_func, gconstpointer first, gconstpointer second) {
	BoxesPair* self = NULL;
	gconstpointer _tmp0_ = NULL;
	gpointer _tmp1_ = NULL;
	gconstpointer _tmp2_ = NULL;
	gpointer _tmp3_ = NULL;
#line 285 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	self = (BoxesPair*) g_type_create_instance (object_type);
#line 285 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	self->priv->t1_type = t1_type;
#line 285 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	self->priv->t1_dup_func = t1_dup_func;
#line 285 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	self->priv->t1_destroy_func = t1_destroy_func;
#line 285 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	self->priv->t2_type = t2_type;
#line 285 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	self->priv->t2_dup_func = t2_dup_func;
#line 285 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	self->priv->t2_destroy_func = t2_destroy_func;
#line 286 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_tmp0_ = first;
#line 286 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_tmp1_ = ((_tmp0_ != NULL) && (t1_dup_func != NULL)) ? t1_dup_func ((gpointer) _tmp0_) : ((gpointer) _tmp0_);
#line 286 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_t1_destroy_func0 (self->first);
#line 286 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	self->first = _tmp1_;
#line 287 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_tmp2_ = second;
#line 287 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_tmp3_ = ((_tmp2_ != NULL) && (t2_dup_func != NULL)) ? t2_dup_func ((gpointer) _tmp2_) : ((gpointer) _tmp2_);
#line 287 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_t2_destroy_func0 (self->second);
#line 287 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	self->second = _tmp3_;
#line 285 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	return self;
#line 3324 "util.c"
}


BoxesPair* boxes_pair_new (GType t1_type, GBoxedCopyFunc t1_dup_func, GDestroyNotify t1_destroy_func, GType t2_type, GBoxedCopyFunc t2_dup_func, GDestroyNotify t2_destroy_func, gconstpointer first, gconstpointer second) {
#line 285 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	return boxes_pair_construct (BOXES_TYPE_PAIR, t1_type, t1_dup_func, t1_destroy_func, t2_type, t2_dup_func, t2_destroy_func, first, second);
#line 3331 "util.c"
}


static void boxes_value_pair_init (GValue* value) {
#line 281 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	value->data[0].v_pointer = NULL;
#line 3338 "util.c"
}


static void boxes_value_pair_free_value (GValue* value) {
#line 281 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	if (value->data[0].v_pointer) {
#line 281 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		boxes_pair_unref (value->data[0].v_pointer);
#line 3347 "util.c"
	}
}


static void boxes_value_pair_copy_value (const GValue* src_value, GValue* dest_value) {
#line 281 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	if (src_value->data[0].v_pointer) {
#line 281 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		dest_value->data[0].v_pointer = boxes_pair_ref (src_value->data[0].v_pointer);
#line 3357 "util.c"
	} else {
#line 281 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		dest_value->data[0].v_pointer = NULL;
#line 3361 "util.c"
	}
}


static gpointer boxes_value_pair_peek_pointer (const GValue* value) {
#line 281 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	return value->data[0].v_pointer;
#line 3369 "util.c"
}


static gchar* boxes_value_pair_collect_value (GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) {
#line 281 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	if (collect_values[0].v_pointer) {
#line 3376 "util.c"
		BoxesPair* object;
		object = collect_values[0].v_pointer;
#line 281 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		if (object->parent_instance.g_class == NULL) {
#line 281 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
			return g_strconcat ("invalid unclassed object pointer for value type `", G_VALUE_TYPE_NAME (value), "'", NULL);
#line 3383 "util.c"
		} else if (!g_value_type_compatible (G_TYPE_FROM_INSTANCE (object), G_VALUE_TYPE (value))) {
#line 281 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
			return g_strconcat ("invalid object type `", g_type_name (G_TYPE_FROM_INSTANCE (object)), "' for value type `", G_VALUE_TYPE_NAME (value), "'", NULL);
#line 3387 "util.c"
		}
#line 281 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		value->data[0].v_pointer = boxes_pair_ref (object);
#line 3391 "util.c"
	} else {
#line 281 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		value->data[0].v_pointer = NULL;
#line 3395 "util.c"
	}
#line 281 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	return NULL;
#line 3399 "util.c"
}


static gchar* boxes_value_pair_lcopy_value (const GValue* value, guint n_collect_values, GTypeCValue* collect_values, guint collect_flags) {
	BoxesPair** object_p;
	object_p = collect_values[0].v_pointer;
#line 281 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	if (!object_p) {
#line 281 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		return g_strdup_printf ("value location for `%s' passed as NULL", G_VALUE_TYPE_NAME (value));
#line 3410 "util.c"
	}
#line 281 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	if (!value->data[0].v_pointer) {
#line 281 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		*object_p = NULL;
#line 3416 "util.c"
	} else if (collect_flags & G_VALUE_NOCOPY_CONTENTS) {
#line 281 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		*object_p = value->data[0].v_pointer;
#line 3420 "util.c"
	} else {
#line 281 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		*object_p = boxes_pair_ref (value->data[0].v_pointer);
#line 3424 "util.c"
	}
#line 281 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	return NULL;
#line 3428 "util.c"
}


GParamSpec* boxes_param_spec_pair (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags) {
	BoxesParamSpecPair* spec;
#line 281 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	g_return_val_if_fail (g_type_is_a (object_type, BOXES_TYPE_PAIR), NULL);
#line 281 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	spec = g_param_spec_internal (G_TYPE_PARAM_OBJECT, name, nick, blurb, flags);
#line 281 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	G_PARAM_SPEC (spec)->value_type = object_type;
#line 281 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	return G_PARAM_SPEC (spec);
#line 3442 "util.c"
}


gpointer boxes_value_get_pair (const GValue* value) {
#line 281 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	g_return_val_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, BOXES_TYPE_PAIR), NULL);
#line 281 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	return value->data[0].v_pointer;
#line 3451 "util.c"
}


void boxes_value_set_pair (GValue* value, gpointer v_object) {
	BoxesPair* old;
#line 281 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, BOXES_TYPE_PAIR));
#line 281 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	old = value->data[0].v_pointer;
#line 281 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	if (v_object) {
#line 281 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, BOXES_TYPE_PAIR));
#line 281 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value)));
#line 281 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		value->data[0].v_pointer = v_object;
#line 281 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		boxes_pair_ref (value->data[0].v_pointer);
#line 3471 "util.c"
	} else {
#line 281 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		value->data[0].v_pointer = NULL;
#line 3475 "util.c"
	}
#line 281 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	if (old) {
#line 281 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		boxes_pair_unref (old);
#line 3481 "util.c"
	}
}


void boxes_value_take_pair (GValue* value, gpointer v_object) {
	BoxesPair* old;
#line 281 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	g_return_if_fail (G_TYPE_CHECK_VALUE_TYPE (value, BOXES_TYPE_PAIR));
#line 281 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	old = value->data[0].v_pointer;
#line 281 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	if (v_object) {
#line 281 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		g_return_if_fail (G_TYPE_CHECK_INSTANCE_TYPE (v_object, BOXES_TYPE_PAIR));
#line 281 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		g_return_if_fail (g_value_type_compatible (G_TYPE_FROM_INSTANCE (v_object), G_VALUE_TYPE (value)));
#line 281 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		value->data[0].v_pointer = v_object;
#line 3500 "util.c"
	} else {
#line 281 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		value->data[0].v_pointer = NULL;
#line 3504 "util.c"
	}
#line 281 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	if (old) {
#line 281 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		boxes_pair_unref (old);
#line 3510 "util.c"
	}
}


static void boxes_pair_class_init (BoxesPairClass * klass) {
#line 281 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	boxes_pair_parent_class = g_type_class_peek_parent (klass);
#line 281 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	((BoxesPairClass *) klass)->finalize = boxes_pair_finalize;
#line 281 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	g_type_class_add_private (klass, sizeof (BoxesPairPrivate));
#line 3522 "util.c"
}


static void boxes_pair_instance_init (BoxesPair * self) {
#line 281 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	self->priv = BOXES_PAIR_GET_PRIVATE (self);
#line 281 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	self->ref_count = 1;
#line 3531 "util.c"
}


static void boxes_pair_finalize (BoxesPair* obj) {
	BoxesPair * self;
#line 281 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, BOXES_TYPE_PAIR, BoxesPair);
#line 281 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	g_signal_handlers_destroy (self);
#line 282 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	((self->first == NULL) || (self->priv->t1_destroy_func == NULL)) ? NULL : (self->first = (self->priv->t1_destroy_func (self->first), NULL));
#line 283 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	((self->second == NULL) || (self->priv->t2_destroy_func == NULL)) ? NULL : (self->second = (self->priv->t2_destroy_func (self->second), NULL));
#line 3545 "util.c"
}


GType boxes_pair_get_type (void) {
	static volatile gsize boxes_pair_type_id__volatile = 0;
	if (g_once_init_enter (&boxes_pair_type_id__volatile)) {
		static const GTypeValueTable g_define_type_value_table = { boxes_value_pair_init, boxes_value_pair_free_value, boxes_value_pair_copy_value, boxes_value_pair_peek_pointer, "p", boxes_value_pair_collect_value, "p", boxes_value_pair_lcopy_value };
		static const GTypeInfo g_define_type_info = { sizeof (BoxesPairClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) boxes_pair_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (BoxesPair), 0, (GInstanceInitFunc) boxes_pair_instance_init, &g_define_type_value_table };
		static const GTypeFundamentalInfo g_define_type_fundamental_info = { (G_TYPE_FLAG_CLASSED | G_TYPE_FLAG_INSTANTIATABLE | G_TYPE_FLAG_DERIVABLE | G_TYPE_FLAG_DEEP_DERIVABLE) };
		GType boxes_pair_type_id;
		boxes_pair_type_id = g_type_register_fundamental (g_type_fundamental_next (), "BoxesPair", &g_define_type_info, &g_define_type_fundamental_info, 0);
		g_once_init_leave (&boxes_pair_type_id__volatile, boxes_pair_type_id);
	}
	return boxes_pair_type_id__volatile;
}


gpointer boxes_pair_ref (gpointer instance) {
	BoxesPair* self;
	self = instance;
#line 281 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	g_atomic_int_inc (&self->ref_count);
#line 281 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	return instance;
#line 3570 "util.c"
}


void boxes_pair_unref (gpointer instance) {
	BoxesPair* self;
	self = instance;
#line 281 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	if (g_atomic_int_dec_and_test (&self->ref_count)) {
#line 281 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		BOXES_PAIR_GET_CLASS (self)->finalize (self);
#line 281 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		g_type_free_instance ((GTypeInstance *) self);
#line 3583 "util.c"
	}
}


BoxesQuery* boxes_query_construct (GType object_type, const gchar* query) {
	BoxesQuery * self = NULL;
	const gchar* _tmp0_ = NULL;
	gchar* _tmp1_ = NULL;
#line 300 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	g_return_val_if_fail (query != NULL, NULL);
#line 300 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	self = (BoxesQuery*) g_object_new (object_type, NULL);
#line 301 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_tmp0_ = query;
#line 301 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_tmp1_ = g_strdup (_tmp0_);
#line 301 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_g_free0 (self->priv->query);
#line 301 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	self->priv->query = _tmp1_;
#line 302 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	boxes_query_parse (self);
#line 300 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	return self;
#line 3608 "util.c"
}


BoxesQuery* boxes_query_new (const gchar* query) {
#line 300 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	return boxes_query_construct (BOXES_TYPE_QUERY, query);
#line 3615 "util.c"
}


void boxes_query_parse (BoxesQuery* self) {
	const gchar* _tmp0_ = NULL;
	gchar** _tmp1_ = NULL;
	gchar** _tmp2_ = NULL;
#line 305 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	g_return_if_fail (self != NULL);
#line 306 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_tmp0_ = self->priv->query;
#line 306 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_tmp2_ = _tmp1_ = g_strsplit (_tmp0_, "&", 0);
#line 3629 "util.c"
	{
		gchar** p_collection = NULL;
		gint p_collection_length1 = 0;
		gint _p_collection_size_ = 0;
		gint p_it = 0;
#line 306 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		p_collection = _tmp2_;
#line 306 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		p_collection_length1 = _vala_array_length (_tmp1_);
#line 306 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		for (p_it = 0; p_it < _vala_array_length (_tmp1_); p_it = p_it + 1) {
#line 3641 "util.c"
			gchar* _tmp3_ = NULL;
			gchar* p = NULL;
#line 306 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
			_tmp3_ = g_strdup (p_collection[p_it]);
#line 306 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
			p = _tmp3_;
#line 3648 "util.c"
			{
				gchar** pair = NULL;
				const gchar* _tmp4_ = NULL;
				gchar** _tmp5_ = NULL;
				gchar** _tmp6_ = NULL;
				gint pair_length1 = 0;
				gint _pair_size_ = 0;
				gchar** _tmp7_ = NULL;
				gint _tmp7__length1 = 0;
				GHashTable* _tmp8_ = NULL;
				gchar** _tmp9_ = NULL;
				gint _tmp9__length1 = 0;
				const gchar* _tmp10_ = NULL;
				gchar* _tmp11_ = NULL;
				gchar** _tmp12_ = NULL;
				gint _tmp12__length1 = 0;
				const gchar* _tmp13_ = NULL;
				gchar* _tmp14_ = NULL;
#line 307 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
				_tmp4_ = p;
#line 307 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
				_tmp6_ = _tmp5_ = g_strsplit (_tmp4_, "=", 0);
#line 307 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
				pair = _tmp6_;
#line 307 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
				pair_length1 = _vala_array_length (_tmp5_);
#line 307 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
				_pair_size_ = pair_length1;
#line 308 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
				_tmp7_ = pair;
#line 308 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
				_tmp7__length1 = pair_length1;
#line 308 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
				if (_tmp7__length1 != 2) {
#line 309 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
					pair = (_vala_array_free (pair, pair_length1, (GDestroyNotify) g_free), NULL);
#line 309 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
					_g_free0 (p);
#line 309 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
					continue;
#line 3689 "util.c"
				}
#line 310 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
				_tmp8_ = self->priv->params;
#line 310 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
				_tmp9_ = pair;
#line 310 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
				_tmp9__length1 = pair_length1;
#line 310 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
				_tmp10_ = _tmp9_[0];
#line 310 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
				_tmp11_ = g_strdup (_tmp10_);
#line 310 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
				_tmp12_ = pair;
#line 310 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
				_tmp12__length1 = pair_length1;
#line 310 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
				_tmp13_ = _tmp12_[1];
#line 310 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
				_tmp14_ = g_strdup (_tmp13_);
#line 310 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
				g_hash_table_insert (_tmp8_, _tmp11_, _tmp14_);
#line 306 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
				pair = (_vala_array_free (pair, pair_length1, (GDestroyNotify) g_free), NULL);
#line 306 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
				_g_free0 (p);
#line 3715 "util.c"
			}
		}
#line 306 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		p_collection = (_vala_array_free (p_collection, p_collection_length1, (GDestroyNotify) g_free), NULL);
#line 3720 "util.c"
	}
}


gchar* boxes_query_get (BoxesQuery* self, const gchar* key) {
	gchar* result = NULL;
	GHashTable* _tmp0_ = NULL;
	const gchar* _tmp1_ = NULL;
	gconstpointer _tmp2_ = NULL;
	gchar* _tmp3_ = NULL;
#line 314 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 314 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	g_return_val_if_fail (key != NULL, NULL);
#line 315 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_tmp0_ = self->priv->params;
#line 315 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_tmp1_ = key;
#line 315 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_tmp2_ = g_hash_table_lookup (_tmp0_, _tmp1_);
#line 315 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_tmp3_ = g_strdup ((const gchar*) _tmp2_);
#line 315 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	result = _tmp3_;
#line 315 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	return result;
#line 3747 "util.c"
}


static void _g_free0_ (gpointer var) {
#line 297 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	var = (g_free (var), NULL);
#line 3754 "util.c"
}


static GObject * boxes_query_constructor (GType type, guint n_construct_properties, GObjectConstructParam * construct_properties) {
	GObject * obj;
	GObjectClass * parent_class;
	BoxesQuery * self;
	GHashFunc _tmp0_ = NULL;
	GEqualFunc _tmp1_ = NULL;
	GHashTable* _tmp2_ = NULL;
#line 296 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	parent_class = G_OBJECT_CLASS (boxes_query_parent_class);
#line 296 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	obj = parent_class->constructor (type, n_construct_properties, construct_properties);
#line 296 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, BOXES_TYPE_QUERY, BoxesQuery);
#line 297 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_tmp0_ = g_str_hash;
#line 297 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_tmp1_ = g_str_equal;
#line 297 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_tmp2_ = g_hash_table_new_full (_tmp0_, _tmp1_, _g_free0_, _g_free0_);
#line 297 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_g_hash_table_unref0 (self->priv->params);
#line 297 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	self->priv->params = _tmp2_;
#line 296 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	return obj;
#line 3783 "util.c"
}


static void boxes_query_class_init (BoxesQueryClass * klass) {
#line 292 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	boxes_query_parent_class = g_type_class_peek_parent (klass);
#line 292 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	g_type_class_add_private (klass, sizeof (BoxesQueryPrivate));
#line 292 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	G_OBJECT_CLASS (klass)->constructor = boxes_query_constructor;
#line 292 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	G_OBJECT_CLASS (klass)->finalize = boxes_query_finalize;
#line 3796 "util.c"
}


static void boxes_query_instance_init (BoxesQuery * self) {
#line 292 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	self->priv = BOXES_QUERY_GET_PRIVATE (self);
#line 3803 "util.c"
}


static void boxes_query_finalize (GObject* obj) {
	BoxesQuery * self;
#line 292 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, BOXES_TYPE_QUERY, BoxesQuery);
#line 293 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_g_free0 (self->priv->query);
#line 294 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_g_hash_table_unref0 (self->priv->params);
#line 292 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	G_OBJECT_CLASS (boxes_query_parent_class)->finalize (obj);
#line 3817 "util.c"
}


GType boxes_query_get_type (void) {
	static volatile gsize boxes_query_type_id__volatile = 0;
	if (g_once_init_enter (&boxes_query_type_id__volatile)) {
		static const GTypeInfo g_define_type_info = { sizeof (BoxesQueryClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) boxes_query_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (BoxesQuery), 0, (GInstanceInitFunc) boxes_query_instance_init, NULL };
		GType boxes_query_type_id;
		boxes_query_type_id = g_type_register_static (G_TYPE_OBJECT, "BoxesQuery", &g_define_type_info, 0);
		g_once_init_leave (&boxes_query_type_id__volatile, boxes_query_type_id);
	}
	return boxes_query_type_id__volatile;
}


static Block4Data* block4_data_ref (Block4Data* _data4_) {
#line 323 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	g_atomic_int_inc (&_data4_->_ref_count_);
#line 323 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	return _data4_;
#line 3838 "util.c"
}


static void block4_data_unref (void * _userdata_) {
	Block4Data* _data4_;
	_data4_ = (Block4Data*) _userdata_;
#line 323 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	if (g_atomic_int_dec_and_test (&_data4_->_ref_count_)) {
#line 3847 "util.c"
		BoxesActivityProgress* self;
#line 323 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		self = _data4_->self;
#line 323 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		_g_object_unref0 (_data4_->child_progress);
#line 323 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		_g_object_unref0 (self);
#line 323 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		g_slice_free (Block4Data, _data4_);
#line 3857 "util.c"
	}
}


static void __lambda7_ (Block4Data* _data4_) {
	BoxesActivityProgress* self;
	gdouble child_progress_delta = 0.0;
	gdouble _tmp0_ = 0.0;
	gdouble _tmp1_ = 0.0;
	gdouble _tmp2_ = 0.0;
	gdouble _tmp3_ = 0.0;
#line 326 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	self = _data4_->self;
#line 327 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_tmp0_ = _data4_->child_progress->priv->_progress;
#line 327 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	child_progress_delta = _tmp0_ - _data4_->last_child_progress;
#line 328 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_tmp1_ = self->priv->_progress;
#line 328 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_tmp2_ = _data4_->scale;
#line 328 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	boxes_activity_progress_set_progress (self, _tmp1_ + (child_progress_delta * _tmp2_));
#line 329 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_tmp3_ = _data4_->child_progress->priv->_progress;
#line 329 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_data4_->last_child_progress = _tmp3_;
#line 3885 "util.c"
}


static void ___lambda7__g_object_notify (GObject* _sender, GParamSpec* pspec, gpointer self) {
#line 326 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	__lambda7_ (self);
#line 3892 "util.c"
}


BoxesActivityProgress* boxes_activity_progress_add_child_activity (BoxesActivityProgress* self, gdouble scale) {
	BoxesActivityProgress* result = NULL;
	Block4Data* _data4_;
	gdouble _tmp0_ = 0.0;
	BoxesActivityProgress* _tmp1_ = NULL;
	BoxesActivityProgress* _tmp2_ = NULL;
#line 323 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 323 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_data4_ = g_slice_new0 (Block4Data);
#line 323 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_data4_->_ref_count_ = 1;
#line 323 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_data4_->self = g_object_ref (self);
#line 323 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_tmp0_ = scale;
#line 323 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_data4_->scale = _tmp0_;
#line 324 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_tmp1_ = boxes_activity_progress_new ();
#line 324 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_data4_->child_progress = _tmp1_;
#line 325 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_data4_->last_child_progress = 0.;
#line 326 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	g_signal_connect_data ((GObject*) _data4_->child_progress, "notify::progress", (GCallback) ___lambda7__g_object_notify, block4_data_ref (_data4_), (GClosureNotify) block4_data_unref, 0);
#line 332 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_tmp2_ = _g_object_ref0 (_data4_->child_progress);
#line 332 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	result = _tmp2_;
#line 332 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	block4_data_unref (_data4_);
#line 332 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_data4_ = NULL;
#line 332 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	return result;
#line 3932 "util.c"
}


BoxesActivityProgress* boxes_activity_progress_construct (GType object_type) {
	BoxesActivityProgress * self = NULL;
#line 319 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	self = (BoxesActivityProgress*) g_object_new (object_type, NULL);
#line 319 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	return self;
#line 3942 "util.c"
}


BoxesActivityProgress* boxes_activity_progress_new (void) {
#line 319 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	return boxes_activity_progress_construct (BOXES_TYPE_ACTIVITY_PROGRESS);
#line 3949 "util.c"
}


gdouble boxes_activity_progress_get_progress (BoxesActivityProgress* self) {
	gdouble result;
	gdouble _tmp0_ = 0.0;
#line 320 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	g_return_val_if_fail (self != NULL, 0.0);
#line 320 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_tmp0_ = self->priv->_progress;
#line 320 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	result = _tmp0_;
#line 320 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	return result;
#line 3964 "util.c"
}


void boxes_activity_progress_set_progress (BoxesActivityProgress* self, gdouble value) {
	gdouble _tmp0_ = 0.0;
#line 320 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	g_return_if_fail (self != NULL);
#line 320 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_tmp0_ = value;
#line 320 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	self->priv->_progress = _tmp0_;
#line 320 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	g_object_notify ((GObject *) self, "progress");
#line 3978 "util.c"
}


const gchar* boxes_activity_progress_get_info (BoxesActivityProgress* self) {
	const gchar* result;
	const gchar* _tmp0_ = NULL;
#line 321 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 321 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_tmp0_ = self->priv->_info;
#line 321 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	result = _tmp0_;
#line 321 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	return result;
#line 3993 "util.c"
}


void boxes_activity_progress_set_info (BoxesActivityProgress* self, const gchar* value) {
	const gchar* _tmp0_ = NULL;
	gchar* _tmp1_ = NULL;
#line 321 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	g_return_if_fail (self != NULL);
#line 321 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_tmp0_ = value;
#line 321 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_tmp1_ = g_strdup (_tmp0_);
#line 321 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_g_free0 (self->priv->_info);
#line 321 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	self->priv->_info = _tmp1_;
#line 321 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	g_object_notify ((GObject *) self, "info");
#line 4012 "util.c"
}


static void boxes_activity_progress_class_init (BoxesActivityProgressClass * klass) {
#line 319 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	boxes_activity_progress_parent_class = g_type_class_peek_parent (klass);
#line 319 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	g_type_class_add_private (klass, sizeof (BoxesActivityProgressPrivate));
#line 319 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	G_OBJECT_CLASS (klass)->get_property = _vala_boxes_activity_progress_get_property;
#line 319 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	G_OBJECT_CLASS (klass)->set_property = _vala_boxes_activity_progress_set_property;
#line 319 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	G_OBJECT_CLASS (klass)->finalize = boxes_activity_progress_finalize;
#line 319 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	g_object_class_install_property (G_OBJECT_CLASS (klass), BOXES_ACTIVITY_PROGRESS_PROGRESS, g_param_spec_double ("progress", "progress", "progress", -G_MAXDOUBLE, G_MAXDOUBLE, 0.0, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE));
#line 319 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	g_object_class_install_property (G_OBJECT_CLASS (klass), BOXES_ACTIVITY_PROGRESS_INFO, g_param_spec_string ("info", "info", "info", NULL, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE));
#line 4031 "util.c"
}


static void boxes_activity_progress_instance_init (BoxesActivityProgress * self) {
	gchar* _tmp0_ = NULL;
#line 319 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	self->priv = BOXES_ACTIVITY_PROGRESS_GET_PRIVATE (self);
#line 321 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_tmp0_ = g_strdup ("");
#line 321 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	self->priv->_info = _tmp0_;
#line 4043 "util.c"
}


static void boxes_activity_progress_finalize (GObject* obj) {
	BoxesActivityProgress * self;
#line 319 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, BOXES_TYPE_ACTIVITY_PROGRESS, BoxesActivityProgress);
#line 321 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_g_free0 (self->priv->_info);
#line 319 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	G_OBJECT_CLASS (boxes_activity_progress_parent_class)->finalize (obj);
#line 4055 "util.c"
}


GType boxes_activity_progress_get_type (void) {
	static volatile gsize boxes_activity_progress_type_id__volatile = 0;
	if (g_once_init_enter (&boxes_activity_progress_type_id__volatile)) {
		static const GTypeInfo g_define_type_info = { sizeof (BoxesActivityProgressClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) boxes_activity_progress_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (BoxesActivityProgress), 0, (GInstanceInitFunc) boxes_activity_progress_instance_init, NULL };
		GType boxes_activity_progress_type_id;
		boxes_activity_progress_type_id = g_type_register_static (G_TYPE_OBJECT, "BoxesActivityProgress", &g_define_type_info, 0);
		g_once_init_leave (&boxes_activity_progress_type_id__volatile, boxes_activity_progress_type_id);
	}
	return boxes_activity_progress_type_id__volatile;
}


static void _vala_boxes_activity_progress_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec) {
	BoxesActivityProgress * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, BOXES_TYPE_ACTIVITY_PROGRESS, BoxesActivityProgress);
#line 319 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	switch (property_id) {
#line 319 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		case BOXES_ACTIVITY_PROGRESS_PROGRESS:
#line 319 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		g_value_set_double (value, boxes_activity_progress_get_progress (self));
#line 319 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		break;
#line 319 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		case BOXES_ACTIVITY_PROGRESS_INFO:
#line 319 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		g_value_set_string (value, boxes_activity_progress_get_info (self));
#line 319 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		break;
#line 4088 "util.c"
		default:
#line 319 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
#line 319 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		break;
#line 4094 "util.c"
	}
}


static void _vala_boxes_activity_progress_set_property (GObject * object, guint property_id, const GValue * value, GParamSpec * pspec) {
	BoxesActivityProgress * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, BOXES_TYPE_ACTIVITY_PROGRESS, BoxesActivityProgress);
#line 319 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	switch (property_id) {
#line 319 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		case BOXES_ACTIVITY_PROGRESS_PROGRESS:
#line 319 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		boxes_activity_progress_set_progress (self, g_value_get_double (value));
#line 319 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		break;
#line 319 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		case BOXES_ACTIVITY_PROGRESS_INFO:
#line 319 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		boxes_activity_progress_set_info (self, g_value_get_string (value));
#line 319 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		break;
#line 4116 "util.c"
		default:
#line 319 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
#line 319 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		break;
#line 4122 "util.c"
	}
}


gboolean boxes_is_set (const gchar* str) {
	gboolean result = FALSE;
	gboolean _tmp0_ = FALSE;
	const gchar* _tmp1_ = NULL;
#line 337 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_tmp1_ = str;
#line 337 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	if (_tmp1_ != NULL) {
#line 4135 "util.c"
		const gchar* _tmp2_ = NULL;
#line 337 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		_tmp2_ = str;
#line 337 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		_tmp0_ = g_strcmp0 (_tmp2_, "") != 0;
#line 4141 "util.c"
	} else {
#line 337 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		_tmp0_ = FALSE;
#line 4145 "util.c"
	}
#line 337 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	result = _tmp0_;
#line 337 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	return result;
#line 4151 "util.c"
}


gchar* boxes_yes_no (gboolean value) {
	gchar* result = NULL;
	const gchar* _tmp0_ = NULL;
	gboolean _tmp1_ = FALSE;
	gchar* _tmp4_ = NULL;
#line 341 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_tmp1_ = value;
#line 341 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	if (_tmp1_) {
#line 4164 "util.c"
		const gchar* _tmp2_ = NULL;
#line 341 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		_tmp2_ = _ ("yes");
#line 341 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		_tmp0_ = _tmp2_;
#line 4170 "util.c"
	} else {
		const gchar* _tmp3_ = NULL;
#line 341 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		_tmp3_ = _ ("no");
#line 341 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		_tmp0_ = _tmp3_;
#line 4177 "util.c"
	}
#line 341 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_tmp4_ = g_strdup (_tmp0_);
#line 341 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	result = _tmp4_;
#line 341 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	return result;
#line 4185 "util.c"
}


gchar* boxes_indent (const gchar* space, const gchar* text) {
	gchar* result = NULL;
	gchar* indented = NULL;
	gchar* _tmp0_ = NULL;
	const gchar* _tmp1_ = NULL;
	gchar** _tmp2_ = NULL;
	gchar** _tmp3_ = NULL;
#line 344 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	g_return_val_if_fail (space != NULL, NULL);
#line 344 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	g_return_val_if_fail (text != NULL, NULL);
#line 345 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_tmp0_ = g_strdup ("");
#line 345 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	indented = _tmp0_;
#line 347 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_tmp1_ = text;
#line 347 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_tmp3_ = _tmp2_ = g_strsplit (_tmp1_, "\n", 0);
#line 4208 "util.c"
	{
		gchar** l_collection = NULL;
		gint l_collection_length1 = 0;
		gint _l_collection_size_ = 0;
		gint l_it = 0;
#line 347 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		l_collection = _tmp3_;
#line 347 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		l_collection_length1 = _vala_array_length (_tmp2_);
#line 347 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		for (l_it = 0; l_it < _vala_array_length (_tmp2_); l_it = l_it + 1) {
#line 4220 "util.c"
			gchar* _tmp4_ = NULL;
			gchar* l = NULL;
#line 347 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
			_tmp4_ = g_strdup (l_collection[l_it]);
#line 347 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
			l = _tmp4_;
#line 4227 "util.c"
			{
				const gchar* _tmp5_ = NULL;
				gint _tmp6_ = 0;
				gint _tmp7_ = 0;
				const gchar* _tmp10_ = NULL;
				gint _tmp11_ = 0;
				gint _tmp12_ = 0;
#line 348 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
				_tmp5_ = indented;
#line 348 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
				_tmp6_ = strlen (_tmp5_);
#line 348 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
				_tmp7_ = _tmp6_;
#line 348 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
				if (_tmp7_ != 0) {
#line 4243 "util.c"
					const gchar* _tmp8_ = NULL;
					gchar* _tmp9_ = NULL;
#line 349 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
					_tmp8_ = indented;
#line 349 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
					_tmp9_ = g_strconcat (_tmp8_, "\n", NULL);
#line 349 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
					_g_free0 (indented);
#line 349 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
					indented = _tmp9_;
#line 4254 "util.c"
				}
#line 351 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
				_tmp10_ = l;
#line 351 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
				_tmp11_ = strlen (_tmp10_);
#line 351 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
				_tmp12_ = _tmp11_;
#line 351 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
				if (_tmp12_ != 0) {
#line 4264 "util.c"
					const gchar* _tmp13_ = NULL;
					const gchar* _tmp14_ = NULL;
					const gchar* _tmp15_ = NULL;
					gchar* _tmp16_ = NULL;
					gchar* _tmp17_ = NULL;
					gchar* _tmp18_ = NULL;
#line 352 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
					_tmp13_ = indented;
#line 352 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
					_tmp14_ = space;
#line 352 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
					_tmp15_ = l;
#line 352 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
					_tmp16_ = g_strconcat (_tmp14_, _tmp15_, NULL);
#line 352 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
					_tmp17_ = _tmp16_;
#line 352 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
					_tmp18_ = g_strconcat (_tmp13_, _tmp17_, NULL);
#line 352 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
					_g_free0 (indented);
#line 352 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
					indented = _tmp18_;
#line 352 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
					_g_free0 (_tmp17_);
#line 4289 "util.c"
				}
#line 347 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
				_g_free0 (l);
#line 4293 "util.c"
			}
		}
#line 347 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		l_collection = (_vala_array_free (l_collection, l_collection_length1, (GDestroyNotify) g_free), NULL);
#line 4298 "util.c"
	}
#line 355 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	result = indented;
#line 355 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	return result;
#line 4304 "util.c"
}


void boxes_execute_libarchive_function (struct archive* archive, BoxesLibarchiveFunction function, void* function_target, guint num_retries, GError** error) {
	BoxesLibarchiveFunction _tmp0_ = NULL;
	void* _tmp0__target = NULL;
	int _tmp1_ = 0;
	gchar* msg = NULL;
	struct archive* _tmp9_ = NULL;
	const gchar* _tmp10_ = NULL;
	gchar* _tmp11_ = NULL;
	const gchar* _tmp12_ = NULL;
	const gchar* _tmp15_ = NULL;
	GError* _tmp16_ = NULL;
	GError * _inner_error_ = NULL;
#line 360 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	g_return_if_fail (archive != NULL);
#line 364 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_tmp0_ = function;
#line 364 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_tmp0__target = function_target;
#line 364 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_tmp1_ = _tmp0_ (_tmp0__target);
#line 364 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	switch (_tmp1_) {
#line 364 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		case ARCHIVE_OK:
#line 4332 "util.c"
		{
#line 366 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
			return;
#line 4336 "util.c"
		}
#line 364 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		case ARCHIVE_EOF:
#line 4340 "util.c"
		{
			GError* _tmp2_ = NULL;
#line 369 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
			_tmp2_ = g_error_new_literal (G_IO_ERROR, G_IO_ERROR_CLOSED, "End of file reached.");
#line 369 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
			_inner_error_ = _tmp2_;
#line 369 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
			if (_inner_error_->domain == G_IO_ERROR) {
#line 369 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
				g_propagate_error (error, _inner_error_);
#line 369 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
				return;
#line 4353 "util.c"
			} else {
#line 369 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
				g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 369 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
				g_clear_error (&_inner_error_);
#line 369 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
				return;
#line 4361 "util.c"
			}
		}
#line 364 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		case ARCHIVE_RETRY:
#line 4366 "util.c"
		{
			guint _tmp3_ = 0U;
			struct archive* _tmp4_ = NULL;
			BoxesLibarchiveFunction _tmp5_ = NULL;
			void* _tmp5__target = NULL;
			guint _tmp6_ = 0U;
#line 372 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
			_tmp3_ = num_retries;
#line 372 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
			if (_tmp3_ < ((guint) 1)) {
#line 373 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
				break;
#line 4379 "util.c"
			}
#line 375 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
			_tmp4_ = archive;
#line 375 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
			_tmp5_ = function;
#line 375 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
			_tmp5__target = function_target;
#line 375 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
			_tmp6_ = num_retries;
#line 375 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
			boxes_execute_libarchive_function (_tmp4_, _tmp5_, _tmp5__target, _tmp6_ - 1, &_inner_error_);
#line 375 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 375 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
				if (_inner_error_->domain == G_IO_ERROR) {
#line 375 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
					g_propagate_error (error, _inner_error_);
#line 375 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
					return;
#line 4399 "util.c"
				} else {
#line 375 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 375 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
					g_clear_error (&_inner_error_);
#line 375 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
					return;
#line 4407 "util.c"
				}
			}
#line 376 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
			return;
#line 4412 "util.c"
		}
#line 364 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		case ARCHIVE_WARN:
#line 4416 "util.c"
		{
			struct archive* _tmp7_ = NULL;
			const gchar* _tmp8_ = NULL;
#line 379 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
			_tmp7_ = archive;
#line 379 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
			_tmp8_ = archive_error_string (_tmp7_);
#line 379 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
			g_warning ("util.vala:379: %s", _tmp8_);
#line 380 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
			return;
#line 4428 "util.c"
		}
		default:
		{
#line 383 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
			break;
#line 4434 "util.c"
		}
	}
#line 386 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_tmp9_ = archive;
#line 386 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_tmp10_ = archive_error_string (_tmp9_);
#line 386 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_tmp11_ = g_strdup (_tmp10_);
#line 386 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	msg = _tmp11_;
#line 387 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_tmp12_ = msg;
#line 387 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	if (g_strcmp0 (_tmp12_, "Unrecognized archive format") == 0) {
#line 4449 "util.c"
		const gchar* _tmp13_ = NULL;
		GError* _tmp14_ = NULL;
#line 388 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		_tmp13_ = msg;
#line 388 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		_tmp14_ = g_error_new (G_IO_ERROR, G_IO_ERROR_NOT_SUPPORTED, "%s", _tmp13_);
#line 388 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		_inner_error_ = _tmp14_;
#line 388 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		if (_inner_error_->domain == G_IO_ERROR) {
#line 388 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
			g_propagate_error (error, _inner_error_);
#line 388 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
			_g_free0 (msg);
#line 388 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
			return;
#line 4466 "util.c"
		} else {
#line 388 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
			_g_free0 (msg);
#line 388 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
			g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 388 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
			g_clear_error (&_inner_error_);
#line 388 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
			return;
#line 4476 "util.c"
		}
	}
#line 390 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_tmp15_ = msg;
#line 390 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_tmp16_ = g_error_new (G_IO_ERROR, G_IO_ERROR_FAILED, "%s", _tmp15_);
#line 390 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_inner_error_ = _tmp16_;
#line 390 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	if (_inner_error_->domain == G_IO_ERROR) {
#line 390 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		g_propagate_error (error, _inner_error_);
#line 390 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		_g_free0 (msg);
#line 390 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		return;
#line 4493 "util.c"
	} else {
#line 390 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		_g_free0 (msg);
#line 390 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 390 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		g_clear_error (&_inner_error_);
#line 390 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		return;
#line 4503 "util.c"
	}
#line 360 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_g_free0 (msg);
#line 4507 "util.c"
}


static Block5Data* block5_data_ref (Block5Data* _data5_) {
#line 393 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	g_atomic_int_inc (&_data5_->_ref_count_);
#line 393 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	return _data5_;
#line 4516 "util.c"
}


static void block5_data_unref (void * _userdata_) {
	Block5Data* _data5_;
	_data5_ = (Block5Data*) _userdata_;
#line 393 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	if (g_atomic_int_dec_and_test (&_data5_->_ref_count_)) {
#line 393 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		g_slice_free (Block5Data, _data5_);
#line 4527 "util.c"
	}
}


static int ___lambda8_ (Block5Data* _data5_) {
	int result = 0;
	struct archive* _tmp0_ = NULL;
	struct archive_entry* _tmp1_ = NULL;
	int _tmp2_ = 0;
#line 401 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_tmp0_ = _data5_->archive;
#line 401 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_tmp2_ = archive_read_next_header (_tmp0_, &_tmp1_);
#line 401 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_data5_->local_iterator = _tmp1_;
#line 401 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	result = _tmp2_;
#line 401 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	return result;
#line 4547 "util.c"
}


static int ____lambda8__boxes_libarchive_function (gpointer self) {
	int result;
	result = ___lambda8_ (self);
#line 400 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	return result;
#line 4556 "util.c"
}


gboolean boxes_get_next_header (struct archive* archive, struct archive_entry** iterator, guint num_retries, GError** error) {
	struct archive_entry* _vala_iterator = NULL;
	gboolean result = FALSE;
	Block5Data* _data5_;
	struct archive* _tmp0_ = NULL;
	GError * _inner_error_ = NULL;
#line 393 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	g_return_val_if_fail (archive != NULL, FALSE);
#line 393 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_data5_ = g_slice_new0 (Block5Data);
#line 393 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_data5_->_ref_count_ = 1;
#line 393 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_tmp0_ = archive;
#line 393 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_data5_->archive = _tmp0_;
#line 398 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_data5_->local_iterator = NULL;
#line 4578 "util.c"
	{
		struct archive* _tmp1_ = NULL;
		guint _tmp2_ = 0U;
#line 400 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		_tmp1_ = _data5_->archive;
#line 400 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		_tmp2_ = num_retries;
#line 400 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		boxes_execute_libarchive_function (_tmp1_, ____lambda8__boxes_libarchive_function, _data5_, _tmp2_, &_inner_error_);
#line 400 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 400 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
			if (g_error_matches (_inner_error_, G_IO_ERROR, G_IO_ERROR_CLOSED)) {
#line 4592 "util.c"
				goto __catch13_g_io_error_closed;
			}
			goto __finally13;
		}
#line 404 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		_vala_iterator = _data5_->local_iterator;
#line 405 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		result = TRUE;
#line 405 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		block5_data_unref (_data5_);
#line 405 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		_data5_ = NULL;
#line 405 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		if (iterator) {
#line 405 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
			*iterator = _vala_iterator;
#line 4609 "util.c"
		}
#line 405 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		return result;
#line 4613 "util.c"
	}
	goto __finally13;
	__catch13_g_io_error_closed:
	{
		GError* e = NULL;
#line 399 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		e = _inner_error_;
#line 399 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		_inner_error_ = NULL;
#line 407 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		_vala_iterator = _data5_->local_iterator;
#line 408 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		result = FALSE;
#line 408 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		_g_error_free0 (e);
#line 408 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		block5_data_unref (_data5_);
#line 408 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		_data5_ = NULL;
#line 408 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		if (iterator) {
#line 408 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
			*iterator = _vala_iterator;
#line 4637 "util.c"
		}
#line 408 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		return result;
#line 4641 "util.c"
	}
	__finally13:
#line 399 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	if (_inner_error_->domain == G_IO_ERROR) {
#line 399 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		g_propagate_error (error, _inner_error_);
#line 399 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		block5_data_unref (_data5_);
#line 399 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		_data5_ = NULL;
#line 399 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		return FALSE;
#line 4654 "util.c"
	} else {
#line 399 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		block5_data_unref (_data5_);
#line 399 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		_data5_ = NULL;
#line 399 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 399 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		g_clear_error (&_inner_error_);
#line 399 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		return FALSE;
#line 4666 "util.c"
	}
#line 393 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	if (iterator) {
#line 393 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		*iterator = _vala_iterator;
#line 4672 "util.c"
	}
#line 393 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	block5_data_unref (_data5_);
#line 393 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_data5_ = NULL;
#line 4678 "util.c"
}


gunichar boxes_strip_char (gunichar ch) {
	gunichar result = 0U;
	gunichar _tmp0_ = 0U;
	GUnicodeType _tmp1_ = 0;
#line 414 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_tmp0_ = ch;
#line 414 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_tmp1_ = g_unichar_type (_tmp0_);
#line 414 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	switch (_tmp1_) {
#line 414 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		case G_UNICODE_CONTROL:
#line 414 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		case G_UNICODE_FORMAT:
#line 414 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		case G_UNICODE_UNASSIGNED:
#line 414 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		case G_UNICODE_NON_SPACING_MARK:
#line 414 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		case G_UNICODE_COMBINING_MARK:
#line 414 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		case G_UNICODE_ENCLOSING_MARK:
#line 4704 "util.c"
		{
#line 422 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
			result = (gunichar) 0;
#line 422 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
			return result;
#line 4710 "util.c"
		}
		default:
		{
			gunichar _tmp2_ = 0U;
			gunichar _tmp3_ = 0U;
#line 424 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
			_tmp2_ = ch;
#line 424 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
			_tmp3_ = g_unichar_tolower (_tmp2_);
#line 424 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
			result = _tmp3_;
#line 424 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
			return result;
#line 4724 "util.c"
		}
	}
}


static gchar string_get (const gchar* self, glong index) {
	gchar result = '\0';
	glong _tmp0_ = 0L;
	gchar _tmp1_ = '\0';
#line 996 "/home/mclasen/gnome/share/vala-0.26/vapi/glib-2.0.vapi"
	g_return_val_if_fail (self != NULL, '\0');
#line 997 "/home/mclasen/gnome/share/vala-0.26/vapi/glib-2.0.vapi"
	_tmp0_ = index;
#line 997 "/home/mclasen/gnome/share/vala-0.26/vapi/glib-2.0.vapi"
	_tmp1_ = ((gchar*) self)[_tmp0_];
#line 997 "/home/mclasen/gnome/share/vala-0.26/vapi/glib-2.0.vapi"
	result = _tmp1_;
#line 997 "/home/mclasen/gnome/share/vala-0.26/vapi/glib-2.0.vapi"
	return result;
#line 4744 "util.c"
}


static gunichar string_get_char (const gchar* self, glong index) {
	gunichar result = 0U;
	glong _tmp0_ = 0L;
	gunichar _tmp1_ = 0U;
#line 1026 "/home/mclasen/gnome/share/vala-0.26/vapi/glib-2.0.vapi"
	g_return_val_if_fail (self != NULL, 0U);
#line 1027 "/home/mclasen/gnome/share/vala-0.26/vapi/glib-2.0.vapi"
	_tmp0_ = index;
#line 1027 "/home/mclasen/gnome/share/vala-0.26/vapi/glib-2.0.vapi"
	_tmp1_ = g_utf8_get_char (((gchar*) self) + _tmp0_);
#line 1027 "/home/mclasen/gnome/share/vala-0.26/vapi/glib-2.0.vapi"
	result = _tmp1_;
#line 1027 "/home/mclasen/gnome/share/vala-0.26/vapi/glib-2.0.vapi"
	return result;
#line 4762 "util.c"
}


gchar* boxes_canonicalize_for_search (const gchar* str) {
	gchar* result = NULL;
	const gchar* s = NULL;
	gunichar* buf = NULL;
	gunichar* _tmp0_ = NULL;
	gint buf_length1 = 0;
	gint _buf_size_ = 0;
	GString* res = NULL;
	GString* _tmp1_ = NULL;
	GString* _tmp19_ = NULL;
	const gchar* _tmp20_ = NULL;
	gchar* _tmp21_ = NULL;
#line 429 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	g_return_val_if_fail (str != NULL, NULL);
#line 431 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_tmp0_ = g_new0 (gunichar, 18);
#line 431 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	buf = _tmp0_;
#line 431 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	buf_length1 = 18;
#line 431 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_buf_size_ = buf_length1;
#line 432 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_tmp1_ = g_string_new ("");
#line 432 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	res = _tmp1_;
#line 4792 "util.c"
	{
		const gchar* _tmp2_ = NULL;
		gboolean _tmp3_ = FALSE;
#line 433 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		_tmp2_ = str;
#line 433 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		s = _tmp2_;
#line 433 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		_tmp3_ = TRUE;
#line 433 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		while (TRUE) {
#line 4804 "util.c"
			const gchar* _tmp6_ = NULL;
			gchar _tmp7_ = '\0';
			gunichar c = 0U;
			const gchar* _tmp8_ = NULL;
			gunichar _tmp9_ = 0U;
			gunichar _tmp10_ = 0U;
			gunichar _tmp11_ = 0U;
#line 433 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
			if (!_tmp3_) {
#line 4814 "util.c"
				const gchar* _tmp4_ = NULL;
				const gchar* _tmp5_ = NULL;
#line 433 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
				_tmp4_ = s;
#line 433 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
				_tmp5_ = g_utf8_next_char (_tmp4_);
#line 433 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
				s = _tmp5_;
#line 4823 "util.c"
			}
#line 433 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
			_tmp3_ = FALSE;
#line 433 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
			_tmp6_ = s;
#line 433 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
			_tmp7_ = string_get (_tmp6_, (glong) 0);
#line 433 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
			if (!(((gint) _tmp7_) != 0)) {
#line 433 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
				break;
#line 4835 "util.c"
			}
#line 434 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
			_tmp8_ = s;
#line 434 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
			_tmp9_ = string_get_char (_tmp8_, (glong) 0);
#line 434 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
			_tmp10_ = boxes_strip_char (_tmp9_);
#line 434 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
			c = _tmp10_;
#line 435 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
			_tmp11_ = c;
#line 435 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
			if (_tmp11_ != ((gunichar) 0)) {
#line 4849 "util.c"
				gsize size = 0UL;
				gunichar _tmp12_ = 0U;
				gunichar* _tmp13_ = NULL;
				gint _tmp13__length1 = 0;
				gsize _tmp14_ = 0UL;
				gsize _tmp15_ = 0UL;
#line 436 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
				_tmp12_ = c;
#line 436 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
				_tmp13_ = buf;
#line 436 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
				_tmp13__length1 = buf_length1;
#line 436 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
				_tmp14_ = g_unichar_fully_decompose (_tmp12_, FALSE, _tmp13_, _tmp13__length1);
#line 436 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
				size = _tmp14_;
#line 437 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
				_tmp15_ = size;
#line 437 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
				if (_tmp15_ > ((gsize) 0)) {
#line 4870 "util.c"
					GString* _tmp16_ = NULL;
					gunichar* _tmp17_ = NULL;
					gint _tmp17__length1 = 0;
					gunichar _tmp18_ = 0U;
#line 438 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
					_tmp16_ = res;
#line 438 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
					_tmp17_ = buf;
#line 438 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
					_tmp17__length1 = buf_length1;
#line 438 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
					_tmp18_ = _tmp17_[0];
#line 438 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
					g_string_append_unichar (_tmp16_, _tmp18_);
#line 4885 "util.c"
				}
			}
		}
	}
#line 441 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_tmp19_ = res;
#line 441 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_tmp20_ = _tmp19_->str;
#line 441 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_tmp21_ = g_strdup (_tmp20_);
#line 441 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	result = _tmp21_;
#line 441 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	_g_string_free0 (res);
#line 441 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	buf = (g_free (buf), NULL);
#line 441 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	return result;
#line 4904 "util.c"
}


void boxes_fdo_accounts_FindUserByName (BoxesFdoAccounts* self, const gchar* name, GAsyncReadyCallback _callback_, gpointer _user_data_) {
#line 445 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	BOXES_FDO_ACCOUNTS_GET_INTERFACE (self)->FindUserByName (self, name, _callback_, _user_data_);
#line 4911 "util.c"
}


gchar* boxes_fdo_accounts_FindUserByName_finish (BoxesFdoAccounts* self, GAsyncResult* _res_, GError** error) {
#line 445 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	return BOXES_FDO_ACCOUNTS_GET_INTERFACE (self)->FindUserByName_finish (self, _res_, error);
#line 4918 "util.c"
}


static void boxes_fdo_accounts_base_init (BoxesFdoAccountsIface * iface) {
#line 445 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	static gboolean initialized = FALSE;
#line 445 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	if (!initialized) {
#line 445 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		initialized = TRUE;
#line 4929 "util.c"
	}
}


GType boxes_fdo_accounts_get_type (void) {
	static volatile gsize boxes_fdo_accounts_type_id__volatile = 0;
	if (g_once_init_enter (&boxes_fdo_accounts_type_id__volatile)) {
		static const GTypeInfo g_define_type_info = { sizeof (BoxesFdoAccountsIface), (GBaseInitFunc) boxes_fdo_accounts_base_init, (GBaseFinalizeFunc) NULL, (GClassInitFunc) NULL, (GClassFinalizeFunc) NULL, NULL, 0, 0, (GInstanceInitFunc) NULL, NULL };
		GType boxes_fdo_accounts_type_id;
		boxes_fdo_accounts_type_id = g_type_register_static (G_TYPE_INTERFACE, "BoxesFdoAccounts", &g_define_type_info, 0);
		g_type_interface_add_prerequisite (boxes_fdo_accounts_type_id, G_TYPE_OBJECT);
		g_type_set_qdata (boxes_fdo_accounts_type_id, g_quark_from_static_string ("vala-dbus-proxy-type"), (void*) boxes_fdo_accounts_proxy_get_type);
		g_type_set_qdata (boxes_fdo_accounts_type_id, g_quark_from_static_string ("vala-dbus-interface-name"), "org.freedesktop.Accounts");
		g_type_set_qdata (boxes_fdo_accounts_type_id, g_quark_from_static_string ("vala-dbus-interface-info"), (void*) (&_boxes_fdo_accounts_dbus_interface_info));
		g_type_set_qdata (boxes_fdo_accounts_type_id, g_quark_from_static_string ("vala-dbus-register-object"), (void*) boxes_fdo_accounts_register_object);
		g_once_init_leave (&boxes_fdo_accounts_type_id__volatile, boxes_fdo_accounts_type_id);
	}
	return boxes_fdo_accounts_type_id__volatile;
}


G_DEFINE_TYPE_EXTENDED (BoxesFdoAccountsProxy, boxes_fdo_accounts_proxy, G_TYPE_DBUS_PROXY, 0, G_IMPLEMENT_INTERFACE (BOXES_FDO_TYPE_ACCOUNTS, boxes_fdo_accounts_proxy_boxes_fdo_accounts_interface_init) )
static void boxes_fdo_accounts_proxy_class_init (BoxesFdoAccountsProxyClass* klass) {
	G_DBUS_PROXY_CLASS (klass)->g_signal = boxes_fdo_accounts_proxy_g_signal;
}


static void boxes_fdo_accounts_proxy_g_signal (GDBusProxy* proxy, const gchar* sender_name, const gchar* signal_name, GVariant* parameters) {
}


static void boxes_fdo_accounts_proxy_init (BoxesFdoAccountsProxy* self) {
}


static void _vala_g_async_ready_callback (GObject *source_object, GAsyncResult *res, void *user_data) {
	g_simple_async_result_set_op_res_gpointer (user_data, g_object_ref (res), g_object_unref);
	g_simple_async_result_complete (user_data);
	g_object_unref (user_data);
}


static void boxes_fdo_accounts_proxy_FindUserByName_async (BoxesFdoAccounts* self, const gchar* name, GAsyncReadyCallback _callback_, gpointer _user_data_) {
	GDBusMessage *_message;
	GVariant *_arguments;
	GVariantBuilder _arguments_builder;
	G_IO_ERROR;
	_message = g_dbus_message_new_method_call (g_dbus_proxy_get_name ((GDBusProxy *) self), g_dbus_proxy_get_object_path ((GDBusProxy *) self), "org.freedesktop.Accounts", "FindUserByName");
	g_variant_builder_init (&_arguments_builder, G_VARIANT_TYPE_TUPLE);
	g_variant_builder_add_value (&_arguments_builder, g_variant_new_string (name));
	_arguments = g_variant_builder_end (&_arguments_builder);
	g_dbus_message_set_body (_message, _arguments);
	g_dbus_connection_send_message_with_reply (g_dbus_proxy_get_connection ((GDBusProxy *) self), _message, G_DBUS_SEND_MESSAGE_FLAGS_NONE, g_dbus_proxy_get_default_timeout ((GDBusProxy *) self), NULL, NULL, _vala_g_async_ready_callback, g_simple_async_result_new ((GObject *) self, _callback_, _user_data_, NULL));
	g_object_unref (_message);
}


static gchar* boxes_fdo_accounts_proxy_FindUserByName_finish (BoxesFdoAccounts* self, GAsyncResult* _res_, GError** error) {
	GDBusMessage *_reply_message;
	GVariant *_reply;
	GVariantIter _reply_iter;
	gchar* _result;
	GVariant* _tmp0_;
	_reply_message = g_dbus_connection_send_message_with_reply_finish (g_dbus_proxy_get_connection ((GDBusProxy *) self), g_simple_async_result_get_op_res_gpointer ((GSimpleAsyncResult *) _res_), error);
	if (!_reply_message) {
		return NULL;
	}
	if (g_dbus_message_to_gerror (_reply_message, error)) {
		g_object_unref (_reply_message);
		return NULL;
	}
	_reply = g_dbus_message_get_body (_reply_message);
	g_variant_iter_init (&_reply_iter, _reply);
	_tmp0_ = g_variant_iter_next_value (&_reply_iter);
	_result = g_variant_dup_string (_tmp0_, NULL);
	g_variant_unref (_tmp0_);
	g_object_unref (_reply_message);
	return _result;
}


static void boxes_fdo_accounts_proxy_boxes_fdo_accounts_interface_init (BoxesFdoAccountsIface* iface) {
	iface->FindUserByName = boxes_fdo_accounts_proxy_FindUserByName_async;
	iface->FindUserByName_finish = boxes_fdo_accounts_proxy_FindUserByName_finish;
}


static void _dbus_boxes_fdo_accounts_FindUserByName (BoxesFdoAccounts* self, GVariant* _parameters_, GDBusMethodInvocation* invocation) {
	GVariantIter _arguments_iter;
	gchar* name = NULL;
	GVariant* _tmp1_;
	g_variant_iter_init (&_arguments_iter, _parameters_);
	_tmp1_ = g_variant_iter_next_value (&_arguments_iter);
	name = g_variant_dup_string (_tmp1_, NULL);
	g_variant_unref (_tmp1_);
	boxes_fdo_accounts_FindUserByName (self, name, (GAsyncReadyCallback) _dbus_boxes_fdo_accounts_FindUserByName_ready, invocation);
	_g_free0 (name);
}


static void _dbus_boxes_fdo_accounts_FindUserByName_ready (GObject * source_object, GAsyncResult * _res_, gpointer _user_data_) {
	GDBusMethodInvocation * invocation;
	GError* error = NULL;
	GDBusMessage* _reply_message;
	GVariant* _reply;
	GVariantBuilder _reply_builder;
	gchar* result;
	invocation = _user_data_;
	result = boxes_fdo_accounts_FindUserByName_finish ((BoxesFdoAccounts*) source_object, _res_, &error);
	if (error) {
		g_dbus_method_invocation_return_gerror (invocation, error);
		return;
	}
	_reply_message = g_dbus_message_new_method_reply (g_dbus_method_invocation_get_message (invocation));
	g_variant_builder_init (&_reply_builder, G_VARIANT_TYPE_TUPLE);
	g_variant_builder_add_value (&_reply_builder, g_variant_new_string (result));
	_g_free0 (result);
	_reply = g_variant_builder_end (&_reply_builder);
	g_dbus_message_set_body (_reply_message, _reply);
	g_dbus_connection_send_message (g_dbus_method_invocation_get_connection (invocation), _reply_message, G_DBUS_SEND_MESSAGE_FLAGS_NONE, NULL, NULL);
	g_object_unref (invocation);
	g_object_unref (_reply_message);
}


static void boxes_fdo_accounts_dbus_interface_method_call (GDBusConnection* connection, const gchar* sender, const gchar* object_path, const gchar* interface_name, const gchar* method_name, GVariant* parameters, GDBusMethodInvocation* invocation, gpointer user_data) {
	gpointer* data;
	gpointer object;
	data = user_data;
	object = data[0];
	if (strcmp (method_name, "FindUserByName") == 0) {
		_dbus_boxes_fdo_accounts_FindUserByName (object, parameters, invocation);
	} else {
		g_object_unref (invocation);
	}
}


static GVariant* boxes_fdo_accounts_dbus_interface_get_property (GDBusConnection* connection, const gchar* sender, const gchar* object_path, const gchar* interface_name, const gchar* property_name, GError** error, gpointer user_data) {
	gpointer* data;
	gpointer object;
	data = user_data;
	object = data[0];
	return NULL;
}


static gboolean boxes_fdo_accounts_dbus_interface_set_property (GDBusConnection* connection, const gchar* sender, const gchar* object_path, const gchar* interface_name, const gchar* property_name, GVariant* value, GError** error, gpointer user_data) {
	gpointer* data;
	gpointer object;
	data = user_data;
	object = data[0];
	return FALSE;
}


guint boxes_fdo_accounts_register_object (gpointer object, GDBusConnection* connection, const gchar* path, GError** error) {
	guint result;
	gpointer *data;
	data = g_new (gpointer, 3);
	data[0] = g_object_ref (object);
	data[1] = g_object_ref (connection);
	data[2] = g_strdup (path);
	result = g_dbus_connection_register_object (connection, path, (GDBusInterfaceInfo *) (&_boxes_fdo_accounts_dbus_interface_info), &_boxes_fdo_accounts_dbus_interface_vtable, data, _boxes_fdo_accounts_unregister_object, error);
	if (!result) {
		return 0;
	}
	return result;
}


static void _boxes_fdo_accounts_unregister_object (gpointer user_data) {
	gpointer* data;
	data = user_data;
	g_object_unref (data[0]);
	g_object_unref (data[1]);
	g_free (data[2]);
	g_free (data);
}


gboolean boxes_fdo_accounts_user_get_AutomaticLogin (BoxesFdoAccountsUser* self) {
#line 451 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	g_return_val_if_fail (self != NULL, FALSE);
#line 451 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	return BOXES_FDO_ACCOUNTS_USER_GET_INTERFACE (self)->get_AutomaticLogin (self);
#line 5116 "util.c"
}


gboolean boxes_fdo_accounts_user_get_Locked (BoxesFdoAccountsUser* self) {
#line 452 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	g_return_val_if_fail (self != NULL, FALSE);
#line 452 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	return BOXES_FDO_ACCOUNTS_USER_GET_INTERFACE (self)->get_Locked (self);
#line 5125 "util.c"
}


gboolean boxes_fdo_accounts_user_get_SystemAccount (BoxesFdoAccountsUser* self) {
#line 453 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	g_return_val_if_fail (self != NULL, FALSE);
#line 453 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	return BOXES_FDO_ACCOUNTS_USER_GET_INTERFACE (self)->get_SystemAccount (self);
#line 5134 "util.c"
}


gint32 boxes_fdo_accounts_user_get_AccountType (BoxesFdoAccountsUser* self) {
#line 454 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	g_return_val_if_fail (self != NULL, 0);
#line 454 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	return BOXES_FDO_ACCOUNTS_USER_GET_INTERFACE (self)->get_AccountType (self);
#line 5143 "util.c"
}


gint32 boxes_fdo_accounts_user_get_PasswordMode (BoxesFdoAccountsUser* self) {
#line 455 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	g_return_val_if_fail (self != NULL, 0);
#line 455 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	return BOXES_FDO_ACCOUNTS_USER_GET_INTERFACE (self)->get_PasswordMode (self);
#line 5152 "util.c"
}


gchar* boxes_fdo_accounts_user_get_Email (BoxesFdoAccountsUser* self) {
#line 456 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 456 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	return BOXES_FDO_ACCOUNTS_USER_GET_INTERFACE (self)->get_Email (self);
#line 5161 "util.c"
}


gchar* boxes_fdo_accounts_user_get_HomeDirectory (BoxesFdoAccountsUser* self) {
#line 457 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 457 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	return BOXES_FDO_ACCOUNTS_USER_GET_INTERFACE (self)->get_HomeDirectory (self);
#line 5170 "util.c"
}


gchar* boxes_fdo_accounts_user_get_IconFile (BoxesFdoAccountsUser* self) {
#line 458 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 458 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	return BOXES_FDO_ACCOUNTS_USER_GET_INTERFACE (self)->get_IconFile (self);
#line 5179 "util.c"
}


gchar* boxes_fdo_accounts_user_get_Language (BoxesFdoAccountsUser* self) {
#line 459 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 459 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	return BOXES_FDO_ACCOUNTS_USER_GET_INTERFACE (self)->get_Language (self);
#line 5188 "util.c"
}


gchar* boxes_fdo_accounts_user_get_Location (BoxesFdoAccountsUser* self) {
#line 460 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 460 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	return BOXES_FDO_ACCOUNTS_USER_GET_INTERFACE (self)->get_Location (self);
#line 5197 "util.c"
}


gchar* boxes_fdo_accounts_user_get_RealName (BoxesFdoAccountsUser* self) {
#line 461 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 461 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	return BOXES_FDO_ACCOUNTS_USER_GET_INTERFACE (self)->get_RealName (self);
#line 5206 "util.c"
}


gchar* boxes_fdo_accounts_user_get_Shell (BoxesFdoAccountsUser* self) {
#line 462 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 462 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	return BOXES_FDO_ACCOUNTS_USER_GET_INTERFACE (self)->get_Shell (self);
#line 5215 "util.c"
}


gchar* boxes_fdo_accounts_user_get_UserName (BoxesFdoAccountsUser* self) {
#line 463 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 463 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	return BOXES_FDO_ACCOUNTS_USER_GET_INTERFACE (self)->get_UserName (self);
#line 5224 "util.c"
}


gchar* boxes_fdo_accounts_user_get_XSession (BoxesFdoAccountsUser* self) {
#line 464 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 464 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	return BOXES_FDO_ACCOUNTS_USER_GET_INTERFACE (self)->get_XSession (self);
#line 5233 "util.c"
}


static void boxes_fdo_accounts_user_base_init (BoxesFdoAccountsUserIface * iface) {
#line 450 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	static gboolean initialized = FALSE;
#line 450 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
	if (!initialized) {
#line 450 "/home/mclasen/Sources/gnome-boxes/src/util.vala"
		initialized = TRUE;
#line 5244 "util.c"
	}
}


GType boxes_fdo_accounts_user_get_type (void) {
	static volatile gsize boxes_fdo_accounts_user_type_id__volatile = 0;
	if (g_once_init_enter (&boxes_fdo_accounts_user_type_id__volatile)) {
		static const GTypeInfo g_define_type_info = { sizeof (BoxesFdoAccountsUserIface), (GBaseInitFunc) boxes_fdo_accounts_user_base_init, (GBaseFinalizeFunc) NULL, (GClassInitFunc) NULL, (GClassFinalizeFunc) NULL, NULL, 0, 0, (GInstanceInitFunc) NULL, NULL };
		GType boxes_fdo_accounts_user_type_id;
		boxes_fdo_accounts_user_type_id = g_type_register_static (G_TYPE_INTERFACE, "BoxesFdoAccountsUser", &g_define_type_info, 0);
		g_type_interface_add_prerequisite (boxes_fdo_accounts_user_type_id, G_TYPE_OBJECT);
		g_type_set_qdata (boxes_fdo_accounts_user_type_id, g_quark_from_static_string ("vala-dbus-proxy-type"), (void*) boxes_fdo_accounts_user_proxy_get_type);
		g_type_set_qdata (boxes_fdo_accounts_user_type_id, g_quark_from_static_string ("vala-dbus-interface-name"), "org.freedesktop.Accounts.User");
		g_type_set_qdata (boxes_fdo_accounts_user_type_id, g_quark_from_static_string ("vala-dbus-interface-info"), (void*) (&_boxes_fdo_accounts_user_dbus_interface_info));
		g_type_set_qdata (boxes_fdo_accounts_user_type_id, g_quark_from_static_string ("vala-dbus-register-object"), (void*) boxes_fdo_accounts_user_register_object);
		g_once_init_leave (&boxes_fdo_accounts_user_type_id__volatile, boxes_fdo_accounts_user_type_id);
	}
	return boxes_fdo_accounts_user_type_id__volatile;
}


G_DEFINE_TYPE_EXTENDED (BoxesFdoAccountsUserProxy, boxes_fdo_accounts_user_proxy, G_TYPE_DBUS_PROXY, 0, G_IMPLEMENT_INTERFACE (BOXES_FDO_TYPE_ACCOUNTS_USER, boxes_fdo_accounts_user_proxy_boxes_fdo_accounts_user_interface_init) )
static void boxes_fdo_accounts_user_proxy_class_init (BoxesFdoAccountsUserProxyClass* klass) {
	G_DBUS_PROXY_CLASS (klass)->g_signal = boxes_fdo_accounts_user_proxy_g_signal;
}


static void boxes_fdo_accounts_user_proxy_g_signal (GDBusProxy* proxy, const gchar* sender_name, const gchar* signal_name, GVariant* parameters) {
}


static void boxes_fdo_accounts_user_proxy_init (BoxesFdoAccountsUserProxy* self) {
}


static gboolean boxes_fdo_accounts_user_dbus_proxy_get_AutomaticLogin (BoxesFdoAccountsUser* self) {
	GVariant *_inner_reply;
	gboolean _result;
	_inner_reply = g_dbus_proxy_get_cached_property ((GDBusProxy *) self, "AutomaticLogin");
	if (!_inner_reply) {
		GVariant *_arguments;
		GVariant *_reply;
		GVariantBuilder _arguments_builder;
		g_variant_builder_init (&_arguments_builder, G_VARIANT_TYPE_TUPLE);
		g_variant_builder_add_value (&_arguments_builder, g_variant_new_string ("org.freedesktop.Accounts.User"));
		g_variant_builder_add_value (&_arguments_builder, g_variant_new_string ("AutomaticLogin"));
		_arguments = g_variant_builder_end (&_arguments_builder);
		_reply = g_dbus_proxy_call_sync ((GDBusProxy *) self, "org.freedesktop.DBus.Properties.Get", _arguments, G_DBUS_CALL_FLAGS_NONE, -1, NULL, NULL);
		if (!_reply) {
			return FALSE;
		}
		g_variant_get (_reply, "(v)", &_inner_reply);
		g_variant_unref (_reply);
	}
	_result = g_variant_get_boolean (_inner_reply);
	g_variant_unref (_inner_reply);
	return _result;
}


static gboolean boxes_fdo_accounts_user_dbus_proxy_get_Locked (BoxesFdoAccountsUser* self) {
	GVariant *_inner_reply;
	gboolean _result;
	_inner_reply = g_dbus_proxy_get_cached_property ((GDBusProxy *) self, "Locked");
	if (!_inner_reply) {
		GVariant *_arguments;
		GVariant *_reply;
		GVariantBuilder _arguments_builder;
		g_variant_builder_init (&_arguments_builder, G_VARIANT_TYPE_TUPLE);
		g_variant_builder_add_value (&_arguments_builder, g_variant_new_string ("org.freedesktop.Accounts.User"));
		g_variant_builder_add_value (&_arguments_builder, g_variant_new_string ("Locked"));
		_arguments = g_variant_builder_end (&_arguments_builder);
		_reply = g_dbus_proxy_call_sync ((GDBusProxy *) self, "org.freedesktop.DBus.Properties.Get", _arguments, G_DBUS_CALL_FLAGS_NONE, -1, NULL, NULL);
		if (!_reply) {
			return FALSE;
		}
		g_variant_get (_reply, "(v)", &_inner_reply);
		g_variant_unref (_reply);
	}
	_result = g_variant_get_boolean (_inner_reply);
	g_variant_unref (_inner_reply);
	return _result;
}


static gboolean boxes_fdo_accounts_user_dbus_proxy_get_SystemAccount (BoxesFdoAccountsUser* self) {
	GVariant *_inner_reply;
	gboolean _result;
	_inner_reply = g_dbus_proxy_get_cached_property ((GDBusProxy *) self, "SystemAccount");
	if (!_inner_reply) {
		GVariant *_arguments;
		GVariant *_reply;
		GVariantBuilder _arguments_builder;
		g_variant_builder_init (&_arguments_builder, G_VARIANT_TYPE_TUPLE);
		g_variant_builder_add_value (&_arguments_builder, g_variant_new_string ("org.freedesktop.Accounts.User"));
		g_variant_builder_add_value (&_arguments_builder, g_variant_new_string ("SystemAccount"));
		_arguments = g_variant_builder_end (&_arguments_builder);
		_reply = g_dbus_proxy_call_sync ((GDBusProxy *) self, "org.freedesktop.DBus.Properties.Get", _arguments, G_DBUS_CALL_FLAGS_NONE, -1, NULL, NULL);
		if (!_reply) {
			return FALSE;
		}
		g_variant_get (_reply, "(v)", &_inner_reply);
		g_variant_unref (_reply);
	}
	_result = g_variant_get_boolean (_inner_reply);
	g_variant_unref (_inner_reply);
	return _result;
}


static gint32 boxes_fdo_accounts_user_dbus_proxy_get_AccountType (BoxesFdoAccountsUser* self) {
	GVariant *_inner_reply;
	gint32 _result;
	_inner_reply = g_dbus_proxy_get_cached_property ((GDBusProxy *) self, "AccountType");
	if (!_inner_reply) {
		GVariant *_arguments;
		GVariant *_reply;
		GVariantBuilder _arguments_builder;
		g_variant_builder_init (&_arguments_builder, G_VARIANT_TYPE_TUPLE);
		g_variant_builder_add_value (&_arguments_builder, g_variant_new_string ("org.freedesktop.Accounts.User"));
		g_variant_builder_add_value (&_arguments_builder, g_variant_new_string ("AccountType"));
		_arguments = g_variant_builder_end (&_arguments_builder);
		_reply = g_dbus_proxy_call_sync ((GDBusProxy *) self, "org.freedesktop.DBus.Properties.Get", _arguments, G_DBUS_CALL_FLAGS_NONE, -1, NULL, NULL);
		if (!_reply) {
			return 0;
		}
		g_variant_get (_reply, "(v)", &_inner_reply);
		g_variant_unref (_reply);
	}
	_result = g_variant_get_int32 (_inner_reply);
	g_variant_unref (_inner_reply);
	return _result;
}


static gint32 boxes_fdo_accounts_user_dbus_proxy_get_PasswordMode (BoxesFdoAccountsUser* self) {
	GVariant *_inner_reply;
	gint32 _result;
	_inner_reply = g_dbus_proxy_get_cached_property ((GDBusProxy *) self, "PasswordMode");
	if (!_inner_reply) {
		GVariant *_arguments;
		GVariant *_reply;
		GVariantBuilder _arguments_builder;
		g_variant_builder_init (&_arguments_builder, G_VARIANT_TYPE_TUPLE);
		g_variant_builder_add_value (&_arguments_builder, g_variant_new_string ("org.freedesktop.Accounts.User"));
		g_variant_builder_add_value (&_arguments_builder, g_variant_new_string ("PasswordMode"));
		_arguments = g_variant_builder_end (&_arguments_builder);
		_reply = g_dbus_proxy_call_sync ((GDBusProxy *) self, "org.freedesktop.DBus.Properties.Get", _arguments, G_DBUS_CALL_FLAGS_NONE, -1, NULL, NULL);
		if (!_reply) {
			return 0;
		}
		g_variant_get (_reply, "(v)", &_inner_reply);
		g_variant_unref (_reply);
	}
	_result = g_variant_get_int32 (_inner_reply);
	g_variant_unref (_inner_reply);
	return _result;
}


static gchar* boxes_fdo_accounts_user_dbus_proxy_get_Email (BoxesFdoAccountsUser* self) {
	GVariant *_inner_reply;
	gchar* _result;
	_inner_reply = g_dbus_proxy_get_cached_property ((GDBusProxy *) self, "Email");
	if (!_inner_reply) {
		GVariant *_arguments;
		GVariant *_reply;
		GVariantBuilder _arguments_builder;
		g_variant_builder_init (&_arguments_builder, G_VARIANT_TYPE_TUPLE);
		g_variant_builder_add_value (&_arguments_builder, g_variant_new_string ("org.freedesktop.Accounts.User"));
		g_variant_builder_add_value (&_arguments_builder, g_variant_new_string ("Email"));
		_arguments = g_variant_builder_end (&_arguments_builder);
		_reply = g_dbus_proxy_call_sync ((GDBusProxy *) self, "org.freedesktop.DBus.Properties.Get", _arguments, G_DBUS_CALL_FLAGS_NONE, -1, NULL, NULL);
		if (!_reply) {
			return NULL;
		}
		g_variant_get (_reply, "(v)", &_inner_reply);
		g_variant_unref (_reply);
	}
	_result = g_variant_dup_string (_inner_reply, NULL);
	g_variant_unref (_inner_reply);
	return _result;
}


static gchar* boxes_fdo_accounts_user_dbus_proxy_get_HomeDirectory (BoxesFdoAccountsUser* self) {
	GVariant *_inner_reply;
	gchar* _result;
	_inner_reply = g_dbus_proxy_get_cached_property ((GDBusProxy *) self, "HomeDirectory");
	if (!_inner_reply) {
		GVariant *_arguments;
		GVariant *_reply;
		GVariantBuilder _arguments_builder;
		g_variant_builder_init (&_arguments_builder, G_VARIANT_TYPE_TUPLE);
		g_variant_builder_add_value (&_arguments_builder, g_variant_new_string ("org.freedesktop.Accounts.User"));
		g_variant_builder_add_value (&_arguments_builder, g_variant_new_string ("HomeDirectory"));
		_arguments = g_variant_builder_end (&_arguments_builder);
		_reply = g_dbus_proxy_call_sync ((GDBusProxy *) self, "org.freedesktop.DBus.Properties.Get", _arguments, G_DBUS_CALL_FLAGS_NONE, -1, NULL, NULL);
		if (!_reply) {
			return NULL;
		}
		g_variant_get (_reply, "(v)", &_inner_reply);
		g_variant_unref (_reply);
	}
	_result = g_variant_dup_string (_inner_reply, NULL);
	g_variant_unref (_inner_reply);
	return _result;
}


static gchar* boxes_fdo_accounts_user_dbus_proxy_get_IconFile (BoxesFdoAccountsUser* self) {
	GVariant *_inner_reply;
	gchar* _result;
	_inner_reply = g_dbus_proxy_get_cached_property ((GDBusProxy *) self, "IconFile");
	if (!_inner_reply) {
		GVariant *_arguments;
		GVariant *_reply;
		GVariantBuilder _arguments_builder;
		g_variant_builder_init (&_arguments_builder, G_VARIANT_TYPE_TUPLE);
		g_variant_builder_add_value (&_arguments_builder, g_variant_new_string ("org.freedesktop.Accounts.User"));
		g_variant_builder_add_value (&_arguments_builder, g_variant_new_string ("IconFile"));
		_arguments = g_variant_builder_end (&_arguments_builder);
		_reply = g_dbus_proxy_call_sync ((GDBusProxy *) self, "org.freedesktop.DBus.Properties.Get", _arguments, G_DBUS_CALL_FLAGS_NONE, -1, NULL, NULL);
		if (!_reply) {
			return NULL;
		}
		g_variant_get (_reply, "(v)", &_inner_reply);
		g_variant_unref (_reply);
	}
	_result = g_variant_dup_string (_inner_reply, NULL);
	g_variant_unref (_inner_reply);
	return _result;
}


static gchar* boxes_fdo_accounts_user_dbus_proxy_get_Language (BoxesFdoAccountsUser* self) {
	GVariant *_inner_reply;
	gchar* _result;
	_inner_reply = g_dbus_proxy_get_cached_property ((GDBusProxy *) self, "Language");
	if (!_inner_reply) {
		GVariant *_arguments;
		GVariant *_reply;
		GVariantBuilder _arguments_builder;
		g_variant_builder_init (&_arguments_builder, G_VARIANT_TYPE_TUPLE);
		g_variant_builder_add_value (&_arguments_builder, g_variant_new_string ("org.freedesktop.Accounts.User"));
		g_variant_builder_add_value (&_arguments_builder, g_variant_new_string ("Language"));
		_arguments = g_variant_builder_end (&_arguments_builder);
		_reply = g_dbus_proxy_call_sync ((GDBusProxy *) self, "org.freedesktop.DBus.Properties.Get", _arguments, G_DBUS_CALL_FLAGS_NONE, -1, NULL, NULL);
		if (!_reply) {
			return NULL;
		}
		g_variant_get (_reply, "(v)", &_inner_reply);
		g_variant_unref (_reply);
	}
	_result = g_variant_dup_string (_inner_reply, NULL);
	g_variant_unref (_inner_reply);
	return _result;
}


static gchar* boxes_fdo_accounts_user_dbus_proxy_get_Location (BoxesFdoAccountsUser* self) {
	GVariant *_inner_reply;
	gchar* _result;
	_inner_reply = g_dbus_proxy_get_cached_property ((GDBusProxy *) self, "Location");
	if (!_inner_reply) {
		GVariant *_arguments;
		GVariant *_reply;
		GVariantBuilder _arguments_builder;
		g_variant_builder_init (&_arguments_builder, G_VARIANT_TYPE_TUPLE);
		g_variant_builder_add_value (&_arguments_builder, g_variant_new_string ("org.freedesktop.Accounts.User"));
		g_variant_builder_add_value (&_arguments_builder, g_variant_new_string ("Location"));
		_arguments = g_variant_builder_end (&_arguments_builder);
		_reply = g_dbus_proxy_call_sync ((GDBusProxy *) self, "org.freedesktop.DBus.Properties.Get", _arguments, G_DBUS_CALL_FLAGS_NONE, -1, NULL, NULL);
		if (!_reply) {
			return NULL;
		}
		g_variant_get (_reply, "(v)", &_inner_reply);
		g_variant_unref (_reply);
	}
	_result = g_variant_dup_string (_inner_reply, NULL);
	g_variant_unref (_inner_reply);
	return _result;
}


static gchar* boxes_fdo_accounts_user_dbus_proxy_get_RealName (BoxesFdoAccountsUser* self) {
	GVariant *_inner_reply;
	gchar* _result;
	_inner_reply = g_dbus_proxy_get_cached_property ((GDBusProxy *) self, "RealName");
	if (!_inner_reply) {
		GVariant *_arguments;
		GVariant *_reply;
		GVariantBuilder _arguments_builder;
		g_variant_builder_init (&_arguments_builder, G_VARIANT_TYPE_TUPLE);
		g_variant_builder_add_value (&_arguments_builder, g_variant_new_string ("org.freedesktop.Accounts.User"));
		g_variant_builder_add_value (&_arguments_builder, g_variant_new_string ("RealName"));
		_arguments = g_variant_builder_end (&_arguments_builder);
		_reply = g_dbus_proxy_call_sync ((GDBusProxy *) self, "org.freedesktop.DBus.Properties.Get", _arguments, G_DBUS_CALL_FLAGS_NONE, -1, NULL, NULL);
		if (!_reply) {
			return NULL;
		}
		g_variant_get (_reply, "(v)", &_inner_reply);
		g_variant_unref (_reply);
	}
	_result = g_variant_dup_string (_inner_reply, NULL);
	g_variant_unref (_inner_reply);
	return _result;
}


static gchar* boxes_fdo_accounts_user_dbus_proxy_get_Shell (BoxesFdoAccountsUser* self) {
	GVariant *_inner_reply;
	gchar* _result;
	_inner_reply = g_dbus_proxy_get_cached_property ((GDBusProxy *) self, "Shell");
	if (!_inner_reply) {
		GVariant *_arguments;
		GVariant *_reply;
		GVariantBuilder _arguments_builder;
		g_variant_builder_init (&_arguments_builder, G_VARIANT_TYPE_TUPLE);
		g_variant_builder_add_value (&_arguments_builder, g_variant_new_string ("org.freedesktop.Accounts.User"));
		g_variant_builder_add_value (&_arguments_builder, g_variant_new_string ("Shell"));
		_arguments = g_variant_builder_end (&_arguments_builder);
		_reply = g_dbus_proxy_call_sync ((GDBusProxy *) self, "org.freedesktop.DBus.Properties.Get", _arguments, G_DBUS_CALL_FLAGS_NONE, -1, NULL, NULL);
		if (!_reply) {
			return NULL;
		}
		g_variant_get (_reply, "(v)", &_inner_reply);
		g_variant_unref (_reply);
	}
	_result = g_variant_dup_string (_inner_reply, NULL);
	g_variant_unref (_inner_reply);
	return _result;
}


static gchar* boxes_fdo_accounts_user_dbus_proxy_get_UserName (BoxesFdoAccountsUser* self) {
	GVariant *_inner_reply;
	gchar* _result;
	_inner_reply = g_dbus_proxy_get_cached_property ((GDBusProxy *) self, "UserName");
	if (!_inner_reply) {
		GVariant *_arguments;
		GVariant *_reply;
		GVariantBuilder _arguments_builder;
		g_variant_builder_init (&_arguments_builder, G_VARIANT_TYPE_TUPLE);
		g_variant_builder_add_value (&_arguments_builder, g_variant_new_string ("org.freedesktop.Accounts.User"));
		g_variant_builder_add_value (&_arguments_builder, g_variant_new_string ("UserName"));
		_arguments = g_variant_builder_end (&_arguments_builder);
		_reply = g_dbus_proxy_call_sync ((GDBusProxy *) self, "org.freedesktop.DBus.Properties.Get", _arguments, G_DBUS_CALL_FLAGS_NONE, -1, NULL, NULL);
		if (!_reply) {
			return NULL;
		}
		g_variant_get (_reply, "(v)", &_inner_reply);
		g_variant_unref (_reply);
	}
	_result = g_variant_dup_string (_inner_reply, NULL);
	g_variant_unref (_inner_reply);
	return _result;
}


static gchar* boxes_fdo_accounts_user_dbus_proxy_get_XSession (BoxesFdoAccountsUser* self) {
	GVariant *_inner_reply;
	gchar* _result;
	_inner_reply = g_dbus_proxy_get_cached_property ((GDBusProxy *) self, "XSession");
	if (!_inner_reply) {
		GVariant *_arguments;
		GVariant *_reply;
		GVariantBuilder _arguments_builder;
		g_variant_builder_init (&_arguments_builder, G_VARIANT_TYPE_TUPLE);
		g_variant_builder_add_value (&_arguments_builder, g_variant_new_string ("org.freedesktop.Accounts.User"));
		g_variant_builder_add_value (&_arguments_builder, g_variant_new_string ("XSession"));
		_arguments = g_variant_builder_end (&_arguments_builder);
		_reply = g_dbus_proxy_call_sync ((GDBusProxy *) self, "org.freedesktop.DBus.Properties.Get", _arguments, G_DBUS_CALL_FLAGS_NONE, -1, NULL, NULL);
		if (!_reply) {
			return NULL;
		}
		g_variant_get (_reply, "(v)", &_inner_reply);
		g_variant_unref (_reply);
	}
	_result = g_variant_dup_string (_inner_reply, NULL);
	g_variant_unref (_inner_reply);
	return _result;
}


static void boxes_fdo_accounts_user_proxy_boxes_fdo_accounts_user_interface_init (BoxesFdoAccountsUserIface* iface) {
	iface->get_AutomaticLogin = boxes_fdo_accounts_user_dbus_proxy_get_AutomaticLogin;
	iface->get_Locked = boxes_fdo_accounts_user_dbus_proxy_get_Locked;
	iface->get_SystemAccount = boxes_fdo_accounts_user_dbus_proxy_get_SystemAccount;
	iface->get_AccountType = boxes_fdo_accounts_user_dbus_proxy_get_AccountType;
	iface->get_PasswordMode = boxes_fdo_accounts_user_dbus_proxy_get_PasswordMode;
	iface->get_Email = boxes_fdo_accounts_user_dbus_proxy_get_Email;
	iface->get_HomeDirectory = boxes_fdo_accounts_user_dbus_proxy_get_HomeDirectory;
	iface->get_IconFile = boxes_fdo_accounts_user_dbus_proxy_get_IconFile;
	iface->get_Language = boxes_fdo_accounts_user_dbus_proxy_get_Language;
	iface->get_Location = boxes_fdo_accounts_user_dbus_proxy_get_Location;
	iface->get_RealName = boxes_fdo_accounts_user_dbus_proxy_get_RealName;
	iface->get_Shell = boxes_fdo_accounts_user_dbus_proxy_get_Shell;
	iface->get_UserName = boxes_fdo_accounts_user_dbus_proxy_get_UserName;
	iface->get_XSession = boxes_fdo_accounts_user_dbus_proxy_get_XSession;
}


static void boxes_fdo_accounts_user_dbus_interface_method_call (GDBusConnection* connection, const gchar* sender, const gchar* object_path, const gchar* interface_name, const gchar* method_name, GVariant* parameters, GDBusMethodInvocation* invocation, gpointer user_data) {
	gpointer* data;
	gpointer object;
	data = user_data;
	object = data[0];
	g_object_unref (invocation);
}


static GVariant* _dbus_boxes_fdo_accounts_user_get_AutomaticLogin (BoxesFdoAccountsUser* self) {
	gboolean result;
	GVariant* _reply;
	result = boxes_fdo_accounts_user_get_AutomaticLogin (self);
	_reply = g_variant_new_boolean (result);
	return _reply;
}


static GVariant* _dbus_boxes_fdo_accounts_user_get_Locked (BoxesFdoAccountsUser* self) {
	gboolean result;
	GVariant* _reply;
	result = boxes_fdo_accounts_user_get_Locked (self);
	_reply = g_variant_new_boolean (result);
	return _reply;
}


static GVariant* _dbus_boxes_fdo_accounts_user_get_SystemAccount (BoxesFdoAccountsUser* self) {
	gboolean result;
	GVariant* _reply;
	result = boxes_fdo_accounts_user_get_SystemAccount (self);
	_reply = g_variant_new_boolean (result);
	return _reply;
}


static GVariant* _dbus_boxes_fdo_accounts_user_get_AccountType (BoxesFdoAccountsUser* self) {
	gint32 result;
	GVariant* _reply;
	result = boxes_fdo_accounts_user_get_AccountType (self);
	_reply = g_variant_new_int32 (result);
	return _reply;
}


static GVariant* _dbus_boxes_fdo_accounts_user_get_PasswordMode (BoxesFdoAccountsUser* self) {
	gint32 result;
	GVariant* _reply;
	result = boxes_fdo_accounts_user_get_PasswordMode (self);
	_reply = g_variant_new_int32 (result);
	return _reply;
}


static GVariant* _dbus_boxes_fdo_accounts_user_get_Email (BoxesFdoAccountsUser* self) {
	gchar* result;
	GVariant* _reply;
	result = boxes_fdo_accounts_user_get_Email (self);
	_reply = g_variant_new_string (result);
	_g_free0 (result);
	return _reply;
}


static GVariant* _dbus_boxes_fdo_accounts_user_get_HomeDirectory (BoxesFdoAccountsUser* self) {
	gchar* result;
	GVariant* _reply;
	result = boxes_fdo_accounts_user_get_HomeDirectory (self);
	_reply = g_variant_new_string (result);
	_g_free0 (result);
	return _reply;
}


static GVariant* _dbus_boxes_fdo_accounts_user_get_IconFile (BoxesFdoAccountsUser* self) {
	gchar* result;
	GVariant* _reply;
	result = boxes_fdo_accounts_user_get_IconFile (self);
	_reply = g_variant_new_string (result);
	_g_free0 (result);
	return _reply;
}


static GVariant* _dbus_boxes_fdo_accounts_user_get_Language (BoxesFdoAccountsUser* self) {
	gchar* result;
	GVariant* _reply;
	result = boxes_fdo_accounts_user_get_Language (self);
	_reply = g_variant_new_string (result);
	_g_free0 (result);
	return _reply;
}


static GVariant* _dbus_boxes_fdo_accounts_user_get_Location (BoxesFdoAccountsUser* self) {
	gchar* result;
	GVariant* _reply;
	result = boxes_fdo_accounts_user_get_Location (self);
	_reply = g_variant_new_string (result);
	_g_free0 (result);
	return _reply;
}


static GVariant* _dbus_boxes_fdo_accounts_user_get_RealName (BoxesFdoAccountsUser* self) {
	gchar* result;
	GVariant* _reply;
	result = boxes_fdo_accounts_user_get_RealName (self);
	_reply = g_variant_new_string (result);
	_g_free0 (result);
	return _reply;
}


static GVariant* _dbus_boxes_fdo_accounts_user_get_Shell (BoxesFdoAccountsUser* self) {
	gchar* result;
	GVariant* _reply;
	result = boxes_fdo_accounts_user_get_Shell (self);
	_reply = g_variant_new_string (result);
	_g_free0 (result);
	return _reply;
}


static GVariant* _dbus_boxes_fdo_accounts_user_get_UserName (BoxesFdoAccountsUser* self) {
	gchar* result;
	GVariant* _reply;
	result = boxes_fdo_accounts_user_get_UserName (self);
	_reply = g_variant_new_string (result);
	_g_free0 (result);
	return _reply;
}


static GVariant* _dbus_boxes_fdo_accounts_user_get_XSession (BoxesFdoAccountsUser* self) {
	gchar* result;
	GVariant* _reply;
	result = boxes_fdo_accounts_user_get_XSession (self);
	_reply = g_variant_new_string (result);
	_g_free0 (result);
	return _reply;
}


static GVariant* boxes_fdo_accounts_user_dbus_interface_get_property (GDBusConnection* connection, const gchar* sender, const gchar* object_path, const gchar* interface_name, const gchar* property_name, GError** error, gpointer user_data) {
	gpointer* data;
	gpointer object;
	data = user_data;
	object = data[0];
	if (strcmp (property_name, "AutomaticLogin") == 0) {
		return _dbus_boxes_fdo_accounts_user_get_AutomaticLogin (object);
	} else if (strcmp (property_name, "Locked") == 0) {
		return _dbus_boxes_fdo_accounts_user_get_Locked (object);
	} else if (strcmp (property_name, "SystemAccount") == 0) {
		return _dbus_boxes_fdo_accounts_user_get_SystemAccount (object);
	} else if (strcmp (property_name, "AccountType") == 0) {
		return _dbus_boxes_fdo_accounts_user_get_AccountType (object);
	} else if (strcmp (property_name, "PasswordMode") == 0) {
		return _dbus_boxes_fdo_accounts_user_get_PasswordMode (object);
	} else if (strcmp (property_name, "Email") == 0) {
		return _dbus_boxes_fdo_accounts_user_get_Email (object);
	} else if (strcmp (property_name, "HomeDirectory") == 0) {
		return _dbus_boxes_fdo_accounts_user_get_HomeDirectory (object);
	} else if (strcmp (property_name, "IconFile") == 0) {
		return _dbus_boxes_fdo_accounts_user_get_IconFile (object);
	} else if (strcmp (property_name, "Language") == 0) {
		return _dbus_boxes_fdo_accounts_user_get_Language (object);
	} else if (strcmp (property_name, "Location") == 0) {
		return _dbus_boxes_fdo_accounts_user_get_Location (object);
	} else if (strcmp (property_name, "RealName") == 0) {
		return _dbus_boxes_fdo_accounts_user_get_RealName (object);
	} else if (strcmp (property_name, "Shell") == 0) {
		return _dbus_boxes_fdo_accounts_user_get_Shell (object);
	} else if (strcmp (property_name, "UserName") == 0) {
		return _dbus_boxes_fdo_accounts_user_get_UserName (object);
	} else if (strcmp (property_name, "XSession") == 0) {
		return _dbus_boxes_fdo_accounts_user_get_XSession (object);
	}
	return NULL;
}


static gboolean boxes_fdo_accounts_user_dbus_interface_set_property (GDBusConnection* connection, const gchar* sender, const gchar* object_path, const gchar* interface_name, const gchar* property_name, GVariant* value, GError** error, gpointer user_data) {
	gpointer* data;
	gpointer object;
	data = user_data;
	object = data[0];
	return FALSE;
}


guint boxes_fdo_accounts_user_register_object (gpointer object, GDBusConnection* connection, const gchar* path, GError** error) {
	guint result;
	gpointer *data;
	data = g_new (gpointer, 3);
	data[0] = g_object_ref (object);
	data[1] = g_object_ref (connection);
	data[2] = g_strdup (path);
	result = g_dbus_connection_register_object (connection, path, (GDBusInterfaceInfo *) (&_boxes_fdo_accounts_user_dbus_interface_info), &_boxes_fdo_accounts_user_dbus_interface_vtable, data, _boxes_fdo_accounts_user_unregister_object, error);
	if (!result) {
		return 0;
	}
	return result;
}


static void _boxes_fdo_accounts_user_unregister_object (gpointer user_data) {
	gpointer* data;
	data = user_data;
	g_object_unref (data[0]);
	g_object_unref (data[1]);
	g_free (data[2]);
	g_free (data);
}


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


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


static gint _vala_array_length (gpointer array) {
	int length;
	length = 0;
	if (array) {
		while (((gpointer*) array)[length]) {
			length++;
		}
	}
	return length;
}



