/* wizard-source.c generated by valac 0.17.7, the Vala compiler
 * generated from wizard-source.vala, do not modify */

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

#include <glib.h>
#include <glib-object.h>
#include <gtk/gtk.h>
#include <stdlib.h>
#include <string.h>
#include <glib/gi18n-lib.h>
#include <gio/gio.h>
#include <libvirt-gconfig/libvirt-gconfig.h>
#include <libcommon.h>
#include <osinfo/osinfo.h>
#include <pango/pango.h>
#include <float.h>
#include <math.h>
#include <clutter/clutter.h>
#include <clutter-gtk/clutter-gtk.h>


#define BOXES_TYPE_SOURCE_PAGE (boxes_source_page_get_type ())

#define BOXES_TYPE_WIZARD_SCROLLED (boxes_wizard_scrolled_get_type ())
#define BOXES_WIZARD_SCROLLED(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), BOXES_TYPE_WIZARD_SCROLLED, BoxesWizardScrolled))
#define BOXES_WIZARD_SCROLLED_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), BOXES_TYPE_WIZARD_SCROLLED, BoxesWizardScrolledClass))
#define BOXES_IS_WIZARD_SCROLLED(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), BOXES_TYPE_WIZARD_SCROLLED))
#define BOXES_IS_WIZARD_SCROLLED_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), BOXES_TYPE_WIZARD_SCROLLED))
#define BOXES_WIZARD_SCROLLED_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), BOXES_TYPE_WIZARD_SCROLLED, BoxesWizardScrolledClass))

typedef struct _BoxesWizardScrolled BoxesWizardScrolled;
typedef struct _BoxesWizardScrolledClass BoxesWizardScrolledClass;
typedef struct _BoxesWizardScrolledPrivate BoxesWizardScrolledPrivate;
#define _g_list_free0(var) ((var == NULL) ? NULL : (var = (g_list_free (var), NULL)))
#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL)))

#define BOXES_TYPE_WIZARD_SOURCE (boxes_wizard_source_get_type ())
#define BOXES_WIZARD_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), BOXES_TYPE_WIZARD_SOURCE, BoxesWizardSource))
#define BOXES_WIZARD_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), BOXES_TYPE_WIZARD_SOURCE, BoxesWizardSourceClass))
#define BOXES_IS_WIZARD_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), BOXES_TYPE_WIZARD_SOURCE))
#define BOXES_IS_WIZARD_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), BOXES_TYPE_WIZARD_SOURCE))
#define BOXES_WIZARD_SOURCE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), BOXES_TYPE_WIZARD_SOURCE, BoxesWizardSourceClass))

typedef struct _BoxesWizardSource BoxesWizardSource;
typedef struct _BoxesWizardSourceClass BoxesWizardSourceClass;
typedef struct _BoxesWizardSourcePrivate BoxesWizardSourcePrivate;

#define BOXES_TYPE_INSTALLER_MEDIA (boxes_installer_media_get_type ())
#define BOXES_INSTALLER_MEDIA(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), BOXES_TYPE_INSTALLER_MEDIA, BoxesInstallerMedia))
#define BOXES_INSTALLER_MEDIA_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), BOXES_TYPE_INSTALLER_MEDIA, BoxesInstallerMediaClass))
#define BOXES_IS_INSTALLER_MEDIA(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), BOXES_TYPE_INSTALLER_MEDIA))
#define BOXES_IS_INSTALLER_MEDIA_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), BOXES_TYPE_INSTALLER_MEDIA))
#define BOXES_INSTALLER_MEDIA_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), BOXES_TYPE_INSTALLER_MEDIA, BoxesInstallerMediaClass))

typedef struct _BoxesInstallerMedia BoxesInstallerMedia;
typedef struct _BoxesInstallerMediaClass BoxesInstallerMediaClass;

#define BOXES_TYPE_MEDIA_MANAGER (boxes_media_manager_get_type ())
#define BOXES_MEDIA_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), BOXES_TYPE_MEDIA_MANAGER, BoxesMediaManager))
#define BOXES_MEDIA_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), BOXES_TYPE_MEDIA_MANAGER, BoxesMediaManagerClass))
#define BOXES_IS_MEDIA_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), BOXES_TYPE_MEDIA_MANAGER))
#define BOXES_IS_MEDIA_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), BOXES_TYPE_MEDIA_MANAGER))
#define BOXES_MEDIA_MANAGER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), BOXES_TYPE_MEDIA_MANAGER, BoxesMediaManagerClass))

typedef struct _BoxesMediaManager BoxesMediaManager;
typedef struct _BoxesMediaManagerClass BoxesMediaManagerClass;
#define _g_free0(var) (var = (g_free (var), NULL))
typedef struct _BoxesInstallerMediaPrivate BoxesInstallerMediaPrivate;
#define __g_list_free__g_object_unref0_0(var) ((var == NULL) ? NULL : (var = (_g_list_free__g_object_unref0_ (var), NULL)))
typedef struct _BoxesWizardSourceAddMediaEntriesData BoxesWizardSourceAddMediaEntriesData;
typedef struct _Block47Data Block47Data;
typedef struct _Block48Data Block48Data;
typedef struct _Block49Data Block49Data;

#define BOXES_TYPE_UI (boxes_ui_get_type ())
#define BOXES_UI(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), BOXES_TYPE_UI, BoxesUI))
#define BOXES_UI_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), BOXES_TYPE_UI, BoxesUIClass))
#define BOXES_IS_UI(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), BOXES_TYPE_UI))
#define BOXES_IS_UI_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), BOXES_TYPE_UI))
#define BOXES_UI_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), BOXES_TYPE_UI, BoxesUIClass))

typedef struct _BoxesUI BoxesUI;
typedef struct _BoxesUIClass BoxesUIClass;

#define BOXES_TYPE_APP (boxes_app_get_type ())
#define BOXES_APP(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), BOXES_TYPE_APP, BoxesApp))
#define BOXES_APP_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), BOXES_TYPE_APP, BoxesAppClass))
#define BOXES_IS_APP(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), BOXES_TYPE_APP))
#define BOXES_IS_APP_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), BOXES_TYPE_APP))
#define BOXES_APP_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), BOXES_TYPE_APP, BoxesAppClass))

typedef struct _BoxesApp BoxesApp;
typedef struct _BoxesAppClass BoxesAppClass;
typedef struct _BoxesUIPrivate BoxesUIPrivate;

#define BOXES_TYPE_UI_STATE (boxes_ui_state_get_type ())
typedef struct _BoxesAppPrivate BoxesAppPrivate;

#define BOXES_TYPE_COLLECTION_ITEM (boxes_collection_item_get_type ())
#define BOXES_COLLECTION_ITEM(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), BOXES_TYPE_COLLECTION_ITEM, BoxesCollectionItem))
#define BOXES_COLLECTION_ITEM_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), BOXES_TYPE_COLLECTION_ITEM, BoxesCollectionItemClass))
#define BOXES_IS_COLLECTION_ITEM(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), BOXES_TYPE_COLLECTION_ITEM))
#define BOXES_IS_COLLECTION_ITEM_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), BOXES_TYPE_COLLECTION_ITEM))
#define BOXES_COLLECTION_ITEM_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), BOXES_TYPE_COLLECTION_ITEM, BoxesCollectionItemClass))

typedef struct _BoxesCollectionItem BoxesCollectionItem;
typedef struct _BoxesCollectionItemClass BoxesCollectionItemClass;

#define BOXES_TYPE_SEARCHBAR (boxes_searchbar_get_type ())
#define BOXES_SEARCHBAR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), BOXES_TYPE_SEARCHBAR, BoxesSearchbar))
#define BOXES_SEARCHBAR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), BOXES_TYPE_SEARCHBAR, BoxesSearchbarClass))
#define BOXES_IS_SEARCHBAR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), BOXES_TYPE_SEARCHBAR))
#define BOXES_IS_SEARCHBAR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), BOXES_TYPE_SEARCHBAR))
#define BOXES_SEARCHBAR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), BOXES_TYPE_SEARCHBAR, BoxesSearchbarClass))

typedef struct _BoxesSearchbar BoxesSearchbar;
typedef struct _BoxesSearchbarClass BoxesSearchbarClass;

#define BOXES_TYPE_TOPBAR (boxes_topbar_get_type ())
#define BOXES_TOPBAR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), BOXES_TYPE_TOPBAR, BoxesTopbar))
#define BOXES_TOPBAR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), BOXES_TYPE_TOPBAR, BoxesTopbarClass))
#define BOXES_IS_TOPBAR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), BOXES_TYPE_TOPBAR))
#define BOXES_IS_TOPBAR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), BOXES_TYPE_TOPBAR))
#define BOXES_TOPBAR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), BOXES_TYPE_TOPBAR, BoxesTopbarClass))

typedef struct _BoxesTopbar BoxesTopbar;
typedef struct _BoxesTopbarClass BoxesTopbarClass;

#define BOXES_TYPE_NOTIFICATIONBAR (boxes_notificationbar_get_type ())
#define BOXES_NOTIFICATIONBAR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), BOXES_TYPE_NOTIFICATIONBAR, BoxesNotificationbar))
#define BOXES_NOTIFICATIONBAR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), BOXES_TYPE_NOTIFICATIONBAR, BoxesNotificationbarClass))
#define BOXES_IS_NOTIFICATIONBAR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), BOXES_TYPE_NOTIFICATIONBAR))
#define BOXES_IS_NOTIFICATIONBAR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), BOXES_TYPE_NOTIFICATIONBAR))
#define BOXES_NOTIFICATIONBAR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), BOXES_TYPE_NOTIFICATIONBAR, BoxesNotificationbarClass))

typedef struct _BoxesNotificationbar BoxesNotificationbar;
typedef struct _BoxesNotificationbarClass BoxesNotificationbarClass;

#define BOXES_TYPE_REVEALER (boxes_revealer_get_type ())
#define BOXES_REVEALER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), BOXES_TYPE_REVEALER, BoxesRevealer))
#define BOXES_REVEALER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), BOXES_TYPE_REVEALER, BoxesRevealerClass))
#define BOXES_IS_REVEALER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), BOXES_TYPE_REVEALER))
#define BOXES_IS_REVEALER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), BOXES_TYPE_REVEALER))
#define BOXES_REVEALER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), BOXES_TYPE_REVEALER, BoxesRevealerClass))

typedef struct _BoxesRevealer BoxesRevealer;
typedef struct _BoxesRevealerClass BoxesRevealerClass;

#define BOXES_TYPE_SIDEBAR (boxes_sidebar_get_type ())
#define BOXES_SIDEBAR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), BOXES_TYPE_SIDEBAR, BoxesSidebar))
#define BOXES_SIDEBAR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), BOXES_TYPE_SIDEBAR, BoxesSidebarClass))
#define BOXES_IS_SIDEBAR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), BOXES_TYPE_SIDEBAR))
#define BOXES_IS_SIDEBAR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), BOXES_TYPE_SIDEBAR))
#define BOXES_SIDEBAR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), BOXES_TYPE_SIDEBAR, BoxesSidebarClass))

typedef struct _BoxesSidebar BoxesSidebar;
typedef struct _BoxesSidebarClass BoxesSidebarClass;

#define BOXES_TYPE_SELECTIONBAR (boxes_selectionbar_get_type ())
#define BOXES_SELECTIONBAR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), BOXES_TYPE_SELECTIONBAR, BoxesSelectionbar))
#define BOXES_SELECTIONBAR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), BOXES_TYPE_SELECTIONBAR, BoxesSelectionbarClass))
#define BOXES_IS_SELECTIONBAR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), BOXES_TYPE_SELECTIONBAR))
#define BOXES_IS_SELECTIONBAR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), BOXES_TYPE_SELECTIONBAR))
#define BOXES_SELECTIONBAR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), BOXES_TYPE_SELECTIONBAR, BoxesSelectionbarClass))

typedef struct _BoxesSelectionbar BoxesSelectionbar;
typedef struct _BoxesSelectionbarClass BoxesSelectionbarClass;

#define BOXES_TYPE_WIZARD (boxes_wizard_get_type ())
#define BOXES_WIZARD(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), BOXES_TYPE_WIZARD, BoxesWizard))
#define BOXES_WIZARD_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), BOXES_TYPE_WIZARD, BoxesWizardClass))
#define BOXES_IS_WIZARD(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), BOXES_TYPE_WIZARD))
#define BOXES_IS_WIZARD_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), BOXES_TYPE_WIZARD))
#define BOXES_WIZARD_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), BOXES_TYPE_WIZARD, BoxesWizardClass))

typedef struct _BoxesWizard BoxesWizard;
typedef struct _BoxesWizardClass BoxesWizardClass;

#define BOXES_TYPE_PROPERTIES (boxes_properties_get_type ())
#define BOXES_PROPERTIES(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), BOXES_TYPE_PROPERTIES, BoxesProperties))
#define BOXES_PROPERTIES_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), BOXES_TYPE_PROPERTIES, BoxesPropertiesClass))
#define BOXES_IS_PROPERTIES(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), BOXES_TYPE_PROPERTIES))
#define BOXES_IS_PROPERTIES_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), BOXES_TYPE_PROPERTIES))
#define BOXES_PROPERTIES_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), BOXES_TYPE_PROPERTIES, BoxesPropertiesClass))

typedef struct _BoxesProperties BoxesProperties;
typedef struct _BoxesPropertiesClass BoxesPropertiesClass;

#define BOXES_TYPE_DISPLAY_PAGE (boxes_display_page_get_type ())
#define BOXES_DISPLAY_PAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), BOXES_TYPE_DISPLAY_PAGE, BoxesDisplayPage))
#define BOXES_DISPLAY_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), BOXES_TYPE_DISPLAY_PAGE, BoxesDisplayPageClass))
#define BOXES_IS_DISPLAY_PAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), BOXES_TYPE_DISPLAY_PAGE))
#define BOXES_IS_DISPLAY_PAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), BOXES_TYPE_DISPLAY_PAGE))
#define BOXES_DISPLAY_PAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), BOXES_TYPE_DISPLAY_PAGE, BoxesDisplayPageClass))

typedef struct _BoxesDisplayPage BoxesDisplayPage;
typedef struct _BoxesDisplayPageClass BoxesDisplayPageClass;

#define BOXES_TYPE_COLLECTION (boxes_collection_get_type ())
#define BOXES_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), BOXES_TYPE_COLLECTION, BoxesCollection))
#define BOXES_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), BOXES_TYPE_COLLECTION, BoxesCollectionClass))
#define BOXES_IS_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), BOXES_TYPE_COLLECTION))
#define BOXES_IS_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), BOXES_TYPE_COLLECTION))
#define BOXES_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), BOXES_TYPE_COLLECTION, BoxesCollectionClass))

typedef struct _BoxesCollection BoxesCollection;
typedef struct _BoxesCollectionClass BoxesCollectionClass;

#define BOXES_TYPE_COLLECTION_FILTER (boxes_collection_filter_get_type ())
#define BOXES_COLLECTION_FILTER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), BOXES_TYPE_COLLECTION_FILTER, BoxesCollectionFilter))
#define BOXES_COLLECTION_FILTER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), BOXES_TYPE_COLLECTION_FILTER, BoxesCollectionFilterClass))
#define BOXES_IS_COLLECTION_FILTER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), BOXES_TYPE_COLLECTION_FILTER))
#define BOXES_IS_COLLECTION_FILTER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), BOXES_TYPE_COLLECTION_FILTER))
#define BOXES_COLLECTION_FILTER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), BOXES_TYPE_COLLECTION_FILTER, BoxesCollectionFilterClass))

typedef struct _BoxesCollectionFilter BoxesCollectionFilter;
typedef struct _BoxesCollectionFilterClass BoxesCollectionFilterClass;

#define BOXES_TYPE_COLLECTION_VIEW (boxes_collection_view_get_type ())
#define BOXES_COLLECTION_VIEW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), BOXES_TYPE_COLLECTION_VIEW, BoxesCollectionView))
#define BOXES_COLLECTION_VIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), BOXES_TYPE_COLLECTION_VIEW, BoxesCollectionViewClass))
#define BOXES_IS_COLLECTION_VIEW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), BOXES_TYPE_COLLECTION_VIEW))
#define BOXES_IS_COLLECTION_VIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), BOXES_TYPE_COLLECTION_VIEW))
#define BOXES_COLLECTION_VIEW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), BOXES_TYPE_COLLECTION_VIEW, BoxesCollectionViewClass))

typedef struct _BoxesCollectionView BoxesCollectionView;
typedef struct _BoxesCollectionViewClass BoxesCollectionViewClass;

typedef enum  {
	BOXES_SOURCE_PAGE_MAIN,
	BOXES_SOURCE_PAGE_URL,
	BOXES_SOURCE_PAGE_LAST
} BoxesSourcePage;

typedef void (*ClickedFunc) (void* user_data);
struct _BoxesWizardScrolled {
	GtkScrolledWindow parent_instance;
	BoxesWizardScrolledPrivate * priv;
};

struct _BoxesWizardScrolledClass {
	GtkScrolledWindowClass parent_class;
};

struct _BoxesWizardScrolledPrivate {
	gint num_visible;
};

struct _BoxesWizardSource {
	GObject parent_instance;
	BoxesWizardSourcePrivate * priv;
	GtkEntry* url_entry;
};

struct _BoxesWizardSourceClass {
	GObjectClass parent_class;
};

struct _BoxesWizardSourcePrivate {
	GtkWidget* _selected;
	BoxesSourcePage _page;
	BoxesInstallerMedia* _install_media;
	GtkBox* main_vbox;
	GtkBox* media_vbox;
	GtkScrolledWindow* media_scrolled;
	GtkNotebook* notebook;
	GtkLabel* url_label;
	GtkImage* url_image;
	BoxesMediaManager* media_manager;
};

struct _BoxesInstallerMedia {
	GObject parent_instance;
	BoxesInstallerMediaPrivate * priv;
	OsinfoOs* os;
	OsinfoResources* resources;
	OsinfoMedia* os_media;
	gchar* label;
	gchar* device_file;
	gchar* mount_point;
	gboolean from_image;
};

struct _BoxesInstallerMediaClass {
	GObjectClass parent_class;
	void (*set_direct_boot_params) (BoxesInstallerMedia* self, GVirConfigDomainOs* os);
	void (*prepare_for_installation) (BoxesInstallerMedia* self, const gchar* vm_name, GCancellable* cancellable, GAsyncReadyCallback _callback_, gpointer _user_data_);
	void (*prepare_for_installation_finish) (BoxesInstallerMedia* self, GAsyncResult* _res_, GError** error);
	void (*setup_domain_config) (BoxesInstallerMedia* self, GVirConfigDomain* domain);
	void (*populate_setup_vbox) (BoxesInstallerMedia* self, GtkVBox* setup_vbox);
	GList* (*get_vm_properties) (BoxesInstallerMedia* self);
	guint64 (*get_installed_size) (BoxesInstallerMedia* self);
	gboolean (*get_need_user_input_for_vm_creation) (BoxesInstallerMedia* self);
	gboolean (*get_user_data_for_vm_creation_available) (BoxesInstallerMedia* self);
	gboolean (*get_supports_virtio_disk) (BoxesInstallerMedia* self);
};

struct _BoxesWizardSourceAddMediaEntriesData {
	int _state_;
	GObject* _source_object_;
	GAsyncResult* _res_;
	GSimpleAsyncResult* _async_result;
	BoxesWizardSource* self;
	BoxesMediaManager* _tmp0_;
	GList* _tmp1_;
	GList* medias;
	GtkBox* _tmp2_;
	GList* _tmp3_;
	GList* child_collection;
	GList* child_it;
	GtkWidget* child;
	GtkWidget* _tmp4_;
	gconstpointer _tmp5_;
	gchar* _tmp6_;
	gchar* child_media;
	const gchar* _tmp7_;
	gboolean obsolete;
	GList* _tmp8_;
	GList* media_collection;
	GList* media_it;
	BoxesInstallerMedia* _tmp9_;
	BoxesInstallerMedia* media;
	const gchar* _tmp10_;
	BoxesInstallerMedia* _tmp11_;
	const gchar* _tmp12_;
	gboolean _tmp13_;
	GtkBox* _tmp14_;
	GtkWidget* _tmp15_;
	GList* _tmp16_;
	GList* _vala1_media_collection;
	GList* _vala1_media_it;
	BoxesInstallerMedia* _tmp17_;
	BoxesInstallerMedia* _vala1_media;
	gboolean nouveau;
	GtkBox* _tmp18_;
	GList* _tmp19_;
	GList* _vala1_child_collection;
	GList* _vala1_child_it;
	GtkWidget* _vala1_child;
	GtkWidget* _tmp20_;
	gconstpointer _tmp21_;
	gchar* _tmp22_;
	gchar* _vala1_child_media;
	gboolean _tmp23_;
	const gchar* _tmp24_;
	const gchar* _tmp25_;
	BoxesInstallerMedia* _tmp26_;
	const gchar* _tmp27_;
	gboolean _tmp28_;
	gboolean _tmp29_;
	BoxesInstallerMedia* _tmp30_;
	GtkBox* _tmp31_;
	GList* _tmp32_;
	GList* _tmp33_;
	guint _tmp34_;
	gboolean _tmp35_;
	GtkScrolledWindow* _tmp36_;
};

struct _Block47Data {
	int _ref_count_;
	BoxesWizardSource * self;
	BoxesInstallerMedia* media;
};

struct _Block48Data {
	int _ref_count_;
	BoxesWizardSource * self;
	ClickedFunc clicked;
	gpointer clicked_target;
	GDestroyNotify clicked_target_destroy_notify;
};

struct _Block49Data {
	int _ref_count_;
	Block48Data * _data48_;
	GtkButton* button;
};

typedef enum  {
	BOXES_UI_STATE_NONE,
	BOXES_UI_STATE_COLLECTION,
	BOXES_UI_STATE_CREDS,
	BOXES_UI_STATE_DISPLAY,
	BOXES_UI_STATE_SETTINGS,
	BOXES_UI_STATE_WIZARD,
	BOXES_UI_STATE_PROPERTIES
} BoxesUIState;

struct _BoxesUI {
	GObject parent_instance;
	BoxesUIPrivate * priv;
	BoxesUIState previous_ui_state;
};

struct _BoxesUIClass {
	GObjectClass parent_class;
	void (*ui_state_changed) (BoxesUI* self);
	ClutterActor* (*get_actor) (BoxesUI* self);
};

struct _BoxesApp {
	BoxesUI parent_instance;
	BoxesAppPrivate * priv;
	GtkApplicationWindow* window;
	GtkNotebook* notebook;
	GtkClutterEmbed* embed;
	ClutterStage* stage;
	ClutterBinLayout* stage_bin;
	ClutterActor* overlay_bin_actor;
	ClutterBinLayout* overlay_bin;
	BoxesCollectionItem* current_item;
	BoxesSearchbar* searchbar;
	BoxesTopbar* topbar;
	BoxesNotificationbar* notificationbar;
	BoxesRevealer* sidebar_revealer;
	BoxesRevealer* searchbar_revealer;
	BoxesSidebar* sidebar;
	BoxesSelectionbar* selectionbar;
	guint duration;
	GSettings* settings;
	BoxesWizard* wizard;
	BoxesProperties* properties;
	BoxesDisplayPage* display_page;
	BoxesCollection* collection;
	BoxesCollectionFilter* filter;
	GSimpleAction* action_properties;
	GSimpleAction* action_fullscreen;
	GSimpleAction* action_shutdown;
	BoxesCollectionView* view;
};

struct _BoxesAppClass {
	BoxesUIClass parent_class;
};


static gpointer boxes_wizard_scrolled_parent_class = NULL;
static gpointer boxes_wizard_source_parent_class = NULL;
extern BoxesApp* boxes_app_app;

GType boxes_source_page_get_type (void) G_GNUC_CONST;
GType boxes_wizard_scrolled_get_type (void) G_GNUC_CONST;
#define BOXES_WIZARD_SCROLLED_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), BOXES_TYPE_WIZARD_SCROLLED, BoxesWizardScrolledPrivate))
enum  {
	BOXES_WIZARD_SCROLLED_DUMMY_PROPERTY
};
BoxesWizardScrolled* boxes_wizard_scrolled_new (gint num_visible);
BoxesWizardScrolled* boxes_wizard_scrolled_construct (GType object_type, gint num_visible);
static void __lambda118_ (BoxesWizardScrolled* self);
static void ___lambda118__gtk_widget_show (GtkWidget* _sender, gpointer self);
static void __lambda119_ (BoxesWizardScrolled* self);
static void ___lambda119__gtk_widget_hide (GtkWidget* _sender, gpointer self);
static void boxes_wizard_scrolled_real_get_preferred_height (GtkWidget* base, gint* minimum_height, gint* natural_height);
static void boxes_wizard_scrolled_finalize (GObject* obj);
GType boxes_wizard_source_get_type (void) G_GNUC_CONST;
GType boxes_installer_media_get_type (void) G_GNUC_CONST;
GType boxes_media_manager_get_type (void) G_GNUC_CONST;
#define BOXES_WIZARD_SOURCE_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), BOXES_TYPE_WIZARD_SOURCE, BoxesWizardSourcePrivate))
enum  {
	BOXES_WIZARD_SOURCE_DUMMY_PROPERTY,
	BOXES_WIZARD_SOURCE_WIDGET,
	BOXES_WIZARD_SOURCE_SELECTED,
	BOXES_WIZARD_SOURCE_PAGE,
	BOXES_WIZARD_SOURCE_URI,
	BOXES_WIZARD_SOURCE_INSTALL_MEDIA
};
BoxesWizardSource* boxes_wizard_source_new (BoxesMediaManager* media_manager);
BoxesWizardSource* boxes_wizard_source_construct (GType object_type, BoxesMediaManager* media_manager);
static GtkBox* boxes_wizard_source_add_entry (BoxesWizardSource* self, GtkBox* box, ClickedFunc clicked, void* clicked_target, GDestroyNotify clicked_target_destroy_notify, gint h_margin, gint v_margin, const gchar* media);
static void __lambda121_ (BoxesWizardSource* self);
void boxes_wizard_source_set_page (BoxesWizardSource* self, BoxesSourcePage value);
static void ___lambda121__clicked_func (gpointer self);
static void boxes_wizard_source_launch_file_selection_dialog (BoxesWizardSource* self);
static void _boxes_wizard_source_launch_file_selection_dialog_clicked_func (gpointer self);
static void __lambda125_ (BoxesWizardSource* self);
static void ___lambda125__clicked_func (gpointer self);
static void boxes_wizard_source_add_media_entries (BoxesWizardSource* self, GAsyncReadyCallback _callback_, gpointer _user_data_);
static void boxes_wizard_source_add_media_entries_finish (BoxesWizardSource* self, GAsyncResult* _res_);
void boxes_wizard_source_update_url_page (BoxesWizardSource* self, const gchar* title, const gchar* text, const gchar* icon_name);
static void boxes_wizard_source_add_media_entries_data_free (gpointer _data);
static gboolean boxes_wizard_source_add_media_entries_co (BoxesWizardSourceAddMediaEntriesData* _data_);
void boxes_media_manager_list_installer_medias (BoxesMediaManager* self, GAsyncReadyCallback _callback_, gpointer _user_data_);
GList* boxes_media_manager_list_installer_medias_finish (BoxesMediaManager* self, GAsyncResult* _res_);
static void boxes_wizard_source_add_media_entries_ready (GObject* source_object, GAsyncResult* _res_, gpointer _user_data_);
static void boxes_wizard_source_add_media_entry (BoxesWizardSource* self, BoxesInstallerMedia* media);
static void _g_object_unref0_ (gpointer var);
static void _g_list_free__g_object_unref0_ (GList* self);
static Block47Data* block47_data_ref (Block47Data* _data47_);
static void block47_data_unref (void * _userdata_);
static void __lambda122_ (Block47Data* _data47_);
static void boxes_wizard_source_set_install_media (BoxesWizardSource* self, BoxesInstallerMedia* value);
void boxes_wizard_source_set_uri (BoxesWizardSource* self, const gchar* value);
static void ___lambda122__clicked_func (gpointer self);
void boxes_downloader_fetch_os_logo (GtkImage* image, OsinfoOs* os, gint size, GAsyncReadyCallback _callback_, gpointer _user_data_);
void boxes_downloader_fetch_os_logo_finish (GAsyncResult* _res_);
static Block48Data* block48_data_ref (Block48Data* _data48_);
static void block48_data_unref (void * _userdata_);
static Block49Data* block49_data_ref (Block49Data* _data49_);
static void block49_data_unref (void * _userdata_);
static void ___lambda120_ (Block49Data* _data49_);
void boxes_wizard_source_set_selected (BoxesWizardSource* self, GtkWidget* value);
static void ____lambda120__gtk_button_clicked (GtkButton* _sender, gpointer self);
void boxes_draw_as_css_box (GtkWidget* widget);
GType boxes_ui_get_type (void) G_GNUC_CONST;
GType boxes_app_get_type (void) G_GNUC_CONST;
GType boxes_ui_state_get_type (void) G_GNUC_CONST;
GType boxes_collection_item_get_type (void) G_GNUC_CONST;
GType boxes_searchbar_get_type (void) G_GNUC_CONST;
GType boxes_topbar_get_type (void) G_GNUC_CONST;
GType boxes_notificationbar_get_type (void) G_GNUC_CONST;
GType boxes_revealer_get_type (void) G_GNUC_CONST;
GType boxes_sidebar_get_type (void) G_GNUC_CONST;
GType boxes_selectionbar_get_type (void) G_GNUC_CONST;
GType boxes_wizard_get_type (void) G_GNUC_CONST;
GType boxes_properties_get_type (void) G_GNUC_CONST;
GType boxes_display_page_get_type (void) G_GNUC_CONST;
GType boxes_collection_get_type (void) G_GNUC_CONST;
GType boxes_collection_filter_get_type (void) G_GNUC_CONST;
GType boxes_collection_view_get_type (void) G_GNUC_CONST;
GtkWidget* boxes_wizard_source_get_widget (BoxesWizardSource* self);
GtkWidget* boxes_wizard_source_get_selected (BoxesWizardSource* self);
BoxesSourcePage boxes_wizard_source_get_page (BoxesWizardSource* self);
const gchar* boxes_wizard_source_get_uri (BoxesWizardSource* self);
BoxesInstallerMedia* boxes_wizard_source_get_install_media (BoxesWizardSource* self);
static void boxes_wizard_source_finalize (GObject* obj);
static void _vala_boxes_wizard_source_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec);
static void _vala_boxes_wizard_source_set_property (GObject * object, guint property_id, const GValue * value, GParamSpec * pspec);


GType boxes_source_page_get_type (void) {
	static volatile gsize boxes_source_page_type_id__volatile = 0;
	if (g_once_init_enter (&boxes_source_page_type_id__volatile)) {
		static const GEnumValue values[] = {{BOXES_SOURCE_PAGE_MAIN, "BOXES_SOURCE_PAGE_MAIN", "main"}, {BOXES_SOURCE_PAGE_URL, "BOXES_SOURCE_PAGE_URL", "url"}, {BOXES_SOURCE_PAGE_LAST, "BOXES_SOURCE_PAGE_LAST", "last"}, {0, NULL, NULL}};
		GType boxes_source_page_type_id;
		boxes_source_page_type_id = g_enum_register_static ("BoxesSourcePage", values);
		g_once_init_leave (&boxes_source_page_type_id__volatile, boxes_source_page_type_id);
	}
	return boxes_source_page_type_id__volatile;
}


static void __lambda118_ (BoxesWizardScrolled* self) {
	GtkStyleContext* _tmp0_ = NULL;
	_tmp0_ = gtk_widget_get_style_context ((GtkWidget*) self);
	gtk_style_context_add_class (_tmp0_, "boxes-menu-scrolled");
	gtk_widget_reset_style ((GtkWidget*) self);
}


static void ___lambda118__gtk_widget_show (GtkWidget* _sender, gpointer self) {
	__lambda118_ (self);
}


static void __lambda119_ (BoxesWizardScrolled* self) {
	GtkStyleContext* _tmp0_ = NULL;
	_tmp0_ = gtk_widget_get_style_context ((GtkWidget*) self);
	gtk_style_context_remove_class (_tmp0_, "boxes-menu-scrolled");
	gtk_widget_reset_style ((GtkWidget*) self);
}


static void ___lambda119__gtk_widget_hide (GtkWidget* _sender, gpointer self) {
	__lambda119_ (self);
}


BoxesWizardScrolled* boxes_wizard_scrolled_construct (GType object_type, gint num_visible) {
	BoxesWizardScrolled * self = NULL;
	gint _tmp0_;
	GtkStyleContext* _tmp1_ = NULL;
	GtkWidget* _tmp2_ = NULL;
	GtkWidget* _tmp3_ = NULL;
	self = (BoxesWizardScrolled*) g_object_new (object_type, NULL);
	_tmp0_ = num_visible;
	self->priv->num_visible = _tmp0_;
	_tmp1_ = gtk_widget_get_style_context ((GtkWidget*) self);
	gtk_style_context_add_class (_tmp1_, "boxes-menu-scrolled");
	gtk_scrolled_window_set_policy ((GtkScrolledWindow*) self, GTK_POLICY_NEVER, GTK_POLICY_AUTOMATIC);
	_tmp2_ = gtk_scrolled_window_get_vscrollbar ((GtkScrolledWindow*) self);
	g_signal_connect_object (_tmp2_, "show", (GCallback) ___lambda118__gtk_widget_show, self, 0);
	_tmp3_ = gtk_scrolled_window_get_vscrollbar ((GtkScrolledWindow*) self);
	g_signal_connect_object (_tmp3_, "hide", (GCallback) ___lambda119__gtk_widget_hide, self, 0);
	return self;
}


BoxesWizardScrolled* boxes_wizard_scrolled_new (gint num_visible) {
	return boxes_wizard_scrolled_construct (BOXES_TYPE_WIZARD_SCROLLED, num_visible);
}


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


static void boxes_wizard_scrolled_real_get_preferred_height (GtkWidget* base, gint* minimum_height, gint* natural_height) {
	BoxesWizardScrolled * self;
	gint _vala_minimum_height = 0;
	gint _vala_natural_height = 0;
	gint _tmp0_ = 0;
	gint _tmp1_ = 0;
	GtkWidget* _tmp2_ = NULL;
	GtkViewport* _tmp3_;
	GtkViewport* viewport;
	GtkViewport* _tmp4_;
	GtkWidget* _tmp5_ = NULL;
	GtkBox* _tmp6_;
	GtkBox* box;
	gint height;
	gint i;
	GtkBox* _tmp7_;
	GList* _tmp8_ = NULL;
	gint _tmp18_;
	gint _tmp19_;
	gint _tmp20_ = 0;
	gint _tmp21_;
	gint _tmp22_;
	gint _tmp23_ = 0;
	self = (BoxesWizardScrolled*) base;
	GTK_WIDGET_CLASS (boxes_wizard_scrolled_parent_class)->get_preferred_height ((GtkWidget*) G_TYPE_CHECK_INSTANCE_CAST (self, GTK_TYPE_SCROLLED_WINDOW, GtkScrolledWindow), &_tmp0_, &_tmp1_);
	_vala_minimum_height = _tmp0_;
	_vala_natural_height = _tmp1_;
	_tmp2_ = gtk_bin_get_child ((GtkBin*) self);
	_tmp3_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp2_, GTK_TYPE_VIEWPORT) ? ((GtkViewport*) _tmp2_) : NULL);
	viewport = _tmp3_;
	_tmp4_ = viewport;
	_tmp5_ = gtk_bin_get_child ((GtkBin*) _tmp4_);
	_tmp6_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp5_, GTK_TYPE_BOX) ? ((GtkBox*) _tmp5_) : NULL);
	box = _tmp6_;
	height = 0;
	i = 0;
	_tmp7_ = box;
	_tmp8_ = gtk_container_get_children ((GtkContainer*) _tmp7_);
	{
		GList* w_collection = NULL;
		GList* w_it = NULL;
		w_collection = _tmp8_;
		for (w_it = w_collection; w_it != NULL; w_it = w_it->next) {
			GtkWidget* w = NULL;
			w = (GtkWidget*) w_it->data;
			{
				GtkWidget* _tmp9_;
				gboolean _tmp10_ = FALSE;
				gint child_height = 0;
				GtkWidget* _tmp11_;
				gint _tmp12_ = 0;
				gint _tmp13_;
				gint _tmp14_;
				gint _tmp15_;
				gint _tmp16_;
				gint _tmp17_;
				_tmp9_ = w;
				_tmp10_ = gtk_widget_get_visible (_tmp9_);
				if (!_tmp10_) {
					continue;
				}
				_tmp11_ = w;
				gtk_widget_get_preferred_height (_tmp11_, NULL, &_tmp12_);
				child_height = _tmp12_;
				_tmp13_ = height;
				_tmp14_ = child_height;
				height = _tmp13_ + _tmp14_;
				_tmp15_ = i;
				i = _tmp15_ + 1;
				_tmp16_ = i;
				_tmp17_ = self->priv->num_visible;
				if (_tmp16_ == _tmp17_) {
					break;
				}
			}
		}
		_g_list_free0 (w_collection);
	}
	_tmp18_ = _vala_minimum_height;
	_tmp19_ = height;
	_tmp20_ = MAX (_tmp18_, _tmp19_);
	_vala_minimum_height = _tmp20_;
	_tmp21_ = _vala_natural_height;
	_tmp22_ = height;
	_tmp23_ = MAX (_tmp21_, _tmp22_);
	_vala_natural_height = _tmp23_;
	_g_object_unref0 (box);
	_g_object_unref0 (viewport);
	if (minimum_height) {
		*minimum_height = _vala_minimum_height;
	}
	if (natural_height) {
		*natural_height = _vala_natural_height;
	}
}


static void boxes_wizard_scrolled_class_init (BoxesWizardScrolledClass * klass) {
	boxes_wizard_scrolled_parent_class = g_type_class_peek_parent (klass);
	g_type_class_add_private (klass, sizeof (BoxesWizardScrolledPrivate));
	GTK_WIDGET_CLASS (klass)->get_preferred_height = boxes_wizard_scrolled_real_get_preferred_height;
	G_OBJECT_CLASS (klass)->finalize = boxes_wizard_scrolled_finalize;
}


static void boxes_wizard_scrolled_instance_init (BoxesWizardScrolled * self) {
	self->priv = BOXES_WIZARD_SCROLLED_GET_PRIVATE (self);
}


static void boxes_wizard_scrolled_finalize (GObject* obj) {
	BoxesWizardScrolled * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, BOXES_TYPE_WIZARD_SCROLLED, BoxesWizardScrolled);
	G_OBJECT_CLASS (boxes_wizard_scrolled_parent_class)->finalize (obj);
}


GType boxes_wizard_scrolled_get_type (void) {
	static volatile gsize boxes_wizard_scrolled_type_id__volatile = 0;
	if (g_once_init_enter (&boxes_wizard_scrolled_type_id__volatile)) {
		static const GTypeInfo g_define_type_info = { sizeof (BoxesWizardScrolledClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) boxes_wizard_scrolled_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (BoxesWizardScrolled), 0, (GInstanceInitFunc) boxes_wizard_scrolled_instance_init, NULL };
		GType boxes_wizard_scrolled_type_id;
		boxes_wizard_scrolled_type_id = g_type_register_static (GTK_TYPE_SCROLLED_WINDOW, "BoxesWizardScrolled", &g_define_type_info, 0);
		g_once_init_leave (&boxes_wizard_scrolled_type_id__volatile, boxes_wizard_scrolled_type_id);
	}
	return boxes_wizard_scrolled_type_id__volatile;
}


static void __lambda121_ (BoxesWizardSource* self) {
	boxes_wizard_source_set_page (self, BOXES_SOURCE_PAGE_URL);
}


static void ___lambda121__clicked_func (gpointer self) {
	__lambda121_ (self);
}


static void _boxes_wizard_source_launch_file_selection_dialog_clicked_func (gpointer self) {
	boxes_wizard_source_launch_file_selection_dialog (self);
}


static void __lambda125_ (BoxesWizardSource* self) {
	boxes_wizard_source_set_page (self, BOXES_SOURCE_PAGE_MAIN);
}


static void ___lambda125__clicked_func (gpointer self) {
	__lambda125_ (self);
}


BoxesWizardSource* boxes_wizard_source_construct (GType object_type, BoxesMediaManager* media_manager) {
	BoxesWizardSource * self = NULL;
	BoxesMediaManager* _tmp0_;
	BoxesMediaManager* _tmp1_;
	GtkNotebook* _tmp2_;
	GtkNotebook* _tmp3_;
	GtkNotebook* _tmp4_;
	GtkStyleContext* _tmp5_ = NULL;
	GtkNotebook* _tmp6_;
	GtkBox* _tmp7_;
	GtkBox* _tmp8_;
	GtkStyleContext* _tmp9_ = NULL;
	GtkBox* _tmp10_;
	GtkBox* _tmp11_;
	GtkBox* _tmp12_;
	GtkNotebook* _tmp13_;
	GtkBox* _tmp14_;
	BoxesWizardScrolled* _tmp15_;
	GtkBox* _tmp16_;
	GtkScrolledWindow* _tmp17_;
	GtkScrolledWindow* _tmp18_;
	GtkBox* _tmp19_;
	GtkBox* _tmp20_;
	GtkScrolledWindow* _tmp21_;
	GtkBox* _tmp22_;
	GtkBox* _tmp23_ = NULL;
	GtkBox* hbox;
	const gchar* _tmp24_ = NULL;
	GtkLabel* _tmp25_;
	GtkLabel* label;
	GtkLabel* _tmp26_;
	GtkBox* _tmp27_;
	GtkLabel* _tmp28_;
	GtkLabel* _tmp29_;
	GtkLabel* next;
	GtkBox* _tmp30_;
	GtkLabel* _tmp31_;
	GtkBox* _tmp32_;
	GtkBox* _tmp33_ = NULL;
	const gchar* _tmp34_ = NULL;
	GtkLabel* _tmp35_;
	GtkLabel* _tmp36_;
	GtkBox* _tmp37_;
	GtkLabel* _tmp38_;
	GtkLabel* _tmp39_;
	GtkBox* _tmp40_;
	GtkLabel* _tmp41_;
	GtkBox* _tmp42_;
	GtkBox* url_menubox;
	GtkStyleContext* _tmp43_ = NULL;
	GtkNotebook* _tmp44_;
	GtkBox* _tmp45_ = NULL;
	GtkLabel* _tmp46_;
	GtkLabel* prev;
	GtkBox* _tmp47_;
	const gchar* _tmp48_ = NULL;
	GtkLabel* _tmp49_;
	GtkLabel* _tmp50_;
	GtkStyleContext* _tmp51_ = NULL;
	GtkBox* _tmp52_;
	GtkLabel* _tmp53_;
	GtkBox* _tmp54_ = NULL;
	GtkBox* vbox;
	GtkEntry* _tmp55_;
	GtkEntry* _tmp56_;
	GtkBox* _tmp57_;
	GtkImage* _tmp58_;
	GtkImage* _tmp59_;
	GtkBox* _tmp60_;
	GtkImage* _tmp61_;
	GtkLabel* _tmp62_;
	GtkLabel* _tmp63_;
	GtkLabel* _tmp64_;
	const gchar* _tmp65_ = NULL;
	GtkLabel* _tmp66_;
	GtkLabel* _tmp67_;
	GtkLabel* _tmp68_;
	GtkBox* _tmp69_;
	GtkLabel* _tmp70_;
	GtkBox* _tmp71_;
	GtkNotebook* _tmp72_;
	g_return_val_if_fail (media_manager != NULL, NULL);
	self = (BoxesWizardSource*) g_object_new (object_type, NULL);
	_tmp0_ = media_manager;
	_tmp1_ = _g_object_ref0 (_tmp0_);
	_g_object_unref0 (self->priv->media_manager);
	self->priv->media_manager = _tmp1_;
	_tmp2_ = (GtkNotebook*) gtk_notebook_new ();
	g_object_ref_sink (_tmp2_);
	_g_object_unref0 (self->priv->notebook);
	self->priv->notebook = _tmp2_;
	_tmp3_ = self->priv->notebook;
	g_object_set ((GtkWidget*) _tmp3_, "width-request", 500, NULL);
	_tmp4_ = self->priv->notebook;
	_tmp5_ = gtk_widget_get_style_context ((GtkWidget*) _tmp4_);
	gtk_style_context_add_class (_tmp5_, "boxes-source-nb");
	_tmp6_ = self->priv->notebook;
	gtk_notebook_set_show_tabs (_tmp6_, FALSE);
	_tmp7_ = (GtkBox*) gtk_box_new (GTK_ORIENTATION_VERTICAL, 0);
	g_object_ref_sink (_tmp7_);
	_g_object_unref0 (self->priv->main_vbox);
	self->priv->main_vbox = _tmp7_;
	_tmp8_ = self->priv->main_vbox;
	_tmp9_ = gtk_widget_get_style_context ((GtkWidget*) _tmp8_);
	gtk_style_context_add_class (_tmp9_, "boxes-menu");
	_tmp10_ = self->priv->main_vbox;
	_tmp11_ = self->priv->main_vbox;
	gtk_widget_set_margin_bottom ((GtkWidget*) _tmp11_, 15);
	gtk_widget_set_margin_top ((GtkWidget*) _tmp10_, 15);
	_tmp12_ = self->priv->main_vbox;
	gtk_widget_grab_focus ((GtkWidget*) _tmp12_);
	_tmp13_ = self->priv->notebook;
	_tmp14_ = self->priv->main_vbox;
	gtk_notebook_append_page (_tmp13_, (GtkWidget*) _tmp14_, NULL);
	_tmp15_ = boxes_wizard_scrolled_new (6);
	g_object_ref_sink (_tmp15_);
	_g_object_unref0 (self->priv->media_scrolled);
	self->priv->media_scrolled = (GtkScrolledWindow*) _tmp15_;
	_tmp16_ = (GtkBox*) gtk_box_new (GTK_ORIENTATION_VERTICAL, 0);
	g_object_ref_sink (_tmp16_);
	_g_object_unref0 (self->priv->media_vbox);
	self->priv->media_vbox = _tmp16_;
	_tmp17_ = self->priv->media_scrolled;
	gtk_widget_set_no_show_all ((GtkWidget*) _tmp17_, TRUE);
	_tmp18_ = self->priv->media_scrolled;
	_tmp19_ = self->priv->media_vbox;
	gtk_scrolled_window_add_with_viewport (_tmp18_, (GtkWidget*) _tmp19_);
	_tmp20_ = self->priv->main_vbox;
	_tmp21_ = self->priv->media_scrolled;
	gtk_container_add ((GtkContainer*) _tmp20_, (GtkWidget*) _tmp21_);
	_tmp22_ = self->priv->main_vbox;
	_tmp23_ = boxes_wizard_source_add_entry (self, _tmp22_, ___lambda121__clicked_func, g_object_ref (self), g_object_unref, 20, 10, NULL);
	hbox = _tmp23_;
	_tmp24_ = _ ("Enter URL");
	_tmp25_ = (GtkLabel*) gtk_label_new (_tmp24_);
	g_object_ref_sink (_tmp25_);
	label = _tmp25_;
	_tmp26_ = label;
	g_object_set ((GtkMisc*) _tmp26_, "xalign", 0.0f, NULL);
	_tmp27_ = hbox;
	_tmp28_ = label;
	gtk_box_pack_start (_tmp27_, (GtkWidget*) _tmp28_, TRUE, TRUE, (guint) 0);
	_tmp29_ = (GtkLabel*) gtk_label_new ("▶");
	g_object_ref_sink (_tmp29_);
	next = _tmp29_;
	_tmp30_ = hbox;
	_tmp31_ = next;
	gtk_box_pack_start (_tmp30_, (GtkWidget*) _tmp31_, FALSE, FALSE, (guint) 0);
	_tmp32_ = self->priv->main_vbox;
	_tmp33_ = boxes_wizard_source_add_entry (self, _tmp32_, _boxes_wizard_source_launch_file_selection_dialog_clicked_func, g_object_ref (self), g_object_unref, 20, 10, NULL);
	_g_object_unref0 (hbox);
	hbox = _tmp33_;
	_tmp34_ = _ ("Select a file");
	_tmp35_ = (GtkLabel*) gtk_label_new (_tmp34_);
	g_object_ref_sink (_tmp35_);
	_g_object_unref0 (label);
	label = _tmp35_;
	_tmp36_ = label;
	g_object_set ((GtkMisc*) _tmp36_, "xalign", 0.0f, NULL);
	_tmp37_ = hbox;
	_tmp38_ = label;
	gtk_box_pack_start (_tmp37_, (GtkWidget*) _tmp38_, TRUE, TRUE, (guint) 0);
	_tmp39_ = (GtkLabel*) gtk_label_new ("▶");
	g_object_ref_sink (_tmp39_);
	_g_object_unref0 (next);
	next = _tmp39_;
	_tmp40_ = hbox;
	_tmp41_ = next;
	gtk_box_pack_start (_tmp40_, (GtkWidget*) _tmp41_, FALSE, FALSE, (guint) 0);
	_tmp42_ = (GtkBox*) gtk_box_new (GTK_ORIENTATION_VERTICAL, 0);
	g_object_ref_sink (_tmp42_);
	url_menubox = _tmp42_;
	_tmp43_ = gtk_widget_get_style_context ((GtkWidget*) url_menubox);
	gtk_style_context_add_class (_tmp43_, "boxes-menu");
	gtk_widget_set_margin_bottom ((GtkWidget*) url_menubox, 15);
	gtk_widget_set_margin_top ((GtkWidget*) url_menubox, 15);
	_tmp44_ = self->priv->notebook;
	gtk_notebook_append_page (_tmp44_, (GtkWidget*) url_menubox, NULL);
	_tmp45_ = boxes_wizard_source_add_entry (self, url_menubox, ___lambda125__clicked_func, g_object_ref (self), g_object_unref, 20, 10, NULL);
	_g_object_unref0 (hbox);
	hbox = _tmp45_;
	_tmp46_ = (GtkLabel*) gtk_label_new ("◀");
	g_object_ref_sink (_tmp46_);
	prev = _tmp46_;
	_tmp47_ = hbox;
	gtk_box_pack_start (_tmp47_, (GtkWidget*) prev, FALSE, FALSE, (guint) 0);
	_tmp48_ = _ ("Enter URL");
	_tmp49_ = (GtkLabel*) gtk_label_new (_tmp48_);
	g_object_ref_sink (_tmp49_);
	_g_object_unref0 (label);
	label = _tmp49_;
	_tmp50_ = label;
	_tmp51_ = gtk_widget_get_style_context ((GtkWidget*) _tmp50_);
	gtk_style_context_add_class (_tmp51_, "boxes-source-label");
	_tmp52_ = hbox;
	_tmp53_ = label;
	gtk_box_pack_start (_tmp52_, (GtkWidget*) _tmp53_, TRUE, TRUE, (guint) 0);
	_tmp54_ = boxes_wizard_source_add_entry (self, url_menubox, NULL, NULL, NULL, 20, 10, NULL);
	vbox = _tmp54_;
	gtk_orientable_set_orientation ((GtkOrientable*) vbox, GTK_ORIENTATION_VERTICAL);
	_tmp55_ = (GtkEntry*) gtk_entry_new ();
	g_object_ref_sink (_tmp55_);
	_g_object_unref0 (self->url_entry);
	self->url_entry = _tmp55_;
	_tmp56_ = self->url_entry;
	gtk_container_add ((GtkContainer*) vbox, (GtkWidget*) _tmp56_);
	_tmp57_ = (GtkBox*) gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0);
	g_object_ref_sink (_tmp57_);
	_g_object_unref0 (hbox);
	hbox = _tmp57_;
	_tmp58_ = (GtkImage*) gtk_image_new_from_icon_name ("network-workgroup", 0);
	g_object_ref_sink (_tmp58_);
	_g_object_unref0 (self->priv->url_image);
	self->priv->url_image = _tmp58_;
	_tmp59_ = self->priv->url_image;
	gtk_image_set_pixel_size (_tmp59_, 96);
	_tmp60_ = hbox;
	_tmp61_ = self->priv->url_image;
	gtk_box_pack_start (_tmp60_, (GtkWidget*) _tmp61_, FALSE, FALSE, (guint) 0);
	_tmp62_ = (GtkLabel*) gtk_label_new (NULL);
	g_object_ref_sink (_tmp62_);
	_g_object_unref0 (self->priv->url_label);
	self->priv->url_label = _tmp62_;
	_tmp63_ = self->priv->url_label;
	g_object_set ((GtkMisc*) _tmp63_, "xalign", 0.0f, NULL);
	_tmp64_ = self->priv->url_label;
	_tmp65_ = _ ("<b>Desktop Access</b>\n" \
"\n" \
"Will add boxes for all systems available from this account.");
	gtk_label_set_markup (_tmp64_, _tmp65_);
	_tmp66_ = self->priv->url_label;
	gtk_label_set_use_markup (_tmp66_, TRUE);
	_tmp67_ = self->priv->url_label;
	g_object_set (_tmp67_, "wrap", TRUE, NULL);
	_tmp68_ = self->priv->url_label;
	gtk_label_set_width_chars (_tmp68_, 30);
	_tmp69_ = hbox;
	_tmp70_ = self->priv->url_label;
	gtk_box_pack_start (_tmp69_, (GtkWidget*) _tmp70_, TRUE, TRUE, (guint) 0);
	_tmp71_ = hbox;
	gtk_container_add ((GtkContainer*) vbox, (GtkWidget*) _tmp71_);
	_tmp72_ = self->priv->notebook;
	gtk_widget_show_all ((GtkWidget*) _tmp72_);
	boxes_wizard_source_add_media_entries (self, NULL, NULL);
	_g_object_unref0 (vbox);
	_g_object_unref0 (prev);
	_g_object_unref0 (url_menubox);
	_g_object_unref0 (next);
	_g_object_unref0 (label);
	_g_object_unref0 (hbox);
	return self;
}


BoxesWizardSource* boxes_wizard_source_new (BoxesMediaManager* media_manager) {
	return boxes_wizard_source_construct (BOXES_TYPE_WIZARD_SOURCE, media_manager);
}


void boxes_wizard_source_update_url_page (BoxesWizardSource* self, const gchar* title, const gchar* text, const gchar* icon_name) {
	GtkLabel* _tmp0_;
	const gchar* _tmp1_;
	gchar* _tmp2_;
	gchar* _tmp3_;
	gchar* _tmp4_;
	gchar* _tmp5_;
	const gchar* _tmp6_;
	gchar* _tmp7_;
	gchar* _tmp8_;
	GtkImage* _tmp9_;
	const gchar* _tmp10_;
	g_return_if_fail (self != NULL);
	g_return_if_fail (title != NULL);
	g_return_if_fail (text != NULL);
	g_return_if_fail (icon_name != NULL);
	_tmp0_ = self->priv->url_label;
	_tmp1_ = title;
	_tmp2_ = g_strconcat ("<b>", _tmp1_, NULL);
	_tmp3_ = _tmp2_;
	_tmp4_ = g_strconcat (_tmp3_, "</b>\n\n", NULL);
	_tmp5_ = _tmp4_;
	_tmp6_ = text;
	_tmp7_ = g_strconcat (_tmp5_, _tmp6_, NULL);
	_tmp8_ = _tmp7_;
	gtk_label_set_markup (_tmp0_, _tmp8_);
	_g_free0 (_tmp8_);
	_g_free0 (_tmp5_);
	_g_free0 (_tmp3_);
	_tmp9_ = self->priv->url_image;
	_tmp10_ = icon_name;
	g_object_set (_tmp9_, "icon-name", _tmp10_, NULL);
}


static void boxes_wizard_source_add_media_entries_data_free (gpointer _data) {
	BoxesWizardSourceAddMediaEntriesData* _data_;
	_data_ = _data;
	_g_object_unref0 (_data_->self);
	g_slice_free (BoxesWizardSourceAddMediaEntriesData, _data_);
}


static void boxes_wizard_source_add_media_entries (BoxesWizardSource* self, GAsyncReadyCallback _callback_, gpointer _user_data_) {
	BoxesWizardSourceAddMediaEntriesData* _data_;
	BoxesWizardSource* _tmp0_;
	_data_ = g_slice_new0 (BoxesWizardSourceAddMediaEntriesData);
	_data_->_async_result = g_simple_async_result_new (G_OBJECT (self), _callback_, _user_data_, boxes_wizard_source_add_media_entries);
	g_simple_async_result_set_op_res_gpointer (_data_->_async_result, _data_, boxes_wizard_source_add_media_entries_data_free);
	_tmp0_ = _g_object_ref0 (self);
	_data_->self = _tmp0_;
	boxes_wizard_source_add_media_entries_co (_data_);
}


static void boxes_wizard_source_add_media_entries_finish (BoxesWizardSource* self, GAsyncResult* _res_) {
	BoxesWizardSourceAddMediaEntriesData* _data_;
	_data_ = g_simple_async_result_get_op_res_gpointer (G_SIMPLE_ASYNC_RESULT (_res_));
}


static void boxes_wizard_source_add_media_entries_ready (GObject* source_object, GAsyncResult* _res_, gpointer _user_data_) {
	BoxesWizardSourceAddMediaEntriesData* _data_;
	_data_ = _user_data_;
	_data_->_source_object_ = source_object;
	_data_->_res_ = _res_;
	boxes_wizard_source_add_media_entries_co (_data_);
}


static void _g_object_unref0_ (gpointer var) {
	(var == NULL) ? NULL : (var = (g_object_unref (var), NULL));
}


static void _g_list_free__g_object_unref0_ (GList* self) {
	g_list_foreach (self, (GFunc) _g_object_unref0_, NULL);
	g_list_free (self);
}


static gboolean boxes_wizard_source_add_media_entries_co (BoxesWizardSourceAddMediaEntriesData* _data_) {
	switch (_data_->_state_) {
		case 0:
		goto _state_0;
		case 1:
		goto _state_1;
		default:
		g_assert_not_reached ();
	}
	_state_0:
	_data_->_tmp0_ = _data_->self->priv->media_manager;
	_data_->_state_ = 1;
	boxes_media_manager_list_installer_medias (_data_->_tmp0_, boxes_wizard_source_add_media_entries_ready, _data_);
	return FALSE;
	_state_1:
	_data_->_tmp1_ = NULL;
	_data_->_tmp1_ = boxes_media_manager_list_installer_medias_finish (_data_->_tmp0_, _data_->_res_);
	_data_->medias = _data_->_tmp1_;
	_data_->_tmp2_ = _data_->self->priv->media_vbox;
	_data_->_tmp3_ = NULL;
	_data_->_tmp3_ = gtk_container_get_children ((GtkContainer*) _data_->_tmp2_);
	{
		_data_->child_collection = _data_->_tmp3_;
		for (_data_->child_it = _data_->child_collection; _data_->child_it != NULL; _data_->child_it = _data_->child_it->next) {
			_data_->child = (GtkWidget*) _data_->child_it->data;
			{
				_data_->_tmp4_ = _data_->child;
				_data_->_tmp5_ = NULL;
				_data_->_tmp5_ = g_object_get_data ((GObject*) _data_->_tmp4_, "boxes-media");
				_data_->_tmp6_ = g_strdup ((const gchar*) _data_->_tmp5_);
				_data_->child_media = _data_->_tmp6_;
				_data_->_tmp7_ = _data_->child_media;
				if (_data_->_tmp7_ == NULL) {
					_g_free0 (_data_->child_media);
					continue;
				}
				_data_->obsolete = TRUE;
				_data_->_tmp8_ = _data_->medias;
				{
					_data_->media_collection = _data_->_tmp8_;
					for (_data_->media_it = _data_->media_collection; _data_->media_it != NULL; _data_->media_it = _data_->media_it->next) {
						_data_->_tmp9_ = _g_object_ref0 ((BoxesInstallerMedia*) _data_->media_it->data);
						_data_->media = _data_->_tmp9_;
						{
							_data_->_tmp10_ = _data_->child_media;
							_data_->_tmp11_ = _data_->media;
							_data_->_tmp12_ = _data_->_tmp11_->device_file;
							if (g_strcmp0 (_data_->_tmp10_, _data_->_tmp12_) == 0) {
								_data_->obsolete = FALSE;
								_g_object_unref0 (_data_->media);
								break;
							}
							_g_object_unref0 (_data_->media);
						}
					}
				}
				_data_->_tmp13_ = _data_->obsolete;
				if (_data_->_tmp13_) {
					_data_->_tmp14_ = _data_->self->priv->main_vbox;
					_data_->_tmp15_ = _data_->child;
					gtk_container_remove ((GtkContainer*) _data_->_tmp14_, _data_->_tmp15_);
				}
				_g_free0 (_data_->child_media);
			}
		}
		_g_list_free0 (_data_->child_collection);
	}
	_data_->_tmp16_ = _data_->medias;
	{
		_data_->_vala1_media_collection = _data_->_tmp16_;
		for (_data_->_vala1_media_it = _data_->_vala1_media_collection; _data_->_vala1_media_it != NULL; _data_->_vala1_media_it = _data_->_vala1_media_it->next) {
			_data_->_tmp17_ = _g_object_ref0 ((BoxesInstallerMedia*) _data_->_vala1_media_it->data);
			_data_->_vala1_media = _data_->_tmp17_;
			{
				_data_->nouveau = TRUE;
				_data_->_tmp18_ = _data_->self->priv->media_vbox;
				_data_->_tmp19_ = NULL;
				_data_->_tmp19_ = gtk_container_get_children ((GtkContainer*) _data_->_tmp18_);
				{
					_data_->_vala1_child_collection = _data_->_tmp19_;
					for (_data_->_vala1_child_it = _data_->_vala1_child_collection; _data_->_vala1_child_it != NULL; _data_->_vala1_child_it = _data_->_vala1_child_it->next) {
						_data_->_vala1_child = (GtkWidget*) _data_->_vala1_child_it->data;
						{
							_data_->_tmp20_ = _data_->_vala1_child;
							_data_->_tmp21_ = NULL;
							_data_->_tmp21_ = g_object_get_data ((GObject*) _data_->_tmp20_, "boxes-media");
							_data_->_tmp22_ = g_strdup ((const gchar*) _data_->_tmp21_);
							_data_->_vala1_child_media = _data_->_tmp22_;
							_data_->_tmp24_ = _data_->_vala1_child_media;
							if (_data_->_tmp24_ != NULL) {
								_data_->_tmp25_ = _data_->_vala1_child_media;
								_data_->_tmp26_ = _data_->_vala1_media;
								_data_->_tmp27_ = _data_->_tmp26_->device_file;
								_data_->_tmp23_ = g_strcmp0 (_data_->_tmp25_, _data_->_tmp27_) == 0;
							} else {
								_data_->_tmp23_ = FALSE;
							}
							_data_->_tmp28_ = _data_->_tmp23_;
							if (_data_->_tmp28_) {
								_data_->nouveau = FALSE;
								_g_free0 (_data_->_vala1_child_media);
								break;
							}
							_g_free0 (_data_->_vala1_child_media);
						}
					}
					_g_list_free0 (_data_->_vala1_child_collection);
				}
				_data_->_tmp29_ = _data_->nouveau;
				if (_data_->_tmp29_) {
					_data_->_tmp30_ = _data_->_vala1_media;
					boxes_wizard_source_add_media_entry (_data_->self, _data_->_tmp30_);
				}
				_g_object_unref0 (_data_->_vala1_media);
			}
		}
	}
	_data_->_tmp31_ = _data_->self->priv->media_vbox;
	_data_->_tmp32_ = NULL;
	_data_->_tmp32_ = gtk_container_get_children ((GtkContainer*) _data_->_tmp31_);
	_data_->_tmp33_ = _data_->_tmp32_;
	_data_->_tmp34_ = 0U;
	_data_->_tmp34_ = g_list_length (_data_->_tmp33_);
	_data_->_tmp35_ = _data_->_tmp34_ == ((guint) 0);
	_g_list_free0 (_data_->_tmp33_);
	if (_data_->_tmp35_) {
		_data_->_tmp36_ = _data_->self->priv->media_scrolled;
		gtk_widget_hide ((GtkWidget*) _data_->_tmp36_);
	}
	__g_list_free__g_object_unref0_0 (_data_->medias);
	if (_data_->_state_ == 0) {
		g_simple_async_result_complete_in_idle (_data_->_async_result);
	} else {
		g_simple_async_result_complete (_data_->_async_result);
	}
	g_object_unref (_data_->_async_result);
	return FALSE;
}


static Block47Data* block47_data_ref (Block47Data* _data47_) {
	g_atomic_int_inc (&_data47_->_ref_count_);
	return _data47_;
}


static void block47_data_unref (void * _userdata_) {
	Block47Data* _data47_;
	_data47_ = (Block47Data*) _userdata_;
	if (g_atomic_int_dec_and_test (&_data47_->_ref_count_)) {
		BoxesWizardSource * self;
		self = _data47_->self;
		_g_object_unref0 (_data47_->media);
		_g_object_unref0 (self);
		g_slice_free (Block47Data, _data47_);
	}
}


static void __lambda122_ (Block47Data* _data47_) {
	BoxesWizardSource * self;
	BoxesInstallerMedia* _tmp0_;
	BoxesInstallerMedia* _tmp1_;
	const gchar* _tmp2_;
	GtkEntry* _tmp3_;
	self = _data47_->self;
	_tmp0_ = _data47_->media;
	boxes_wizard_source_set_install_media (self, _tmp0_);
	_tmp1_ = _data47_->media;
	_tmp2_ = _tmp1_->device_file;
	boxes_wizard_source_set_uri (self, _tmp2_);
	_tmp3_ = self->url_entry;
	g_signal_emit_by_name (_tmp3_, "activate");
}


static void ___lambda122__clicked_func (gpointer self) {
	__lambda122_ (self);
}


static void boxes_wizard_source_add_media_entry (BoxesWizardSource* self, BoxesInstallerMedia* media) {
	Block47Data* _data47_;
	BoxesInstallerMedia* _tmp0_;
	BoxesInstallerMedia* _tmp1_;
	GtkBox* _tmp2_;
	BoxesInstallerMedia* _tmp3_;
	const gchar* _tmp4_;
	GtkBox* _tmp5_ = NULL;
	GtkBox* hbox;
	GtkImage* _tmp6_;
	GtkImage* image;
	GtkImage* _tmp7_;
	GtkBox* _tmp8_;
	GtkImage* _tmp9_;
	BoxesInstallerMedia* _tmp10_;
	OsinfoOs* _tmp11_;
	GtkVBox* _tmp15_;
	GtkVBox* vbox;
	GtkBox* _tmp16_;
	GtkVBox* _tmp17_;
	BoxesInstallerMedia* _tmp18_;
	const gchar* _tmp19_;
	gchar* _tmp20_;
	gchar* media_label;
	gboolean _tmp21_ = FALSE;
	BoxesInstallerMedia* _tmp22_;
	OsinfoMedia* _tmp23_;
	gboolean _tmp28_;
	const gchar* _tmp36_;
	GtkLabel* _tmp37_;
	GtkLabel* label;
	GtkLabel* _tmp38_;
	GtkLabel* _tmp39_;
	GtkStyleContext* _tmp40_ = NULL;
	GtkLabel* _tmp41_;
	GtkVBox* _tmp42_;
	GtkLabel* _tmp43_;
	BoxesInstallerMedia* _tmp44_;
	OsinfoMedia* _tmp45_;
	GtkBox* _tmp89_;
	GtkScrolledWindow* _tmp90_;
	g_return_if_fail (self != NULL);
	g_return_if_fail (media != NULL);
	_data47_ = g_slice_new0 (Block47Data);
	_data47_->_ref_count_ = 1;
	_data47_->self = g_object_ref (self);
	_tmp0_ = media;
	_tmp1_ = _g_object_ref0 (_tmp0_);
	_g_object_unref0 (_data47_->media);
	_data47_->media = _tmp1_;
	_tmp2_ = self->priv->media_vbox;
	_tmp3_ = _data47_->media;
	_tmp4_ = _tmp3_->device_file;
	_tmp5_ = boxes_wizard_source_add_entry (self, _tmp2_, ___lambda122__clicked_func, block47_data_ref (_data47_), block47_data_unref, 15, 5, _tmp4_);
	hbox = _tmp5_;
	_tmp6_ = (GtkImage*) gtk_image_new_from_icon_name ("media-optical", 0);
	g_object_ref_sink (_tmp6_);
	image = _tmp6_;
	_tmp7_ = image;
	gtk_image_set_pixel_size (_tmp7_, 64);
	_tmp8_ = hbox;
	_tmp9_ = image;
	gtk_box_pack_start (_tmp8_, (GtkWidget*) _tmp9_, FALSE, FALSE, (guint) 0);
	_tmp10_ = _data47_->media;
	_tmp11_ = _tmp10_->os;
	if (_tmp11_ != NULL) {
		GtkImage* _tmp12_;
		BoxesInstallerMedia* _tmp13_;
		OsinfoOs* _tmp14_;
		_tmp12_ = image;
		_tmp13_ = _data47_->media;
		_tmp14_ = _tmp13_->os;
		boxes_downloader_fetch_os_logo (_tmp12_, _tmp14_, 64, NULL, NULL);
	}
	_tmp15_ = (GtkVBox*) gtk_vbox_new (TRUE, 5);
	g_object_ref_sink (_tmp15_);
	vbox = _tmp15_;
	_tmp16_ = hbox;
	_tmp17_ = vbox;
	gtk_box_pack_start (_tmp16_, (GtkWidget*) _tmp17_, TRUE, TRUE, (guint) 0);
	_tmp18_ = _data47_->media;
	_tmp19_ = _tmp18_->label;
	_tmp20_ = g_strdup (_tmp19_);
	media_label = _tmp20_;
	_tmp22_ = _data47_->media;
	_tmp23_ = _tmp22_->os_media;
	if (_tmp23_ != NULL) {
		BoxesInstallerMedia* _tmp24_;
		OsinfoMedia* _tmp25_;
		gboolean _tmp26_ = FALSE;
		gboolean _tmp27_;
		_tmp24_ = _data47_->media;
		_tmp25_ = _tmp24_->os_media;
		g_object_get (_tmp25_, "live", &_tmp26_, NULL);
		_tmp27_ = _tmp26_;
		_tmp21_ = _tmp27_;
	} else {
		_tmp21_ = FALSE;
	}
	_tmp28_ = _tmp21_;
	if (_tmp28_) {
		const gchar* _tmp29_;
		const gchar* _tmp30_ = NULL;
		gchar* _tmp31_;
		gchar* _tmp32_;
		gchar* _tmp33_;
		gchar* _tmp34_;
		gchar* _tmp35_;
		_tmp29_ = media_label;
		_tmp30_ = _ ("Live");
		_tmp31_ = g_strconcat (" (", _tmp30_, NULL);
		_tmp32_ = _tmp31_;
		_tmp33_ = g_strconcat (_tmp32_, ")", NULL);
		_tmp34_ = _tmp33_;
		_tmp35_ = g_strconcat (_tmp29_, _tmp34_, NULL);
		_g_free0 (media_label);
		media_label = _tmp35_;
		_g_free0 (_tmp34_);
		_g_free0 (_tmp32_);
	}
	_tmp36_ = media_label;
	_tmp37_ = (GtkLabel*) gtk_label_new (_tmp36_);
	g_object_ref_sink (_tmp37_);
	label = _tmp37_;
	_tmp38_ = label;
	gtk_label_set_ellipsize (_tmp38_, PANGO_ELLIPSIZE_END);
	_tmp39_ = label;
	_tmp40_ = gtk_widget_get_style_context ((GtkWidget*) _tmp39_);
	gtk_style_context_add_class (_tmp40_, "boxes-source-label");
	_tmp41_ = label;
	g_object_set ((GtkMisc*) _tmp41_, "xalign", 0.0f, NULL);
	_tmp42_ = vbox;
	_tmp43_ = label;
	gtk_box_pack_start ((GtkBox*) _tmp42_, (GtkWidget*) _tmp43_, TRUE, TRUE, (guint) 0);
	_tmp44_ = _data47_->media;
	_tmp45_ = _tmp44_->os_media;
	if (_tmp45_ != NULL) {
		const gchar* _tmp46_ = NULL;
		gboolean _tmp47_ = FALSE;
		BoxesInstallerMedia* _tmp48_;
		OsinfoMedia* _tmp49_;
		gchar* _tmp50_ = NULL;
		gchar* _tmp51_;
		gchar* _tmp52_;
		gboolean _tmp53_;
		gboolean _tmp59_;
		const gchar* _tmp62_;
		gchar* _tmp63_;
		gchar* architecture;
		const gchar* _tmp64_;
		GtkLabel* _tmp65_;
		GtkLabel* _tmp66_;
		GtkLabel* _tmp67_;
		GtkStyleContext* _tmp68_ = NULL;
		GtkLabel* _tmp69_;
		GtkVBox* _tmp70_;
		GtkLabel* _tmp71_;
		BoxesInstallerMedia* _tmp72_;
		OsinfoOs* _tmp73_;
		const gchar* _tmp74_;
		const gchar* _tmp75_;
		_tmp48_ = _data47_->media;
		_tmp49_ = _tmp48_->os_media;
		g_object_get (_tmp49_, "architecture", &_tmp50_, NULL);
		_tmp51_ = _tmp50_;
		_tmp52_ = _tmp51_;
		_tmp53_ = g_strcmp0 (_tmp52_, "i386") == 0;
		_g_free0 (_tmp52_);
		if (_tmp53_) {
			_tmp47_ = TRUE;
		} else {
			BoxesInstallerMedia* _tmp54_;
			OsinfoMedia* _tmp55_;
			gchar* _tmp56_ = NULL;
			gchar* _tmp57_;
			gchar* _tmp58_;
			_tmp54_ = _data47_->media;
			_tmp55_ = _tmp54_->os_media;
			g_object_get (_tmp55_, "architecture", &_tmp56_, NULL);
			_tmp57_ = _tmp56_;
			_tmp58_ = _tmp57_;
			_tmp47_ = g_strcmp0 (_tmp58_, "i686") == 0;
			_g_free0 (_tmp58_);
		}
		_tmp59_ = _tmp47_;
		if (_tmp59_) {
			const gchar* _tmp60_ = NULL;
			_tmp60_ = _ ("32-bit x86 system");
			_tmp46_ = _tmp60_;
		} else {
			const gchar* _tmp61_ = NULL;
			_tmp61_ = _ ("64-bit x86 system");
			_tmp46_ = _tmp61_;
		}
		_tmp62_ = _tmp46_;
		_tmp63_ = g_strdup (_tmp62_);
		architecture = _tmp63_;
		_tmp64_ = architecture;
		_tmp65_ = (GtkLabel*) gtk_label_new (_tmp64_);
		g_object_ref_sink (_tmp65_);
		_g_object_unref0 (label);
		label = _tmp65_;
		_tmp66_ = label;
		gtk_label_set_ellipsize (_tmp66_, PANGO_ELLIPSIZE_END);
		_tmp67_ = label;
		_tmp68_ = gtk_widget_get_style_context ((GtkWidget*) _tmp67_);
		gtk_style_context_add_class (_tmp68_, "boxes-step-label");
		_tmp69_ = label;
		g_object_set ((GtkMisc*) _tmp69_, "xalign", 0.0f, NULL);
		_tmp70_ = vbox;
		_tmp71_ = label;
		gtk_box_pack_start ((GtkBox*) _tmp70_, (GtkWidget*) _tmp71_, TRUE, TRUE, (guint) 0);
		_tmp72_ = _data47_->media;
		_tmp73_ = _tmp72_->os;
		_tmp74_ = osinfo_product_get_vendor ((OsinfoProduct*) _tmp73_);
		_tmp75_ = _tmp74_;
		if (_tmp75_ != NULL) {
			GtkLabel* _tmp76_;
			GtkLabel* _tmp77_;
			const gchar* _tmp78_;
			const gchar* _tmp79_;
			const gchar* _tmp80_ = NULL;
			BoxesInstallerMedia* _tmp81_;
			OsinfoOs* _tmp82_;
			const gchar* _tmp83_;
			const gchar* _tmp84_;
			gchar* _tmp85_ = NULL;
			gchar* _tmp86_;
			gchar* _tmp87_;
			gchar* _tmp88_;
			_tmp76_ = label;
			_tmp77_ = label;
			_tmp78_ = gtk_label_get_label (_tmp77_);
			_tmp79_ = _tmp78_;
			_tmp80_ = _ (" from %s");
			_tmp81_ = _data47_->media;
			_tmp82_ = _tmp81_->os;
			_tmp83_ = osinfo_product_get_vendor ((OsinfoProduct*) _tmp82_);
			_tmp84_ = _tmp83_;
			_tmp85_ = g_strdup_printf (_tmp80_, _tmp84_);
			_tmp86_ = _tmp85_;
			_tmp87_ = g_strconcat (_tmp79_, _tmp86_, NULL);
			_tmp88_ = _tmp87_;
			gtk_label_set_label (_tmp77_, _tmp88_);
			_g_free0 (_tmp88_);
			_g_free0 (_tmp86_);
		}
		_g_free0 (architecture);
	}
	_tmp89_ = self->priv->media_vbox;
	gtk_widget_show_all ((GtkWidget*) _tmp89_);
	_tmp90_ = self->priv->media_scrolled;
	gtk_widget_show ((GtkWidget*) _tmp90_);
	_g_object_unref0 (label);
	_g_free0 (media_label);
	_g_object_unref0 (vbox);
	_g_object_unref0 (image);
	_g_object_unref0 (hbox);
	block47_data_unref (_data47_);
	_data47_ = NULL;
}


static Block48Data* block48_data_ref (Block48Data* _data48_) {
	g_atomic_int_inc (&_data48_->_ref_count_);
	return _data48_;
}


static void block48_data_unref (void * _userdata_) {
	Block48Data* _data48_;
	_data48_ = (Block48Data*) _userdata_;
	if (g_atomic_int_dec_and_test (&_data48_->_ref_count_)) {
		BoxesWizardSource * self;
		self = _data48_->self;
		(_data48_->clicked_target_destroy_notify == NULL) ? NULL : (_data48_->clicked_target_destroy_notify (_data48_->clicked_target), NULL);
		_data48_->clicked = NULL;
		_data48_->clicked_target = NULL;
		_data48_->clicked_target_destroy_notify = NULL;
		_g_object_unref0 (self);
		g_slice_free (Block48Data, _data48_);
	}
}


static Block49Data* block49_data_ref (Block49Data* _data49_) {
	g_atomic_int_inc (&_data49_->_ref_count_);
	return _data49_;
}


static void block49_data_unref (void * _userdata_) {
	Block49Data* _data49_;
	_data49_ = (Block49Data*) _userdata_;
	if (g_atomic_int_dec_and_test (&_data49_->_ref_count_)) {
		BoxesWizardSource * self;
		self = _data49_->_data48_->self;
		_g_object_unref0 (_data49_->button);
		block48_data_unref (_data49_->_data48_);
		_data49_->_data48_ = NULL;
		g_slice_free (Block49Data, _data49_);
	}
}


static void ___lambda120_ (Block49Data* _data49_) {
	Block48Data* _data48_;
	BoxesWizardSource * self;
	GtkButton* _tmp0_;
	ClickedFunc _tmp1_;
	void* _tmp1__target;
	_data48_ = _data49_->_data48_;
	self = _data48_->self;
	_tmp0_ = _data49_->button;
	boxes_wizard_source_set_selected (self, (GtkWidget*) _tmp0_);
	_tmp1_ = _data48_->clicked;
	_tmp1__target = _data48_->clicked_target;
	_tmp1_ (_tmp1__target);
}


static void ____lambda120__gtk_button_clicked (GtkButton* _sender, gpointer self) {
	___lambda120_ (self);
}


static GtkBox* boxes_wizard_source_add_entry (BoxesWizardSource* self, GtkBox* box, ClickedFunc clicked, void* clicked_target, GDestroyNotify clicked_target_destroy_notify, gint h_margin, gint v_margin, const gchar* media) {
	GtkBox* result = NULL;
	Block48Data* _data48_;
	ClickedFunc _tmp0_;
	void* _tmp0__target;
	GtkContainer* row = NULL;
	ClickedFunc _tmp1_;
	void* _tmp1__target;
	GtkBox* _tmp10_;
	GtkBox* hbox;
	GtkContainer* _tmp11_;
	GtkBox* _tmp12_;
	GtkContainer* _tmp13_;
	GtkStyleContext* _tmp14_ = NULL;
	GtkBox* _tmp15_;
	GtkContainer* _tmp16_;
	const gchar* _tmp17_;
	GtkBox* _tmp21_;
	GtkBox* _tmp22_;
	gint _tmp23_;
	GtkBox* _tmp24_;
	GtkBox* _tmp25_;
	gint _tmp26_;
	g_return_val_if_fail (self != NULL, NULL);
	g_return_val_if_fail (box != NULL, NULL);
	_data48_ = g_slice_new0 (Block48Data);
	_data48_->_ref_count_ = 1;
	_data48_->self = g_object_ref (self);
	_tmp0_ = clicked;
	_tmp0__target = clicked_target;
	(_data48_->clicked_target_destroy_notify == NULL) ? NULL : (_data48_->clicked_target_destroy_notify (_data48_->clicked_target), NULL);
	_data48_->clicked = NULL;
	_data48_->clicked_target = NULL;
	_data48_->clicked_target_destroy_notify = NULL;
	_data48_->clicked = _tmp0_;
	_data48_->clicked_target = _tmp0__target;
	_data48_->clicked_target_destroy_notify = clicked_target_destroy_notify;
	_tmp1_ = _data48_->clicked;
	_tmp1__target = _data48_->clicked_target;
	if (_tmp1_ != NULL) {
		Block49Data* _data49_;
		GtkButton* _tmp2_;
		GtkButton* _tmp3_;
		GtkButton* _tmp4_;
		GtkContainer* _tmp5_;
		_data49_ = g_slice_new0 (Block49Data);
		_data49_->_ref_count_ = 1;
		_data49_->_data48_ = block48_data_ref (_data48_);
		_tmp2_ = (GtkButton*) gtk_button_new ();
		g_object_ref_sink (_tmp2_);
		_data49_->button = _tmp2_;
		_tmp3_ = _data49_->button;
		g_signal_connect_data (_tmp3_, "clicked", (GCallback) ____lambda120__gtk_button_clicked, block49_data_ref (_data49_), (GClosureNotify) block49_data_unref, 0);
		_tmp4_ = _data49_->button;
		_tmp5_ = _g_object_ref0 ((GtkContainer*) _tmp4_);
		_g_object_unref0 (row);
		row = _tmp5_;
		block49_data_unref (_data49_);
		_data49_ = NULL;
	} else {
		GtkAlignment* _tmp6_;
		GtkAlignment* bin;
		GtkAlignment* _tmp7_;
		GtkAlignment* _tmp8_;
		GtkContainer* _tmp9_;
		_tmp6_ = (GtkAlignment*) gtk_alignment_new ((gfloat) 0, (gfloat) 0, (gfloat) 1, (gfloat) 1);
		g_object_ref_sink (_tmp6_);
		bin = _tmp6_;
		_tmp7_ = bin;
		boxes_draw_as_css_box ((GtkWidget*) _tmp7_);
		_tmp8_ = bin;
		_tmp9_ = _g_object_ref0 ((GtkContainer*) _tmp8_);
		_g_object_unref0 (row);
		row = _tmp9_;
		_g_object_unref0 (bin);
	}
	_tmp10_ = (GtkBox*) gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 20);
	g_object_ref_sink (_tmp10_);
	hbox = _tmp10_;
	_tmp11_ = row;
	_tmp12_ = hbox;
	gtk_container_add (_tmp11_, (GtkWidget*) _tmp12_);
	_tmp13_ = row;
	_tmp14_ = gtk_widget_get_style_context ((GtkWidget*) _tmp13_);
	gtk_style_context_add_class (_tmp14_, "boxes-menu-row");
	_tmp15_ = box;
	_tmp16_ = row;
	gtk_container_add ((GtkContainer*) _tmp15_, (GtkWidget*) _tmp16_);
	_tmp17_ = media;
	if (_tmp17_ != NULL) {
		GtkContainer* _tmp18_;
		const gchar* _tmp19_;
		gchar* _tmp20_;
		_tmp18_ = row;
		_tmp19_ = media;
		_tmp20_ = g_strdup (_tmp19_);
		g_object_set_data_full ((GObject*) _tmp18_, "boxes-media", _tmp20_, g_free);
	}
	_tmp21_ = hbox;
	_tmp22_ = hbox;
	_tmp23_ = h_margin;
	gtk_widget_set_margin_right ((GtkWidget*) _tmp22_, _tmp23_);
	gtk_widget_set_margin_left ((GtkWidget*) _tmp21_, _tmp23_);
	_tmp24_ = hbox;
	_tmp25_ = hbox;
	_tmp26_ = v_margin;
	gtk_widget_set_margin_bottom ((GtkWidget*) _tmp25_, _tmp26_);
	gtk_widget_set_margin_top ((GtkWidget*) _tmp24_, _tmp26_);
	result = hbox;
	_g_object_unref0 (row);
	block48_data_unref (_data48_);
	_data48_ = NULL;
	return result;
}


static void boxes_wizard_source_launch_file_selection_dialog (BoxesWizardSource* self) {
	const gchar* _tmp0_ = NULL;
	BoxesApp* _tmp1_;
	GtkApplicationWindow* _tmp2_;
	GtkFileChooserDialog* _tmp3_;
	GtkFileChooserDialog* dialog;
	GtkFileChooserDialog* _tmp4_;
	GtkFileChooserDialog* _tmp5_;
	GtkFileChooserDialog* _tmp6_;
	GtkFileFilter* _tmp7_;
	GtkFileFilter* _tmp8_;
	GtkFileChooserDialog* _tmp9_;
	GtkFileFilter* _tmp10_;
	GtkFileFilter* _tmp11_;
	GtkFileChooserDialog* _tmp12_;
	gint _tmp13_ = 0;
	GtkFileChooserDialog* _tmp18_;
	g_return_if_fail (self != NULL);
	_tmp0_ = _ ("Select a device or ISO file");
	_tmp1_ = boxes_app_app;
	_tmp2_ = _tmp1_->window;
	_tmp3_ = (GtkFileChooserDialog*) gtk_file_chooser_dialog_new (_tmp0_, (GtkWindow*) _tmp2_, GTK_FILE_CHOOSER_ACTION_OPEN, GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, GTK_STOCK_OPEN, GTK_RESPONSE_ACCEPT, NULL);
	g_object_ref_sink (_tmp3_);
	dialog = _tmp3_;
	_tmp4_ = dialog;
	gtk_file_chooser_set_show_hidden ((GtkFileChooser*) _tmp4_, FALSE);
	_tmp5_ = dialog;
	gtk_file_chooser_set_local_only ((GtkFileChooser*) _tmp5_, TRUE);
	_tmp6_ = dialog;
	_tmp7_ = gtk_file_filter_new ();
	g_object_ref_sink (_tmp7_);
	_tmp8_ = _tmp7_;
	gtk_file_chooser_set_filter ((GtkFileChooser*) _tmp6_, _tmp8_);
	_g_object_unref0 (_tmp8_);
	_tmp9_ = dialog;
	_tmp10_ = gtk_file_chooser_get_filter ((GtkFileChooser*) _tmp9_);
	_tmp11_ = _tmp10_;
	gtk_file_filter_add_mime_type (_tmp11_, "application/x-cd-image");
	_tmp12_ = dialog;
	_tmp13_ = gtk_dialog_run ((GtkDialog*) _tmp12_);
	if (_tmp13_ == ((gint) GTK_RESPONSE_ACCEPT)) {
		GtkFileChooserDialog* _tmp14_;
		gchar* _tmp15_ = NULL;
		gchar* _tmp16_;
		GtkEntry* _tmp17_;
		_tmp14_ = dialog;
		_tmp15_ = gtk_file_chooser_get_uri ((GtkFileChooser*) _tmp14_);
		_tmp16_ = _tmp15_;
		boxes_wizard_source_set_uri (self, _tmp16_);
		_g_free0 (_tmp16_);
		boxes_wizard_source_set_install_media (self, NULL);
		_tmp17_ = self->url_entry;
		g_signal_emit_by_name (_tmp17_, "activate");
	}
	_tmp18_ = dialog;
	gtk_widget_hide ((GtkWidget*) _tmp18_);
	_g_object_unref0 (dialog);
}


GtkWidget* boxes_wizard_source_get_widget (BoxesWizardSource* self) {
	GtkWidget* result;
	GtkNotebook* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->notebook;
	result = (GtkWidget*) _tmp0_;
	return result;
}


GtkWidget* boxes_wizard_source_get_selected (BoxesWizardSource* self) {
	GtkWidget* result;
	GtkWidget* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_selected;
	result = _tmp0_;
	return result;
}


void boxes_wizard_source_set_selected (BoxesWizardSource* self, GtkWidget* value) {
	GtkWidget* _tmp0_;
	GtkWidget* _tmp1_;
	g_return_if_fail (self != NULL);
	_tmp0_ = value;
	_tmp1_ = _g_object_ref0 (_tmp0_);
	_g_object_unref0 (self->priv->_selected);
	self->priv->_selected = _tmp1_;
	g_object_notify ((GObject *) self, "selected");
}


BoxesSourcePage boxes_wizard_source_get_page (BoxesWizardSource* self) {
	BoxesSourcePage result;
	BoxesSourcePage _tmp0_;
	g_return_val_if_fail (self != NULL, 0);
	_tmp0_ = self->priv->_page;
	result = _tmp0_;
	return result;
}


void boxes_wizard_source_set_page (BoxesWizardSource* self, BoxesSourcePage value) {
	BoxesSourcePage _tmp0_;
	GtkNotebook* _tmp1_;
	BoxesSourcePage _tmp2_;
	BoxesSourcePage _tmp3_;
	GtkWidget* _tmp4_;
	BoxesSourcePage _tmp6_;
	BoxesSourcePage _tmp7_;
	g_return_if_fail (self != NULL);
	_tmp0_ = value;
	self->priv->_page = _tmp0_;
	_tmp1_ = self->priv->notebook;
	_tmp2_ = boxes_wizard_source_get_page (self);
	_tmp3_ = _tmp2_;
	gtk_notebook_set_current_page (_tmp1_, (gint) _tmp3_);
	_tmp4_ = self->priv->_selected;
	if (_tmp4_ != NULL) {
		GtkWidget* _tmp5_;
		_tmp5_ = self->priv->_selected;
		gtk_widget_grab_focus (_tmp5_);
	}
	_tmp6_ = boxes_wizard_source_get_page (self);
	_tmp7_ = _tmp6_;
	switch (_tmp7_) {
		case BOXES_SOURCE_PAGE_MAIN:
		{
			GtkBox* _tmp8_;
			boxes_wizard_source_add_media_entries (self, NULL, NULL);
			_tmp8_ = self->priv->main_vbox;
			gtk_widget_grab_focus ((GtkWidget*) _tmp8_);
			break;
		}
		case BOXES_SOURCE_PAGE_URL:
		{
			GtkEntry* _tmp9_;
			GtkEntry* _tmp10_;
			_tmp9_ = self->url_entry;
			g_signal_emit_by_name ((GtkEditable*) _tmp9_, "changed");
			_tmp10_ = self->url_entry;
			gtk_widget_grab_focus ((GtkWidget*) _tmp10_);
			break;
		}
		default:
		break;
	}
	g_object_notify ((GObject *) self, "page");
}


const gchar* boxes_wizard_source_get_uri (BoxesWizardSource* self) {
	const gchar* result;
	GtkEntry* _tmp0_;
	const gchar* _tmp1_ = NULL;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->url_entry;
	_tmp1_ = gtk_entry_get_text (_tmp0_);
	result = _tmp1_;
	return result;
}


void boxes_wizard_source_set_uri (BoxesWizardSource* self, const gchar* value) {
	GtkEntry* _tmp0_;
	const gchar* _tmp1_;
	g_return_if_fail (self != NULL);
	_tmp0_ = self->url_entry;
	_tmp1_ = value;
	gtk_entry_set_text (_tmp0_, _tmp1_);
	g_object_notify ((GObject *) self, "uri");
}


BoxesInstallerMedia* boxes_wizard_source_get_install_media (BoxesWizardSource* self) {
	BoxesInstallerMedia* result;
	BoxesInstallerMedia* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_install_media;
	result = _tmp0_;
	return result;
}


static void boxes_wizard_source_set_install_media (BoxesWizardSource* self, BoxesInstallerMedia* value) {
	BoxesInstallerMedia* _tmp0_;
	BoxesInstallerMedia* _tmp1_;
	g_return_if_fail (self != NULL);
	_tmp0_ = value;
	_tmp1_ = _g_object_ref0 (_tmp0_);
	_g_object_unref0 (self->priv->_install_media);
	self->priv->_install_media = _tmp1_;
	g_object_notify ((GObject *) self, "install-media");
}


static void boxes_wizard_source_class_init (BoxesWizardSourceClass * klass) {
	boxes_wizard_source_parent_class = g_type_class_peek_parent (klass);
	g_type_class_add_private (klass, sizeof (BoxesWizardSourcePrivate));
	G_OBJECT_CLASS (klass)->get_property = _vala_boxes_wizard_source_get_property;
	G_OBJECT_CLASS (klass)->set_property = _vala_boxes_wizard_source_set_property;
	G_OBJECT_CLASS (klass)->finalize = boxes_wizard_source_finalize;
	g_object_class_install_property (G_OBJECT_CLASS (klass), BOXES_WIZARD_SOURCE_WIDGET, g_param_spec_object ("widget", "widget", "widget", GTK_TYPE_WIDGET, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), BOXES_WIZARD_SOURCE_SELECTED, g_param_spec_object ("selected", "selected", "selected", GTK_TYPE_WIDGET, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), BOXES_WIZARD_SOURCE_PAGE, g_param_spec_enum ("page", "page", "page", BOXES_TYPE_SOURCE_PAGE, 0, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), BOXES_WIZARD_SOURCE_URI, g_param_spec_string ("uri", "uri", "uri", NULL, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), BOXES_WIZARD_SOURCE_INSTALL_MEDIA, g_param_spec_object ("install-media", "install-media", "install-media", BOXES_TYPE_INSTALLER_MEDIA, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE));
}


static void boxes_wizard_source_instance_init (BoxesWizardSource * self) {
	self->priv = BOXES_WIZARD_SOURCE_GET_PRIVATE (self);
}


static void boxes_wizard_source_finalize (GObject* obj) {
	BoxesWizardSource * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, BOXES_TYPE_WIZARD_SOURCE, BoxesWizardSource);
	_g_object_unref0 (self->priv->_selected);
	_g_object_unref0 (self->priv->_install_media);
	_g_object_unref0 (self->priv->main_vbox);
	_g_object_unref0 (self->priv->media_vbox);
	_g_object_unref0 (self->priv->media_scrolled);
	_g_object_unref0 (self->priv->notebook);
	_g_object_unref0 (self->priv->url_label);
	_g_object_unref0 (self->priv->url_image);
	_g_object_unref0 (self->url_entry);
	_g_object_unref0 (self->priv->media_manager);
	G_OBJECT_CLASS (boxes_wizard_source_parent_class)->finalize (obj);
}


GType boxes_wizard_source_get_type (void) {
	static volatile gsize boxes_wizard_source_type_id__volatile = 0;
	if (g_once_init_enter (&boxes_wizard_source_type_id__volatile)) {
		static const GTypeInfo g_define_type_info = { sizeof (BoxesWizardSourceClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) boxes_wizard_source_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (BoxesWizardSource), 0, (GInstanceInitFunc) boxes_wizard_source_instance_init, NULL };
		GType boxes_wizard_source_type_id;
		boxes_wizard_source_type_id = g_type_register_static (G_TYPE_OBJECT, "BoxesWizardSource", &g_define_type_info, 0);
		g_once_init_leave (&boxes_wizard_source_type_id__volatile, boxes_wizard_source_type_id);
	}
	return boxes_wizard_source_type_id__volatile;
}


static void _vala_boxes_wizard_source_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec) {
	BoxesWizardSource * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, BOXES_TYPE_WIZARD_SOURCE, BoxesWizardSource);
	switch (property_id) {
		case BOXES_WIZARD_SOURCE_WIDGET:
		g_value_set_object (value, boxes_wizard_source_get_widget (self));
		break;
		case BOXES_WIZARD_SOURCE_SELECTED:
		g_value_set_object (value, boxes_wizard_source_get_selected (self));
		break;
		case BOXES_WIZARD_SOURCE_PAGE:
		g_value_set_enum (value, boxes_wizard_source_get_page (self));
		break;
		case BOXES_WIZARD_SOURCE_URI:
		g_value_set_string (value, boxes_wizard_source_get_uri (self));
		break;
		case BOXES_WIZARD_SOURCE_INSTALL_MEDIA:
		g_value_set_object (value, boxes_wizard_source_get_install_media (self));
		break;
		default:
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
		break;
	}
}


static void _vala_boxes_wizard_source_set_property (GObject * object, guint property_id, const GValue * value, GParamSpec * pspec) {
	BoxesWizardSource * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, BOXES_TYPE_WIZARD_SOURCE, BoxesWizardSource);
	switch (property_id) {
		case BOXES_WIZARD_SOURCE_SELECTED:
		boxes_wizard_source_set_selected (self, g_value_get_object (value));
		break;
		case BOXES_WIZARD_SOURCE_PAGE:
		boxes_wizard_source_set_page (self, g_value_get_enum (value));
		break;
		case BOXES_WIZARD_SOURCE_URI:
		boxes_wizard_source_set_uri (self, g_value_get_string (value));
		break;
		case BOXES_WIZARD_SOURCE_INSTALL_MEDIA:
		boxes_wizard_source_set_install_media (self, g_value_get_object (value));
		break;
		default:
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
		break;
	}
}



