/* winxp-installer.c generated by valac 0.18.0.29-efcd0, the Vala compiler
 * generated from winxp-installer.vala, do not modify */

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

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


#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;
typedef struct _BoxesInstallerMediaPrivate BoxesInstallerMediaPrivate;

#define BOXES_TYPE_UNATTENDED_INSTALLER (boxes_unattended_installer_get_type ())
#define BOXES_UNATTENDED_INSTALLER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), BOXES_TYPE_UNATTENDED_INSTALLER, BoxesUnattendedInstaller))
#define BOXES_UNATTENDED_INSTALLER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), BOXES_TYPE_UNATTENDED_INSTALLER, BoxesUnattendedInstallerClass))
#define BOXES_IS_UNATTENDED_INSTALLER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), BOXES_TYPE_UNATTENDED_INSTALLER))
#define BOXES_IS_UNATTENDED_INSTALLER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), BOXES_TYPE_UNATTENDED_INSTALLER))
#define BOXES_UNATTENDED_INSTALLER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), BOXES_TYPE_UNATTENDED_INSTALLER, BoxesUnattendedInstallerClass))

typedef struct _BoxesUnattendedInstaller BoxesUnattendedInstaller;
typedef struct _BoxesUnattendedInstallerClass BoxesUnattendedInstallerClass;
typedef struct _BoxesUnattendedInstallerPrivate BoxesUnattendedInstallerPrivate;

#define BOXES_TYPE_UNATTENDED_FILE (boxes_unattended_file_get_type ())
#define BOXES_UNATTENDED_FILE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), BOXES_TYPE_UNATTENDED_FILE, BoxesUnattendedFile))
#define BOXES_IS_UNATTENDED_FILE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), BOXES_TYPE_UNATTENDED_FILE))
#define BOXES_UNATTENDED_FILE_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), BOXES_TYPE_UNATTENDED_FILE, BoxesUnattendedFileIface))

typedef struct _BoxesUnattendedFile BoxesUnattendedFile;
typedef struct _BoxesUnattendedFileIface BoxesUnattendedFileIface;

#define TYPE_AVATAR_FORMAT (avatar_format_get_type ())
#define AVATAR_FORMAT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_AVATAR_FORMAT, AvatarFormat))
#define AVATAR_FORMAT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_AVATAR_FORMAT, AvatarFormatClass))
#define IS_AVATAR_FORMAT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_AVATAR_FORMAT))
#define IS_AVATAR_FORMAT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_AVATAR_FORMAT))
#define AVATAR_FORMAT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_AVATAR_FORMAT, AvatarFormatClass))

typedef struct _AvatarFormat AvatarFormat;
typedef struct _AvatarFormatClass AvatarFormatClass;

#define BOXES_TYPE_WINDOWS_INSTALLER (boxes_windows_installer_get_type ())
#define BOXES_WINDOWS_INSTALLER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), BOXES_TYPE_WINDOWS_INSTALLER, BoxesWindowsInstaller))
#define BOXES_WINDOWS_INSTALLER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), BOXES_TYPE_WINDOWS_INSTALLER, BoxesWindowsInstallerClass))
#define BOXES_IS_WINDOWS_INSTALLER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), BOXES_TYPE_WINDOWS_INSTALLER))
#define BOXES_IS_WINDOWS_INSTALLER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), BOXES_TYPE_WINDOWS_INSTALLER))
#define BOXES_WINDOWS_INSTALLER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), BOXES_TYPE_WINDOWS_INSTALLER, BoxesWindowsInstallerClass))

typedef struct _BoxesWindowsInstaller BoxesWindowsInstaller;
typedef struct _BoxesWindowsInstallerClass BoxesWindowsInstallerClass;
typedef struct _BoxesWindowsInstallerPrivate BoxesWindowsInstallerPrivate;

#define BOXES_TYPE_WIN_XP_INSTALLER (boxes_win_xp_installer_get_type ())
#define BOXES_WIN_XP_INSTALLER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), BOXES_TYPE_WIN_XP_INSTALLER, BoxesWinXPInstaller))
#define BOXES_WIN_XP_INSTALLER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), BOXES_TYPE_WIN_XP_INSTALLER, BoxesWinXPInstallerClass))
#define BOXES_IS_WIN_XP_INSTALLER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), BOXES_TYPE_WIN_XP_INSTALLER))
#define BOXES_IS_WIN_XP_INSTALLER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), BOXES_TYPE_WIN_XP_INSTALLER))
#define BOXES_WIN_XP_INSTALLER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), BOXES_TYPE_WIN_XP_INSTALLER, BoxesWinXPInstallerClass))

typedef struct _BoxesWinXPInstaller BoxesWinXPInstaller;
typedef struct _BoxesWinXPInstallerClass BoxesWinXPInstallerClass;
typedef struct _BoxesWinXPInstallerPrivate BoxesWinXPInstallerPrivate;
#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL)))
#define _g_free0(var) (var = (g_free (var), NULL))
#define _avatar_format_unref0(var) ((var == NULL) ? NULL : (var = (avatar_format_unref (var), NULL)))

#define BOXES_TYPE_UNATTENDED_TEXT_FILE (boxes_unattended_text_file_get_type ())
#define BOXES_UNATTENDED_TEXT_FILE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), BOXES_TYPE_UNATTENDED_TEXT_FILE, BoxesUnattendedTextFile))
#define BOXES_UNATTENDED_TEXT_FILE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), BOXES_TYPE_UNATTENDED_TEXT_FILE, BoxesUnattendedTextFileClass))
#define BOXES_IS_UNATTENDED_TEXT_FILE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), BOXES_TYPE_UNATTENDED_TEXT_FILE))
#define BOXES_IS_UNATTENDED_TEXT_FILE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), BOXES_TYPE_UNATTENDED_TEXT_FILE))
#define BOXES_UNATTENDED_TEXT_FILE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), BOXES_TYPE_UNATTENDED_TEXT_FILE, BoxesUnattendedTextFileClass))

typedef struct _BoxesUnattendedTextFile BoxesUnattendedTextFile;
typedef struct _BoxesUnattendedTextFileClass BoxesUnattendedTextFileClass;

#define BOXES_TYPE_ISO_EXTRACTOR (boxes_iso_extractor_get_type ())
#define BOXES_ISO_EXTRACTOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), BOXES_TYPE_ISO_EXTRACTOR, BoxesISOExtractor))
#define BOXES_ISO_EXTRACTOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), BOXES_TYPE_ISO_EXTRACTOR, BoxesISOExtractorClass))
#define BOXES_IS_ISO_EXTRACTOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), BOXES_TYPE_ISO_EXTRACTOR))
#define BOXES_IS_ISO_EXTRACTOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), BOXES_TYPE_ISO_EXTRACTOR))
#define BOXES_ISO_EXTRACTOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), BOXES_TYPE_ISO_EXTRACTOR, BoxesISOExtractorClass))

typedef struct _BoxesISOExtractor BoxesISOExtractor;
typedef struct _BoxesISOExtractorClass BoxesISOExtractorClass;
#define __g_list_free__g_object_unref0_0(var) ((var == NULL) ? NULL : (var = (_g_list_free__g_object_unref0_ (var), NULL)))

#define BOXES_TYPE_UNATTENDED_RAW_FILE (boxes_unattended_raw_file_get_type ())
#define BOXES_UNATTENDED_RAW_FILE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), BOXES_TYPE_UNATTENDED_RAW_FILE, BoxesUnattendedRawFile))
#define BOXES_UNATTENDED_RAW_FILE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), BOXES_TYPE_UNATTENDED_RAW_FILE, BoxesUnattendedRawFileClass))
#define BOXES_IS_UNATTENDED_RAW_FILE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), BOXES_TYPE_UNATTENDED_RAW_FILE))
#define BOXES_IS_UNATTENDED_RAW_FILE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), BOXES_TYPE_UNATTENDED_RAW_FILE))
#define BOXES_UNATTENDED_RAW_FILE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), BOXES_TYPE_UNATTENDED_RAW_FILE, BoxesUnattendedRawFileClass))

typedef struct _BoxesUnattendedRawFile BoxesUnattendedRawFile;
typedef struct _BoxesUnattendedRawFileClass BoxesUnattendedRawFileClass;
#define _g_error_free0(var) ((var == NULL) ? NULL : (var = (g_error_free (var), NULL)))
typedef struct _BoxesWinXpInstallerPrepareForInstallationData BoxesWinXpInstallerPrepareForInstallationData;
#define _g_regex_unref0(var) ((var == NULL) ? NULL : (var = (g_regex_unref (var), NULL)))

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_ready_to_create) (BoxesInstallerMedia* self);
	gboolean (*get_supports_virtio_disk) (BoxesInstallerMedia* self);
};

struct _BoxesUnattendedFileIface {
	GTypeInterface parent_iface;
	void (*get_source_file) (BoxesUnattendedFile* self, GCancellable* cancellable, GAsyncReadyCallback _callback_, gpointer _user_data_);
	GFile* (*get_source_file_finish) (BoxesUnattendedFile* self, GAsyncResult* _res_, GError** error);
	const gchar* (*get_src_path) (BoxesUnattendedFile* self);
	void (*set_src_path) (BoxesUnattendedFile* self, const gchar* value);
	const gchar* (*get_dest_name) (BoxesUnattendedFile* self);
	void (*set_dest_name) (BoxesUnattendedFile* self, const gchar* value);
	BoxesUnattendedInstaller* (*get_installer) (BoxesUnattendedFile* self);
	void (*set_installer) (BoxesUnattendedFile* self, BoxesUnattendedInstaller* value);
};

struct _BoxesUnattendedInstaller {
	BoxesInstallerMedia parent_instance;
	BoxesUnattendedInstallerPrivate * priv;
	GDataStreamNewlineType newline_type;
	GFile* disk_file;
	GList* unattended_files;
	GtkGrid* setup_grid;
	gint setup_grid_n_rows;
	GtkLabel* setup_label;
	GtkHBox* setup_hbox;
	GtkSwitch* express_toggle;
	GtkEntry* username_entry;
	GtkEntry* password_entry;
	gchar* timezone;
	gchar* lang;
	gchar* hostname;
	AvatarFormat* avatar_format;
};

struct _BoxesUnattendedInstallerClass {
	BoxesInstallerMediaClass parent_class;
	gchar* (*fill_unattended_data) (BoxesUnattendedInstaller* self, const gchar* data, GError** error);
	void (*setup_ui) (BoxesUnattendedInstaller* self);
	void (*clean_up) (BoxesUnattendedInstaller* self, GError** error);
	GVirConfigDomainDisk* (*get_unattended_disk_config) (BoxesUnattendedInstaller* self);
	gboolean (*get_ready_for_express) (BoxesUnattendedInstaller* self);
};

struct _BoxesWindowsInstaller {
	BoxesUnattendedInstaller parent_instance;
	BoxesWindowsInstallerPrivate * priv;
};

struct _BoxesWindowsInstallerClass {
	BoxesUnattendedInstallerClass parent_class;
};

struct _BoxesWinXPInstaller {
	BoxesWindowsInstaller parent_instance;
	BoxesWinXPInstallerPrivate * priv;
};

struct _BoxesWinXPInstallerClass {
	BoxesWindowsInstallerClass parent_class;
};

struct _BoxesWinXPInstallerPrivate {
	GtkEntry* key_entry;
	gulong key_inserted_id;
	gboolean has_viostor_drivers;
};

struct _BoxesWinXpInstallerPrepareForInstallationData {
	int _state_;
	GObject* _source_object_;
	GAsyncResult* _res_;
	GSimpleAsyncResult* _async_result;
	BoxesWinXPInstaller* self;
	gchar* vm_name;
	GCancellable* cancellable;
	gboolean have_viostor;
	const gchar* _tmp0_;
	GCancellable* _tmp1_;
	gchar* _tmp2_;
	gchar* _tmp3_;
	gchar* _tmp4_;
	gboolean _tmp5_;
	gchar* _tmp6_;
	gchar* _tmp7_;
	gchar* _tmp8_;
	BoxesISOExtractor* _tmp9_;
	BoxesISOExtractor* _tmp10_;
	BoxesISOExtractor* extractor;
	BoxesISOExtractor* _tmp11_;
	GCancellable* _tmp12_;
	const gchar* _tmp13_;
	OsinfoMedia* _tmp14_;
	gchar* _tmp15_;
	gchar* _tmp16_;
	gchar* _tmp17_;
	gboolean _tmp18_;
	const gchar* _tmp19_;
	gchar* _tmp20_;
	gchar* driver_path;
	BoxesISOExtractor* _tmp21_;
	const gchar* _tmp22_;
	GCancellable* _tmp23_;
	GFileEnumerator* _tmp24_;
	GFileEnumerator* enumerator;
	GFileEnumerator* _tmp25_;
	GCancellable* _tmp26_;
	GList* _tmp27_;
	GList* infos;
	GList* _tmp28_;
	GList* _tmp29_;
	GList* info_collection;
	GList* info_it;
	GFileInfo* _tmp30_;
	GFileInfo* info;
	const gchar* _tmp31_;
	GFileInfo* _tmp32_;
	const gchar* _tmp33_;
	gchar* _tmp34_;
	gchar* relative_path;
	BoxesISOExtractor* _tmp35_;
	const gchar* _tmp36_;
	gchar* _tmp37_;
	gchar* full_path;
	const gchar* _tmp38_;
	GFileInfo* _tmp39_;
	const gchar* _tmp40_;
	BoxesUnattendedRawFile* _tmp41_;
	BoxesUnattendedRawFile* unattended_file;
	const gchar* _tmp42_;
	BoxesUnattendedRawFile* _tmp43_;
	GCancellable* _tmp44_;
	GFileInfo* _tmp45_;
	const gchar* _tmp46_;
	GFileEnumerator* _tmp47_;
	GCancellable* _tmp48_;
	GList* _tmp49_;
	GList* _tmp50_;
	gboolean _tmp51_;
	GError* e;
	GError * _inner_error_;
};


static gpointer boxes_win_xp_installer_parent_class = NULL;
static GRegex* boxes_win_xp_installer_key_regex;
static GRegex* boxes_win_xp_installer_key_regex = NULL;
static GRegex* boxes_win_xp_installer_admin_pass_regex;
static GRegex* boxes_win_xp_installer_admin_pass_regex = NULL;

GType boxes_installer_media_get_type (void) G_GNUC_CONST;
GType boxes_unattended_installer_get_type (void) G_GNUC_CONST;
GType boxes_unattended_file_get_type (void) G_GNUC_CONST;
gpointer avatar_format_ref (gpointer instance);
void avatar_format_unref (gpointer instance);
GParamSpec* param_spec_avatar_format (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
void value_set_avatar_format (GValue* value, gpointer v_object);
void value_take_avatar_format (GValue* value, gpointer v_object);
gpointer value_get_avatar_format (const GValue* value);
GType avatar_format_get_type (void) G_GNUC_CONST;
GType boxes_windows_installer_get_type (void) G_GNUC_CONST;
GType boxes_win_xp_installer_get_type (void) G_GNUC_CONST;
#define BOXES_WIN_XP_INSTALLER_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), BOXES_TYPE_WIN_XP_INSTALLER, BoxesWinXPInstallerPrivate))
enum  {
	BOXES_WIN_XP_INSTALLER_DUMMY_PROPERTY,
	BOXES_WIN_XP_INSTALLER_READY_FOR_EXPRESS,
	BOXES_WIN_XP_INSTALLER_SUPPORTS_VIRTIO_DISK
};
BoxesWinXPInstaller* boxes_win_xp_installer_new_from_media (BoxesInstallerMedia* media, GError** error);
BoxesWinXPInstaller* boxes_win_xp_installer_construct_from_media (GType object_type, BoxesInstallerMedia* media, GError** error);
AvatarFormat* avatar_format_new (const gchar* type, const gchar* extension, gboolean alpha, gint width, gint height);
AvatarFormat* avatar_format_construct (GType object_type, const gchar* type, const gchar* extension, gboolean alpha, gint width, gint height);
BoxesUnattendedInstaller* boxes_unattended_installer_construct_from_media (GType object_type, BoxesInstallerMedia* media, const gchar* unattended_src_path, const gchar* unattended_dest_name, AvatarFormat* avatar_format, GError** error);
void boxes_unattended_installer_add_unattended_file (BoxesUnattendedInstaller* self, BoxesUnattendedFile* file);
BoxesUnattendedTextFile* boxes_unattended_text_file_new (BoxesUnattendedInstaller* installer, const gchar* src_path, const gchar* dest_name);
BoxesUnattendedTextFile* boxes_unattended_text_file_construct (GType object_type, BoxesUnattendedInstaller* installer, const gchar* src_path, const gchar* dest_name);
GType boxes_unattended_text_file_get_type (void) G_GNUC_CONST;
void boxes_unattended_installer_set_extra_iso (BoxesUnattendedInstaller* self, const gchar* value);
static void boxes_win_xp_installer_real_prepare_for_installation_data_free (gpointer _data);
static void boxes_win_xp_installer_real_prepare_for_installation (BoxesInstallerMedia* base, const gchar* vm_name, GCancellable* cancellable, GAsyncReadyCallback _callback_, gpointer _user_data_);
static gboolean boxes_win_xp_installer_real_prepare_for_installation_co (BoxesWinXpInstallerPrepareForInstallationData* _data_);
void boxes_installer_media_prepare_for_installation (BoxesInstallerMedia* self, const gchar* vm_name, GCancellable* cancellable, GAsyncReadyCallback _callback_, gpointer _user_data_);
void boxes_installer_media_prepare_for_installation_finish (BoxesInstallerMedia* self, GAsyncResult* _res_, GError** error);
static void boxes_win_xp_installer_prepare_for_installation_ready (GObject* source_object, GAsyncResult* _res_, gpointer _user_data_);
gchar* boxes_unattended_installer_get_extra_iso (BoxesUnattendedInstaller* self);
BoxesISOExtractor* boxes_iso_extractor_new (const gchar* iso_path);
BoxesISOExtractor* boxes_iso_extractor_construct (GType object_type, const gchar* iso_path);
GType boxes_iso_extractor_get_type (void) G_GNUC_CONST;
void boxes_iso_extractor_mount_media (BoxesISOExtractor* self, GCancellable* cancellable, GAsyncReadyCallback _callback_, gpointer _user_data_);
void boxes_iso_extractor_mount_media_finish (BoxesISOExtractor* self, GAsyncResult* _res_, GError** error);
void boxes_iso_extractor_enumerate_children (BoxesISOExtractor* self, const gchar* rel_path, GCancellable* cancellable, GAsyncReadyCallback _callback_, gpointer _user_data_);
GFileEnumerator* boxes_iso_extractor_enumerate_children_finish (BoxesISOExtractor* self, GAsyncResult* _res_, GError** error);
gchar* boxes_iso_extractor_get_absolute_path (BoxesISOExtractor* self, const gchar* relative_path, GError** error);
static void _g_object_unref0_ (gpointer var);
static void _g_list_free__g_object_unref0_ (GList* self);
BoxesUnattendedRawFile* boxes_unattended_raw_file_new (BoxesUnattendedInstaller* installer, const gchar* src_path, const gchar* dest_name);
BoxesUnattendedRawFile* boxes_unattended_raw_file_construct (GType object_type, BoxesUnattendedInstaller* installer, const gchar* src_path, const gchar* dest_name);
GType boxes_unattended_raw_file_get_type (void) G_GNUC_CONST;
void boxes_unattended_file_copy (BoxesUnattendedFile* self, GCancellable* cancellable, GAsyncReadyCallback _callback_, gpointer _user_data_);
void boxes_unattended_file_copy_finish (BoxesUnattendedFile* self, GAsyncResult* _res_, GError** error);
static void boxes_win_xp_installer_real_setup_ui (BoxesUnattendedInstaller* base);
void boxes_unattended_installer_setup_ui (BoxesUnattendedInstaller* self);
GtkEntry* boxes_unattended_installer_create_input_entry (BoxesUnattendedInstaller* self, const gchar* text, gboolean mandatory, gboolean visibility);
static void boxes_win_xp_installer_on_key_text_inserted (BoxesWinXPInstaller* self, const gchar* text, gint text_length, gint* position);
static void _boxes_win_xp_installer_on_key_text_inserted_gtk_editable_insert_text (GtkEditable* _sender, const gchar* new_text, gint new_text_length, gint* position, gpointer self);
static gchar* boxes_win_xp_installer_real_fill_unattended_data (BoxesUnattendedInstaller* base, const gchar* data, GError** error);
gchar* boxes_unattended_installer_fill_unattended_data (BoxesUnattendedInstaller* self, const gchar* data, GError** error);
gchar* boxes_unattended_installer_get_password (BoxesUnattendedInstaller* self);
static gboolean _vala_uint_array_contains (guint* stack, int stack_length, guint needle);
BoxesWinXPInstaller* boxes_win_xp_installer_new (void);
BoxesWinXPInstaller* boxes_win_xp_installer_construct (GType object_type);
BoxesWindowsInstaller* boxes_windows_installer_construct (GType object_type);
gboolean boxes_unattended_installer_get_ready_for_express (BoxesUnattendedInstaller* self);
static void boxes_win_xp_installer_finalize (GObject* obj);
gboolean boxes_installer_media_get_supports_virtio_disk (BoxesInstallerMedia* self);
static void _vala_boxes_win_xp_installer_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec);

static const guint BOXES_WIN_XP_INSTALLER_allowed_dash_positions[4] = {(guint) 5, (guint) 11, (guint) 17, (guint) 23};

BoxesWinXPInstaller* boxes_win_xp_installer_construct_from_media (GType object_type, BoxesInstallerMedia* media, GError** error) {
	BoxesWinXPInstaller * self = NULL;
	BoxesInstallerMedia* _tmp0_;
	OsinfoOs* _tmp1_;
	const gchar* _tmp2_;
	const gchar* _tmp3_;
	gchar* _tmp4_;
	gchar* _tmp5_;
	gchar* _tmp6_ = NULL;
	gchar* _tmp7_;
	gchar* unattended_source;
	AvatarFormat* _tmp8_;
	AvatarFormat* avatar_format;
	BoxesInstallerMedia* _tmp9_;
	const gchar* _tmp10_;
	BoxesInstallerMedia* _tmp11_;
	OsinfoOs* _tmp12_;
	const gchar* _tmp13_;
	const gchar* _tmp14_;
	gchar* _tmp15_;
	gchar* name;
	const gchar* _tmp16_;
	gchar* _tmp17_ = NULL;
	const gchar* _tmp18_;
	const gchar* _tmp19_;
	BoxesUnattendedTextFile* _tmp20_;
	BoxesUnattendedTextFile* _tmp21_;
	BoxesInstallerMedia* _tmp22_;
	OsinfoOs* _tmp23_;
	const gchar* _tmp24_;
	const gchar* _tmp25_;
	gchar* _tmp26_;
	const gchar* _tmp27_;
	gchar* _tmp28_ = NULL;
	const gchar* _tmp29_;
	const gchar* _tmp30_;
	BoxesUnattendedTextFile* _tmp31_;
	BoxesUnattendedTextFile* _tmp32_;
	GError * _inner_error_ = NULL;
#line 40 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
	g_return_val_if_fail (media != NULL, NULL);
#line 41 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
	_tmp0_ = media;
#line 41 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
	_tmp1_ = _tmp0_->os;
#line 41 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
	_tmp2_ = osinfo_product_get_short_id ((OsinfoProduct*) _tmp1_);
#line 41 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
	_tmp3_ = _tmp2_;
#line 41 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
	_tmp4_ = g_strconcat (_tmp3_, ".sif", NULL);
#line 41 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
	_tmp5_ = _tmp4_;
#line 41 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
	_tmp6_ = boxes_get_unattended (_tmp5_);
#line 41 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
	_tmp7_ = _tmp6_;
#line 41 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
	_g_free0 (_tmp5_);
#line 41 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
	unattended_source = _tmp7_;
#line 42 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
	_tmp8_ = avatar_format_new ("bmp", ".bmp", FALSE, 48, 48);
#line 42 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
	avatar_format = _tmp8_;
#line 43 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
	_tmp9_ = media;
#line 43 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
	_tmp10_ = unattended_source;
#line 43 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
	self = (BoxesWinXPInstaller*) boxes_unattended_installer_construct_from_media (object_type, _tmp9_, _tmp10_, "Winnt.sif", avatar_format, &_inner_error_);
#line 43 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
	if (_inner_error_ != NULL) {
#line 43 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
		g_propagate_error (error, _inner_error_);
#line 43 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
		_avatar_format_unref0 (avatar_format);
#line 43 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
		_g_free0 (unattended_source);
#line 43 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
		_g_object_unref0 (self);
#line 43 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
		return NULL;
#line 442 "winxp-installer.c"
	}
#line 45 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
	_tmp11_ = media;
#line 45 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
	_tmp12_ = _tmp11_->os;
#line 45 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
	_tmp13_ = osinfo_product_get_short_id ((OsinfoProduct*) _tmp12_);
#line 45 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
	_tmp14_ = _tmp13_;
#line 45 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
	_tmp15_ = g_strconcat (_tmp14_, ".cmd", NULL);
#line 45 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
	name = _tmp15_;
#line 46 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
	_tmp16_ = name;
#line 46 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
	_tmp17_ = boxes_get_unattended (_tmp16_);
#line 46 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
	_g_free0 (unattended_source);
#line 46 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
	unattended_source = _tmp17_;
#line 47 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
	_tmp18_ = unattended_source;
#line 47 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
	_tmp19_ = name;
#line 47 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
	_tmp20_ = boxes_unattended_text_file_new ((BoxesUnattendedInstaller*) self, _tmp18_, _tmp19_);
#line 47 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
	_tmp21_ = _tmp20_;
#line 47 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
	boxes_unattended_installer_add_unattended_file ((BoxesUnattendedInstaller*) self, (BoxesUnattendedFile*) _tmp21_);
#line 47 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
	_g_object_unref0 (_tmp21_);
#line 49 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
	_tmp22_ = media;
#line 49 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
	_tmp23_ = _tmp22_->os;
#line 49 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
	_tmp24_ = osinfo_product_get_short_id ((OsinfoProduct*) _tmp23_);
#line 49 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
	_tmp25_ = _tmp24_;
#line 49 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
	_tmp26_ = g_strconcat (_tmp25_, ".reg", NULL);
#line 49 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
	_g_free0 (name);
#line 49 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
	name = _tmp26_;
#line 50 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
	_tmp27_ = name;
#line 50 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
	_tmp28_ = boxes_get_unattended (_tmp27_);
#line 50 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
	_g_free0 (unattended_source);
#line 50 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
	unattended_source = _tmp28_;
#line 51 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
	_tmp29_ = unattended_source;
#line 51 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
	_tmp30_ = name;
#line 51 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
	_tmp31_ = boxes_unattended_text_file_new ((BoxesUnattendedInstaller*) self, _tmp29_, _tmp30_);
#line 51 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
	_tmp32_ = _tmp31_;
#line 51 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
	boxes_unattended_installer_add_unattended_file ((BoxesUnattendedInstaller*) self, (BoxesUnattendedFile*) _tmp32_);
#line 51 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
	_g_object_unref0 (_tmp32_);
#line 52 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
	((BoxesUnattendedInstaller*) self)->newline_type = G_DATA_STREAM_NEWLINE_TYPE_CR_LF;
#line 53 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
	boxes_unattended_installer_set_extra_iso ((BoxesUnattendedInstaller*) self, "win-tools.iso");
#line 40 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
	_g_free0 (name);
#line 40 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
	_avatar_format_unref0 (avatar_format);
#line 40 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
	_g_free0 (unattended_source);
#line 40 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
	return self;
#line 522 "winxp-installer.c"
}


BoxesWinXPInstaller* boxes_win_xp_installer_new_from_media (BoxesInstallerMedia* media, GError** error) {
#line 40 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
	return boxes_win_xp_installer_construct_from_media (BOXES_TYPE_WIN_XP_INSTALLER, media, error);
#line 529 "winxp-installer.c"
}


static void boxes_win_xp_installer_real_prepare_for_installation_data_free (gpointer _data) {
	BoxesWinXpInstallerPrepareForInstallationData* _data_;
	_data_ = _data;
#line 6 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
	_g_free0 (_data_->vm_name);
#line 6 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
	_g_object_unref0 (_data_->cancellable);
#line 6 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
	_g_object_unref0 (_data_->self);
#line 6 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
	g_slice_free (BoxesWinXpInstallerPrepareForInstallationData, _data_);
#line 544 "winxp-installer.c"
}


static gpointer _g_object_ref0 (gpointer self) {
#line 6 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
	return self ? g_object_ref (self) : NULL;
#line 551 "winxp-installer.c"
}


static void boxes_win_xp_installer_real_prepare_for_installation (BoxesInstallerMedia* base, const gchar* vm_name, GCancellable* cancellable, GAsyncReadyCallback _callback_, gpointer _user_data_) {
	BoxesWinXPInstaller * self;
	BoxesWinXpInstallerPrepareForInstallationData* _data_;
	BoxesWinXPInstaller* _tmp0_;
	const gchar* _tmp1_;
	gchar* _tmp2_;
	GCancellable* _tmp3_;
	GCancellable* _tmp4_;
#line 6 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
	self = (BoxesWinXPInstaller*) base;
#line 6 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
	_data_ = g_slice_new0 (BoxesWinXpInstallerPrepareForInstallationData);
#line 6 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
	_data_->_async_result = g_simple_async_result_new (G_OBJECT (self), _callback_, _user_data_, boxes_win_xp_installer_real_prepare_for_installation);
#line 6 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
	g_simple_async_result_set_op_res_gpointer (_data_->_async_result, _data_, boxes_win_xp_installer_real_prepare_for_installation_data_free);
#line 6 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
	_tmp0_ = _g_object_ref0 (self);
#line 6 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
	_data_->self = _tmp0_;
#line 6 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
	_tmp1_ = vm_name;
#line 6 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
	_tmp2_ = g_strdup (_tmp1_);
#line 6 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
	_g_free0 (_data_->vm_name);
#line 6 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
	_data_->vm_name = _tmp2_;
#line 6 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
	_tmp3_ = cancellable;
#line 6 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
	_tmp4_ = _g_object_ref0 (_tmp3_);
#line 6 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
	_g_object_unref0 (_data_->cancellable);
#line 6 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
	_data_->cancellable = _tmp4_;
#line 6 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
	boxes_win_xp_installer_real_prepare_for_installation_co (_data_);
#line 593 "winxp-installer.c"
}


static void boxes_win_xp_installer_real_prepare_for_installation_finish (BoxesInstallerMedia* base, GAsyncResult* _res_, GError** error) {
	BoxesWinXpInstallerPrepareForInstallationData* _data_;
#line 6 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
	if (g_simple_async_result_propagate_error (G_SIMPLE_ASYNC_RESULT (_res_), error)) {
#line 6 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
		return;
#line 603 "winxp-installer.c"
	}
#line 6 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
	_data_ = g_simple_async_result_get_op_res_gpointer (G_SIMPLE_ASYNC_RESULT (_res_));
#line 607 "winxp-installer.c"
}


static void boxes_win_xp_installer_prepare_for_installation_ready (GObject* source_object, GAsyncResult* _res_, gpointer _user_data_) {
	BoxesWinXpInstallerPrepareForInstallationData* _data_;
#line 60 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
	_data_ = _user_data_;
#line 60 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
	_data_->_source_object_ = source_object;
#line 60 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
	_data_->_res_ = _res_;
#line 60 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
	boxes_win_xp_installer_real_prepare_for_installation_co (_data_);
#line 621 "winxp-installer.c"
}


static void _g_object_unref0_ (gpointer var) {
#line 77 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
	(var == NULL) ? NULL : (var = (g_object_unref (var), NULL));
#line 628 "winxp-installer.c"
}


static void _g_list_free__g_object_unref0_ (GList* self) {
#line 77 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
	g_list_foreach (self, (GFunc) _g_object_unref0_, NULL);
#line 77 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
	g_list_free (self);
#line 637 "winxp-installer.c"
}


static gboolean boxes_win_xp_installer_real_prepare_for_installation_co (BoxesWinXpInstallerPrepareForInstallationData* _data_) {
#line 56 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
	switch (_data_->_state_) {
#line 56 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
		case 0:
#line 646 "winxp-installer.c"
		goto _state_0;
#line 56 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
		case 1:
#line 650 "winxp-installer.c"
		goto _state_1;
#line 56 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
		case 2:
#line 654 "winxp-installer.c"
		goto _state_2;
#line 56 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
		case 3:
#line 658 "winxp-installer.c"
		goto _state_3;
#line 56 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
		case 4:
#line 662 "winxp-installer.c"
		goto _state_4;
#line 56 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
		case 5:
#line 666 "winxp-installer.c"
		goto _state_5;
#line 56 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
		case 6:
#line 670 "winxp-installer.c"
		goto _state_6;
		default:
#line 56 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
		g_assert_not_reached ();
#line 675 "winxp-installer.c"
	}
	_state_0:
#line 57 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
	_data_->have_viostor = FALSE;
#line 58 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
	_data_->self->priv->has_viostor_drivers = FALSE;
#line 60 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
	_data_->_tmp0_ = _data_->vm_name;
#line 60 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
	_data_->_tmp1_ = _data_->cancellable;
#line 60 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
	_data_->_state_ = 1;
#line 60 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
	BOXES_INSTALLER_MEDIA_CLASS (boxes_win_xp_installer_parent_class)->prepare_for_installation ((BoxesInstallerMedia*) G_TYPE_CHECK_INSTANCE_CAST (_data_->self, BOXES_TYPE_WINDOWS_INSTALLER, BoxesWindowsInstaller), _data_->_tmp0_, _data_->_tmp1_, boxes_win_xp_installer_prepare_for_installation_ready, _data_);
#line 60 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
	return FALSE;
#line 692 "winxp-installer.c"
	_state_1:
#line 60 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
	BOXES_INSTALLER_MEDIA_CLASS (boxes_win_xp_installer_parent_class)->prepare_for_installation_finish ((BoxesInstallerMedia*) G_TYPE_CHECK_INSTANCE_CAST (_data_->self, BOXES_TYPE_WINDOWS_INSTALLER, BoxesWindowsInstaller), _data_->_res_, &_data_->_inner_error_);
#line 60 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
	if (_data_->_inner_error_ != NULL) {
#line 60 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
		g_simple_async_result_set_from_error (_data_->_async_result, _data_->_inner_error_);
#line 60 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
		g_error_free (_data_->_inner_error_);
#line 60 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
		if (_data_->_state_ == 0) {
#line 60 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
			g_simple_async_result_complete_in_idle (_data_->_async_result);
#line 706 "winxp-installer.c"
		} else {
#line 60 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
			g_simple_async_result_complete (_data_->_async_result);
#line 710 "winxp-installer.c"
		}
#line 60 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
		g_object_unref (_data_->_async_result);
#line 60 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
		return FALSE;
#line 716 "winxp-installer.c"
	}
#line 62 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
	_data_->_tmp2_ = boxes_unattended_installer_get_extra_iso ((BoxesUnattendedInstaller*) _data_->self);
#line 62 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
	_data_->_tmp3_ = _data_->_tmp2_;
#line 62 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
	_data_->_tmp4_ = _data_->_tmp3_;
#line 62 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
	_data_->_tmp5_ = _data_->_tmp4_ == NULL;
#line 62 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
	_g_free0 (_data_->_tmp4_);
#line 62 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
	if (_data_->_tmp5_) {
#line 63 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
		if (_data_->_state_ == 0) {
#line 63 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
			g_simple_async_result_complete_in_idle (_data_->_async_result);
#line 734 "winxp-installer.c"
		} else {
#line 63 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
			g_simple_async_result_complete (_data_->_async_result);
#line 738 "winxp-installer.c"
		}
#line 63 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
		g_object_unref (_data_->_async_result);
#line 63 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
		return FALSE;
#line 744 "winxp-installer.c"
	}
	{
#line 66 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
		_data_->_tmp6_ = boxes_unattended_installer_get_extra_iso ((BoxesUnattendedInstaller*) _data_->self);
#line 66 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
		_data_->_tmp7_ = _data_->_tmp6_;
#line 66 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
		_data_->_tmp8_ = _data_->_tmp7_;
#line 66 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
		_data_->_tmp9_ = boxes_iso_extractor_new (_data_->_tmp8_);
#line 66 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
		_data_->_tmp10_ = _data_->_tmp9_;
#line 66 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
		_g_free0 (_data_->_tmp8_);
#line 66 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
		_data_->extractor = _data_->_tmp10_;
#line 68 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
		_data_->_tmp11_ = _data_->extractor;
#line 68 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
		_data_->_tmp12_ = _data_->cancellable;
#line 68 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
		_data_->_state_ = 2;
#line 68 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
		boxes_iso_extractor_mount_media (_data_->_tmp11_, _data_->_tmp12_, boxes_win_xp_installer_prepare_for_installation_ready, _data_);
#line 68 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
		return FALSE;
#line 771 "winxp-installer.c"
		_state_2:
#line 68 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
		boxes_iso_extractor_mount_media_finish (_data_->_tmp11_, _data_->_res_, &_data_->_inner_error_);
#line 68 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
		if (_data_->_inner_error_ != NULL) {
#line 68 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
			_g_object_unref0 (_data_->extractor);
#line 779 "winxp-installer.c"
			goto __catch85_g_error;
		}
#line 70 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
		_data_->_tmp14_ = ((BoxesInstallerMedia*) _data_->self)->os_media;
#line 70 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
		_data_->_tmp15_ = NULL;
#line 70 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
		g_object_get (_data_->_tmp14_, "architecture", &_data_->_tmp15_, NULL);
#line 70 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
		_data_->_tmp16_ = _data_->_tmp15_;
#line 70 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
		_data_->_tmp17_ = _data_->_tmp16_;
#line 70 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
		_data_->_tmp18_ = g_strcmp0 (_data_->_tmp17_, "x86_64") == 0;
#line 70 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
		_g_free0 (_data_->_tmp17_);
#line 70 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
		if (_data_->_tmp18_) {
#line 70 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
			_data_->_tmp13_ = "preinst/winxp/amd64";
#line 800 "winxp-installer.c"
		} else {
#line 70 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
			_data_->_tmp13_ = "preinst/winxp/x86";
#line 804 "winxp-installer.c"
		}
#line 70 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
		_data_->_tmp19_ = _data_->_tmp13_;
#line 70 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
		_data_->_tmp20_ = g_strdup (_data_->_tmp19_);
#line 70 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
		_data_->driver_path = _data_->_tmp20_;
#line 72 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
		_data_->_tmp21_ = _data_->extractor;
#line 72 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
		_data_->_tmp22_ = _data_->driver_path;
#line 72 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
		_data_->_tmp23_ = _data_->cancellable;
#line 72 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
		_data_->_state_ = 3;
#line 72 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
		boxes_iso_extractor_enumerate_children (_data_->_tmp21_, _data_->_tmp22_, _data_->_tmp23_, boxes_win_xp_installer_prepare_for_installation_ready, _data_);
#line 72 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
		return FALSE;
#line 824 "winxp-installer.c"
		_state_3:
#line 72 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
		_data_->_tmp24_ = NULL;
#line 72 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
		_data_->_tmp24_ = boxes_iso_extractor_enumerate_children_finish (_data_->_tmp21_, _data_->_res_, &_data_->_inner_error_);
#line 72 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
		_data_->enumerator = _data_->_tmp24_;
#line 72 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
		if (_data_->_inner_error_ != NULL) {
#line 72 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
			_g_free0 (_data_->driver_path);
#line 72 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
			_g_object_unref0 (_data_->extractor);
#line 838 "winxp-installer.c"
			goto __catch85_g_error;
		}
#line 73 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
		_data_->_tmp25_ = _data_->enumerator;
#line 73 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
		_data_->_tmp26_ = _data_->cancellable;
#line 73 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
		_data_->_state_ = 4;
#line 73 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
		g_file_enumerator_next_files_async (_data_->_tmp25_, 4, G_PRIORITY_DEFAULT, _data_->_tmp26_, boxes_win_xp_installer_prepare_for_installation_ready, _data_);
#line 73 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
		return FALSE;
#line 851 "winxp-installer.c"
		_state_4:
#line 73 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
		_data_->_tmp27_ = NULL;
#line 73 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
		_data_->_tmp27_ = g_file_enumerator_next_files_finish (_data_->_tmp25_, _data_->_res_, &_data_->_inner_error_);
#line 73 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
		_data_->infos = _data_->_tmp27_;
#line 73 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
		if (_data_->_inner_error_ != NULL) {
#line 73 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
			_g_object_unref0 (_data_->enumerator);
#line 73 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
			_g_free0 (_data_->driver_path);
#line 73 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
			_g_object_unref0 (_data_->extractor);
#line 867 "winxp-installer.c"
			goto __catch85_g_error;
		}
#line 74 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
		while (TRUE) {
#line 74 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
			_data_->_tmp28_ = _data_->infos;
#line 74 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
			if (!(_data_->_tmp28_ != NULL)) {
#line 74 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
				break;
#line 878 "winxp-installer.c"
			}
#line 75 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
			_data_->_tmp29_ = _data_->infos;
#line 882 "winxp-installer.c"
			{
#line 75 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
				_data_->info_collection = _data_->_tmp29_;
#line 75 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
				for (_data_->info_it = _data_->info_collection; _data_->info_it != NULL; _data_->info_it = _data_->info_it->next) {
#line 75 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
					_data_->_tmp30_ = _g_object_ref0 ((GFileInfo*) _data_->info_it->data);
#line 75 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
					_data_->info = _data_->_tmp30_;
#line 892 "winxp-installer.c"
					{
#line 76 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
						_data_->_tmp31_ = _data_->driver_path;
#line 76 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
						_data_->_tmp32_ = _data_->info;
#line 76 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
						_data_->_tmp33_ = NULL;
#line 76 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
						_data_->_tmp33_ = g_file_info_get_name (_data_->_tmp32_);
#line 76 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
						_data_->_tmp34_ = NULL;
#line 76 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
						_data_->_tmp34_ = g_build_filename (_data_->_tmp31_, _data_->_tmp33_, NULL);
#line 76 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
						_data_->relative_path = _data_->_tmp34_;
#line 77 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
						_data_->_tmp35_ = _data_->extractor;
#line 77 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
						_data_->_tmp36_ = _data_->relative_path;
#line 77 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
						_data_->_tmp37_ = NULL;
#line 77 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
						_data_->_tmp37_ = boxes_iso_extractor_get_absolute_path (_data_->_tmp35_, _data_->_tmp36_, &_data_->_inner_error_);
#line 77 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
						_data_->full_path = _data_->_tmp37_;
#line 77 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
						if (_data_->_inner_error_ != NULL) {
#line 77 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
							_g_free0 (_data_->relative_path);
#line 77 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
							_g_object_unref0 (_data_->info);
#line 77 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
							__g_list_free__g_object_unref0_0 (_data_->infos);
#line 77 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
							_g_object_unref0 (_data_->enumerator);
#line 77 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
							_g_free0 (_data_->driver_path);
#line 77 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
							_g_object_unref0 (_data_->extractor);
#line 932 "winxp-installer.c"
							goto __catch85_g_error;
						}
#line 78 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
						_data_->_tmp38_ = _data_->full_path;
#line 78 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
						_data_->_tmp39_ = _data_->info;
#line 78 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
						_data_->_tmp40_ = NULL;
#line 78 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
						_data_->_tmp40_ = g_file_info_get_name (_data_->_tmp39_);
#line 78 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
						_data_->_tmp41_ = boxes_unattended_raw_file_new ((BoxesUnattendedInstaller*) _data_->self, _data_->_tmp38_, _data_->_tmp40_);
#line 78 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
						_data_->unattended_file = _data_->_tmp41_;
#line 79 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
						_data_->_tmp42_ = _data_->relative_path;
#line 79 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
						g_debug ("winxp-installer.vala:79: Copying %s from extra ISO to unattended flopp" \
"y", _data_->_tmp42_);
#line 80 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
						_data_->_tmp43_ = _data_->unattended_file;
#line 80 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
						_data_->_tmp44_ = _data_->cancellable;
#line 80 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
						_data_->_state_ = 5;
#line 80 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
						boxes_unattended_file_copy ((BoxesUnattendedFile*) _data_->_tmp43_, _data_->_tmp44_, boxes_win_xp_installer_prepare_for_installation_ready, _data_);
#line 80 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
						return FALSE;
#line 961 "winxp-installer.c"
						_state_5:
#line 80 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
						boxes_unattended_file_copy_finish ((BoxesUnattendedFile*) _data_->_tmp43_, _data_->_res_, &_data_->_inner_error_);
#line 80 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
						if (_data_->_inner_error_ != NULL) {
#line 80 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
							_g_object_unref0 (_data_->unattended_file);
#line 80 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
							_g_free0 (_data_->full_path);
#line 80 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
							_g_free0 (_data_->relative_path);
#line 80 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
							_g_object_unref0 (_data_->info);
#line 80 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
							__g_list_free__g_object_unref0_0 (_data_->infos);
#line 80 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
							_g_object_unref0 (_data_->enumerator);
#line 80 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
							_g_free0 (_data_->driver_path);
#line 80 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
							_g_object_unref0 (_data_->extractor);
#line 983 "winxp-installer.c"
							goto __catch85_g_error;
						}
#line 81 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
						_data_->_tmp45_ = _data_->info;
#line 81 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
						_data_->_tmp46_ = NULL;
#line 81 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
						_data_->_tmp46_ = g_file_info_get_name (_data_->_tmp45_);
#line 81 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
						if (g_strcmp0 (_data_->_tmp46_, "viostor.sys") == 0) {
#line 82 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
							_data_->have_viostor = TRUE;
#line 996 "winxp-installer.c"
						}
#line 75 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
						_g_object_unref0 (_data_->unattended_file);
#line 75 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
						_g_free0 (_data_->full_path);
#line 75 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
						_g_free0 (_data_->relative_path);
#line 75 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
						_g_object_unref0 (_data_->info);
#line 1006 "winxp-installer.c"
					}
				}
			}
#line 84 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
			_data_->_tmp47_ = _data_->enumerator;
#line 84 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
			_data_->_tmp48_ = _data_->cancellable;
#line 84 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
			_data_->_state_ = 6;
#line 84 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
			g_file_enumerator_next_files_async (_data_->_tmp47_, 4, G_PRIORITY_DEFAULT, _data_->_tmp48_, boxes_win_xp_installer_prepare_for_installation_ready, _data_);
#line 84 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
			return FALSE;
#line 1020 "winxp-installer.c"
			_state_6:
#line 84 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
			_data_->_tmp49_ = NULL;
#line 84 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
			_data_->_tmp49_ = g_file_enumerator_next_files_finish (_data_->_tmp47_, _data_->_res_, &_data_->_inner_error_);
#line 84 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
			_data_->_tmp50_ = _data_->_tmp49_;
#line 84 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
			if (_data_->_inner_error_ != NULL) {
#line 84 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
				__g_list_free__g_object_unref0_0 (_data_->infos);
#line 84 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
				_g_object_unref0 (_data_->enumerator);
#line 84 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
				_g_free0 (_data_->driver_path);
#line 84 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
				_g_object_unref0 (_data_->extractor);
#line 1038 "winxp-installer.c"
				goto __catch85_g_error;
			}
#line 84 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
			__g_list_free__g_object_unref0_0 (_data_->infos);
#line 84 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
			_data_->infos = _data_->_tmp50_;
#line 1045 "winxp-installer.c"
		}
#line 89 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
		_data_->_tmp51_ = _data_->have_viostor;
#line 89 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
		_data_->self->priv->has_viostor_drivers = _data_->_tmp51_;
#line 65 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
		__g_list_free__g_object_unref0_0 (_data_->infos);
#line 65 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
		_g_object_unref0 (_data_->enumerator);
#line 65 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
		_g_free0 (_data_->driver_path);
#line 65 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
		_g_object_unref0 (_data_->extractor);
#line 1059 "winxp-installer.c"
	}
	goto __finally85;
	__catch85_g_error:
	{
#line 65 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
		_data_->e = _data_->_inner_error_;
#line 65 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
		_data_->_inner_error_ = NULL;
#line 91 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
		_data_->self->priv->has_viostor_drivers = FALSE;
#line 65 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
		_g_error_free0 (_data_->e);
#line 1072 "winxp-installer.c"
	}
	__finally85:
#line 65 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
	if (_data_->_inner_error_ != NULL) {
#line 65 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
		g_simple_async_result_set_from_error (_data_->_async_result, _data_->_inner_error_);
#line 65 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
		g_error_free (_data_->_inner_error_);
#line 65 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
		if (_data_->_state_ == 0) {
#line 65 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
			g_simple_async_result_complete_in_idle (_data_->_async_result);
#line 1085 "winxp-installer.c"
		} else {
#line 65 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
			g_simple_async_result_complete (_data_->_async_result);
#line 1089 "winxp-installer.c"
		}
#line 65 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
		g_object_unref (_data_->_async_result);
#line 65 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
		return FALSE;
#line 1095 "winxp-installer.c"
	}
#line 56 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
	if (_data_->_state_ == 0) {
#line 56 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
		g_simple_async_result_complete_in_idle (_data_->_async_result);
#line 1101 "winxp-installer.c"
	} else {
#line 56 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
		g_simple_async_result_complete (_data_->_async_result);
#line 1105 "winxp-installer.c"
	}
#line 56 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
	g_object_unref (_data_->_async_result);
#line 56 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
	return FALSE;
#line 1111 "winxp-installer.c"
}


static void _boxes_win_xp_installer_on_key_text_inserted_gtk_editable_insert_text (GtkEditable* _sender, const gchar* new_text, gint new_text_length, gint* position, gpointer self) {
#line 118 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
	boxes_win_xp_installer_on_key_text_inserted (self, new_text, new_text_length, position);
#line 1118 "winxp-installer.c"
}


static void boxes_win_xp_installer_real_setup_ui (BoxesUnattendedInstaller* base) {
	BoxesWinXPInstaller * self;
	const gchar* _tmp0_ = NULL;
	GtkLabel* _tmp1_;
	GtkLabel* label;
	GtkGrid* _tmp2_;
	gint _tmp3_;
	GtkSwitch* _tmp4_;
	GtkEntry* _tmp5_ = NULL;
	GtkEntry* _tmp6_;
	GtkEntry* _tmp7_;
	GtkEntry* _tmp8_;
	GtkEntry* _tmp9_;
	GtkEntry* _tmp10_;
	GtkEntry* _tmp11_;
	GtkStyleContext* _tmp12_ = NULL;
	GtkGrid* _tmp13_;
	GtkEntry* _tmp14_;
	gint _tmp15_;
	GtkSwitch* _tmp16_;
	GtkEntry* _tmp17_;
	gint _tmp18_;
	GtkEntry* _tmp19_;
	gulong _tmp20_ = 0UL;
#line 95 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
	self = (BoxesWinXPInstaller*) base;
#line 96 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
	BOXES_UNATTENDED_INSTALLER_CLASS (boxes_win_xp_installer_parent_class)->setup_ui ((BoxesUnattendedInstaller*) G_TYPE_CHECK_INSTANCE_CAST (self, BOXES_TYPE_WINDOWS_INSTALLER, BoxesWindowsInstaller));
#line 99 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
	_tmp0_ = _ ("Product Key");
#line 99 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
	_tmp1_ = (GtkLabel*) gtk_label_new (_tmp0_);
#line 99 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
	g_object_ref_sink (_tmp1_);
#line 99 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
	label = _tmp1_;
#line 100 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
	gtk_widget_set_margin_top ((GtkWidget*) label, 15);
#line 101 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
	gtk_widget_set_margin_right ((GtkWidget*) label, 10);
#line 102 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
	gtk_widget_set_halign ((GtkWidget*) label, GTK_ALIGN_END);
#line 103 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
	gtk_widget_set_valign ((GtkWidget*) label, GTK_ALIGN_CENTER);
#line 104 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
	_tmp2_ = ((BoxesUnattendedInstaller*) self)->setup_grid;
#line 104 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
	_tmp3_ = ((BoxesUnattendedInstaller*) self)->setup_grid_n_rows;
#line 104 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
	gtk_grid_attach (_tmp2_, (GtkWidget*) label, 0, _tmp3_, 2, 1);
#line 105 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
	_tmp4_ = ((BoxesUnattendedInstaller*) self)->express_toggle;
#line 105 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
	g_object_bind_property_with_closures ((GObject*) _tmp4_, "active", (GObject*) label, "sensitive", 0, (GClosure*) ((NULL == NULL) ? NULL : g_cclosure_new ((GCallback) NULL, NULL, NULL)), (GClosure*) ((NULL == NULL) ? NULL : g_cclosure_new ((GCallback) NULL, NULL, NULL)));
#line 107 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
	_tmp5_ = boxes_unattended_installer_create_input_entry ((BoxesUnattendedInstaller*) self, "", TRUE, TRUE);
#line 107 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
	_g_object_unref0 (self->priv->key_entry);
#line 107 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
	self->priv->key_entry = _tmp5_;
#line 108 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
	_tmp6_ = self->priv->key_entry;
#line 108 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
	gtk_entry_set_width_chars (_tmp6_, 29);
#line 109 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
	_tmp7_ = self->priv->key_entry;
#line 109 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
	gtk_entry_set_max_length (_tmp7_, 29);
#line 110 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
	_tmp8_ = self->priv->key_entry;
#line 110 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
	gtk_widget_set_margin_top ((GtkWidget*) _tmp8_, 15);
#line 111 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
	_tmp9_ = self->priv->key_entry;
#line 111 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
	gtk_widget_set_halign ((GtkWidget*) _tmp9_, GTK_ALIGN_FILL);
#line 112 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
	_tmp10_ = self->priv->key_entry;
#line 112 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
	gtk_widget_set_valign ((GtkWidget*) _tmp10_, GTK_ALIGN_CENTER);
#line 113 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
	_tmp11_ = self->priv->key_entry;
#line 113 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
	_tmp12_ = gtk_widget_get_style_context ((GtkWidget*) _tmp11_);
#line 113 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
	gtk_style_context_add_class (_tmp12_, "boxes-product-key-entry");
#line 114 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
	_tmp13_ = ((BoxesUnattendedInstaller*) self)->setup_grid;
#line 114 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
	_tmp14_ = self->priv->key_entry;
#line 114 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
	_tmp15_ = ((BoxesUnattendedInstaller*) self)->setup_grid_n_rows;
#line 114 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
	gtk_grid_attach (_tmp13_, (GtkWidget*) _tmp14_, 2, _tmp15_, 1, 1);
#line 115 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
	_tmp16_ = ((BoxesUnattendedInstaller*) self)->express_toggle;
#line 115 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
	_tmp17_ = self->priv->key_entry;
#line 115 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
	g_object_bind_property_with_closures ((GObject*) _tmp16_, "active", (GObject*) _tmp17_, "sensitive", 0, (GClosure*) ((NULL == NULL) ? NULL : g_cclosure_new ((GCallback) NULL, NULL, NULL)), (GClosure*) ((NULL == NULL) ? NULL : g_cclosure_new ((GCallback) NULL, NULL, NULL)));
#line 116 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
	_tmp18_ = ((BoxesUnattendedInstaller*) self)->setup_grid_n_rows;
#line 116 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
	((BoxesUnattendedInstaller*) self)->setup_grid_n_rows = _tmp18_ + 1;
#line 118 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
	_tmp19_ = self->priv->key_entry;
#line 118 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
	_tmp20_ = g_signal_connect_object ((GtkEditable*) _tmp19_, "insert-text", (GCallback) _boxes_win_xp_installer_on_key_text_inserted_gtk_editable_insert_text, self, 0);
#line 118 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
	self->priv->key_inserted_id = _tmp20_;
#line 95 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
	_g_object_unref0 (label);
#line 1234 "winxp-installer.c"
}


static gchar* boxes_win_xp_installer_real_fill_unattended_data (BoxesUnattendedInstaller* base, const gchar* data, GError** error) {
	BoxesWinXPInstaller * self;
	gchar* result = NULL;
	const gchar* _tmp0_;
	gchar* _tmp1_ = NULL;
	gchar* str;
	gchar* _tmp2_ = NULL;
	gchar* _tmp3_;
	gchar* _tmp4_;
	gchar* _tmp5_;
	gboolean _tmp6_;
	const gchar* _tmp10_;
	gchar* _tmp11_;
	gchar* admin_pass;
	GRegex* _tmp12_;
	const gchar* _tmp13_;
	const gchar* _tmp14_;
	gint _tmp15_;
	gint _tmp16_;
	const gchar* _tmp17_;
	gchar* _tmp18_ = NULL;
	gchar* _tmp19_;
	GRegex* _tmp20_;
	const gchar* _tmp21_;
	const gchar* _tmp22_;
	gint _tmp23_;
	gint _tmp24_;
	GtkEntry* _tmp25_;
	const gchar* _tmp26_;
	const gchar* _tmp27_;
	gchar* _tmp28_ = NULL;
	gchar* _tmp29_;
	GError * _inner_error_ = NULL;
#line 121 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
	self = (BoxesWinXPInstaller*) base;
#line 121 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
	g_return_val_if_fail (data != NULL, NULL);
#line 122 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
	_tmp0_ = data;
#line 122 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
	_tmp1_ = BOXES_UNATTENDED_INSTALLER_CLASS (boxes_win_xp_installer_parent_class)->fill_unattended_data ((BoxesUnattendedInstaller*) G_TYPE_CHECK_INSTANCE_CAST (self, BOXES_TYPE_WINDOWS_INSTALLER, BoxesWindowsInstaller), _tmp0_, &_inner_error_);
#line 122 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
	str = _tmp1_;
#line 122 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
	if (_inner_error_ != NULL) {
#line 122 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
		if (_inner_error_->domain == G_REGEX_ERROR) {
#line 122 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
			g_propagate_error (error, _inner_error_);
#line 122 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
			return NULL;
#line 1289 "winxp-installer.c"
		} else {
#line 122 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.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 122 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
			g_clear_error (&_inner_error_);
#line 122 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
			return NULL;
#line 1297 "winxp-installer.c"
		}
	}
#line 123 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
	_tmp3_ = boxes_unattended_installer_get_password ((BoxesUnattendedInstaller*) self);
#line 123 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
	_tmp4_ = _tmp3_;
#line 123 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
	_tmp5_ = _tmp4_;
#line 123 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
	_tmp6_ = g_strcmp0 (_tmp5_, "") != 0;
#line 123 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
	_g_free0 (_tmp5_);
#line 123 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
	if (_tmp6_) {
#line 1312 "winxp-installer.c"
		gchar* _tmp7_;
		gchar* _tmp8_;
#line 123 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
		_tmp7_ = boxes_unattended_installer_get_password ((BoxesUnattendedInstaller*) self);
#line 123 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
		_tmp8_ = _tmp7_;
#line 123 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
		_g_free0 (_tmp2_);
#line 123 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
		_tmp2_ = _tmp8_;
#line 1323 "winxp-installer.c"
	} else {
		gchar* _tmp9_;
#line 123 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
		_tmp9_ = g_strdup ("*");
#line 123 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
		_g_free0 (_tmp2_);
#line 123 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
		_tmp2_ = _tmp9_;
#line 1332 "winxp-installer.c"
	}
#line 123 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
	_tmp10_ = _tmp2_;
#line 123 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
	_tmp11_ = g_strdup (_tmp10_);
#line 123 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
	admin_pass = _tmp11_;
#line 124 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
	_tmp12_ = boxes_win_xp_installer_admin_pass_regex;
#line 124 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
	_tmp13_ = str;
#line 124 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
	_tmp14_ = str;
#line 124 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
	_tmp15_ = strlen (_tmp14_);
#line 124 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
	_tmp16_ = _tmp15_;
#line 124 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
	_tmp17_ = admin_pass;
#line 124 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
	_tmp18_ = g_regex_replace (_tmp12_, _tmp13_, (gssize) _tmp16_, 0, _tmp17_, 0, &_inner_error_);
#line 124 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
	_tmp19_ = _tmp18_;
#line 124 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
	if (_inner_error_ != NULL) {
#line 124 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
		if (_inner_error_->domain == G_REGEX_ERROR) {
#line 124 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
			g_propagate_error (error, _inner_error_);
#line 124 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
			_g_free0 (admin_pass);
#line 124 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
			_g_free0 (_tmp2_);
#line 124 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
			_g_free0 (str);
#line 124 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
			return NULL;
#line 1370 "winxp-installer.c"
		} else {
#line 124 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
			_g_free0 (admin_pass);
#line 124 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
			_g_free0 (_tmp2_);
#line 124 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
			_g_free0 (str);
#line 124 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.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 124 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
			g_clear_error (&_inner_error_);
#line 124 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
			return NULL;
#line 1384 "winxp-installer.c"
		}
	}
#line 124 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
	_g_free0 (str);
#line 124 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
	str = _tmp19_;
#line 126 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
	_tmp20_ = boxes_win_xp_installer_key_regex;
#line 126 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
	_tmp21_ = str;
#line 126 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
	_tmp22_ = str;
#line 126 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
	_tmp23_ = strlen (_tmp22_);
#line 126 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
	_tmp24_ = _tmp23_;
#line 126 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
	_tmp25_ = self->priv->key_entry;
#line 126 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
	_tmp26_ = gtk_entry_get_text (_tmp25_);
#line 126 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
	_tmp27_ = _tmp26_;
#line 126 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
	_tmp28_ = g_regex_replace (_tmp20_, _tmp21_, (gssize) _tmp24_, 0, _tmp27_, 0, &_inner_error_);
#line 126 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
	_tmp29_ = _tmp28_;
#line 126 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
	if (_inner_error_ != NULL) {
#line 126 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
		if (_inner_error_->domain == G_REGEX_ERROR) {
#line 126 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
			g_propagate_error (error, _inner_error_);
#line 126 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
			_g_free0 (admin_pass);
#line 126 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
			_g_free0 (_tmp2_);
#line 126 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
			_g_free0 (str);
#line 126 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
			return NULL;
#line 1425 "winxp-installer.c"
		} else {
#line 126 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
			_g_free0 (admin_pass);
#line 126 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
			_g_free0 (_tmp2_);
#line 126 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
			_g_free0 (str);
#line 126 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.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 126 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
			g_clear_error (&_inner_error_);
#line 126 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
			return NULL;
#line 1439 "winxp-installer.c"
		}
	}
#line 126 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
	result = _tmp29_;
#line 126 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
	_g_free0 (admin_pass);
#line 126 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
	_g_free0 (_tmp2_);
#line 126 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
	_g_free0 (str);
#line 126 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
	return result;
#line 1452 "winxp-installer.c"
}


static guint8* string_get_data (const gchar* self, int* result_length1) {
	guint8* result;
	guint8* res;
	gint res_length1;
	gint _res_size_;
	gint _tmp0_;
	gint _tmp1_;
	gint _tmp2_;
	guint8* _tmp3_;
	gint _tmp3__length1;
	guint8* _tmp4_;
	gint _tmp4__length1;
#line 1246 "/home/zeenix/jhbuild/share/vala-0.20/vapi/glib-2.0.vapi"
	g_return_val_if_fail (self != NULL, NULL);
#line 1247 "/home/zeenix/jhbuild/share/vala-0.20/vapi/glib-2.0.vapi"
	res = (guint8*) self;
#line 1247 "/home/zeenix/jhbuild/share/vala-0.20/vapi/glib-2.0.vapi"
	res_length1 = -1;
#line 1247 "/home/zeenix/jhbuild/share/vala-0.20/vapi/glib-2.0.vapi"
	_res_size_ = res_length1;
#line 1248 "/home/zeenix/jhbuild/share/vala-0.20/vapi/glib-2.0.vapi"
	_tmp0_ = strlen (self);
#line 1248 "/home/zeenix/jhbuild/share/vala-0.20/vapi/glib-2.0.vapi"
	_tmp1_ = _tmp0_;
#line 1248 "/home/zeenix/jhbuild/share/vala-0.20/vapi/glib-2.0.vapi"
	res_length1 = (gint) _tmp1_;
#line 1248 "/home/zeenix/jhbuild/share/vala-0.20/vapi/glib-2.0.vapi"
	_tmp2_ = res_length1;
#line 1249 "/home/zeenix/jhbuild/share/vala-0.20/vapi/glib-2.0.vapi"
	_tmp3_ = res;
#line 1249 "/home/zeenix/jhbuild/share/vala-0.20/vapi/glib-2.0.vapi"
	_tmp3__length1 = res_length1;
#line 1249 "/home/zeenix/jhbuild/share/vala-0.20/vapi/glib-2.0.vapi"
	_tmp4_ = _tmp3_;
#line 1249 "/home/zeenix/jhbuild/share/vala-0.20/vapi/glib-2.0.vapi"
	_tmp4__length1 = _tmp3__length1;
#line 1249 "/home/zeenix/jhbuild/share/vala-0.20/vapi/glib-2.0.vapi"
	if (result_length1) {
#line 1249 "/home/zeenix/jhbuild/share/vala-0.20/vapi/glib-2.0.vapi"
		*result_length1 = _tmp4__length1;
#line 1496 "winxp-installer.c"
	}
#line 1249 "/home/zeenix/jhbuild/share/vala-0.20/vapi/glib-2.0.vapi"
	result = _tmp4_;
#line 1249 "/home/zeenix/jhbuild/share/vala-0.20/vapi/glib-2.0.vapi"
	return result;
#line 1502 "winxp-installer.c"
}


static gboolean _vala_uint_array_contains (guint* stack, int stack_length, guint needle) {
	int i;
#line 140 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
	for (i = 0; i < stack_length; i++) {
#line 140 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
		if (needle == stack[i]) {
#line 140 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
			return TRUE;
#line 1514 "winxp-installer.c"
		}
	}
#line 140 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
	return FALSE;
#line 1519 "winxp-installer.c"
}


static void boxes_win_xp_installer_on_key_text_inserted (BoxesWinXPInstaller* self, const gchar* text, gint text_length, gint* position) {
	gchar* _tmp0_;
	gchar* _result_;
	guint i;
	const gchar* _tmp1_;
	guint8* _tmp2_;
	gint _tmp2__length1;
	guint8* _tmp3_;
	gint _tmp3__length1;
	const gchar* _tmp20_;
	GtkEntry* _tmp32_;
#line 129 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
	g_return_if_fail (self != NULL);
#line 129 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
	g_return_if_fail (text != NULL);
#line 130 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
	_tmp0_ = g_strdup ("");
#line 130 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
	_result_ = _tmp0_;
#line 132 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
	i = (guint) 0;
#line 133 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
	_tmp1_ = text;
#line 133 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
	_tmp2_ = string_get_data (_tmp1_, &_tmp2__length1);
#line 133 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
	_tmp3_ = _tmp2_;
#line 133 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
	_tmp3__length1 = _tmp2__length1;
#line 1552 "winxp-installer.c"
	{
		gchar* character_collection = NULL;
		gint character_collection_length1 = 0;
		gint _character_collection_size_ = 0;
		gint character_it = 0;
#line 133 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
		character_collection = (gchar*) _tmp3_;
#line 133 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
		character_collection_length1 = (_tmp3__length1 * sizeof (guint8)) / sizeof (gchar);
#line 133 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
		for (character_it = 0; character_it < ((_tmp3__length1 * sizeof (guint8)) / sizeof (gchar)); character_it = character_it + 1) {
#line 1564 "winxp-installer.c"
			gchar character = '\0';
#line 133 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
			character = character_collection[character_it];
#line 1568 "winxp-installer.c"
			{
				guint _tmp4_;
				gint _tmp5_;
				guint char_position;
				gchar _tmp6_;
				const gchar* _tmp14_;
				gchar _tmp15_;
				gchar* _tmp16_ = NULL;
				gchar* _tmp17_;
				gchar* _tmp18_;
				guint _tmp19_;
#line 134 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
				_tmp4_ = i;
#line 134 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
				_tmp5_ = *position;
#line 134 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
				char_position = _tmp4_ + _tmp5_;
#line 136 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
				_tmp6_ = character;
#line 136 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
				if (_tmp6_ != '-') {
#line 1590 "winxp-installer.c"
					gchar _tmp7_;
					gboolean _tmp8_ = FALSE;
					guint _tmp9_;
#line 137 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
					_tmp7_ = character;
#line 137 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
					_tmp8_ = g_ascii_isalnum (_tmp7_);
#line 137 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
					if (!_tmp8_) {
#line 138 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
						continue;
#line 1602 "winxp-installer.c"
					}
#line 140 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
					_tmp9_ = char_position;
#line 140 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
					if (_vala_uint_array_contains (BOXES_WIN_XP_INSTALLER_allowed_dash_positions, G_N_ELEMENTS (BOXES_WIN_XP_INSTALLER_allowed_dash_positions), _tmp9_)) {
#line 1608 "winxp-installer.c"
						const gchar* _tmp10_;
						gchar* _tmp11_;
						guint _tmp12_;
#line 142 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
						_tmp10_ = _result_;
#line 142 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
						_tmp11_ = g_strconcat (_tmp10_, "-", NULL);
#line 142 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
						_g_free0 (_result_);
#line 142 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
						_result_ = _tmp11_;
#line 143 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
						_tmp12_ = i;
#line 143 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
						i = _tmp12_ + 1;
#line 1624 "winxp-installer.c"
					}
				} else {
					guint _tmp13_;
#line 145 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
					_tmp13_ = char_position;
#line 145 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
					if (!_vala_uint_array_contains (BOXES_WIN_XP_INSTALLER_allowed_dash_positions, G_N_ELEMENTS (BOXES_WIN_XP_INSTALLER_allowed_dash_positions), _tmp13_)) {
#line 146 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
						continue;
#line 1634 "winxp-installer.c"
					}
				}
#line 148 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
				_tmp14_ = _result_;
#line 148 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
				_tmp15_ = character;
#line 148 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
				_tmp16_ = g_strdup_printf ("%c", _tmp15_);
#line 148 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
				_tmp17_ = _tmp16_;
#line 148 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
				_tmp18_ = g_strconcat (_tmp14_, _tmp17_, NULL);
#line 148 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
				_g_free0 (_result_);
#line 148 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
				_result_ = _tmp18_;
#line 148 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
				_g_free0 (_tmp17_);
#line 149 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
				_tmp19_ = i;
#line 149 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
				i = _tmp19_ + 1;
#line 1657 "winxp-installer.c"
			}
		}
	}
#line 152 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
	_tmp20_ = _result_;
#line 152 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
	if (g_strcmp0 (_tmp20_, "") != 0) {
#line 1665 "winxp-installer.c"
		GtkEntry* _tmp21_;
		gulong _tmp22_;
		GtkEntry* _tmp23_;
		const gchar* _tmp24_;
		gchar* _tmp25_ = NULL;
		gchar* _tmp26_;
		const gchar* _tmp27_;
		gint _tmp28_;
		gint _tmp29_;
		GtkEntry* _tmp30_;
		gulong _tmp31_;
#line 153 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
		_tmp21_ = self->priv->key_entry;
#line 153 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
		_tmp22_ = self->priv->key_inserted_id;
#line 153 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
		g_signal_handler_block (_tmp21_, _tmp22_);
#line 154 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
		_tmp23_ = self->priv->key_entry;
#line 154 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
		_tmp24_ = _result_;
#line 154 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
		_tmp25_ = g_utf8_strup (_tmp24_, (gssize) (-1));
#line 154 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
		_tmp26_ = _tmp25_;
#line 154 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
		_tmp27_ = _result_;
#line 154 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
		_tmp28_ = strlen (_tmp27_);
#line 154 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
		_tmp29_ = _tmp28_;
#line 154 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
		gtk_editable_insert_text ((GtkEditable*) _tmp23_, _tmp26_, _tmp29_, position);
#line 154 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
		_g_free0 (_tmp26_);
#line 155 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
		_tmp30_ = self->priv->key_entry;
#line 155 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
		_tmp31_ = self->priv->key_inserted_id;
#line 155 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
		g_signal_handler_unblock (_tmp30_, _tmp31_);
#line 1707 "winxp-installer.c"
	}
#line 158 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
	_tmp32_ = self->priv->key_entry;
#line 158 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
	g_signal_stop_emission_by_name (_tmp32_, "insert-text");
#line 129 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
	_g_free0 (_result_);
#line 1715 "winxp-installer.c"
}


BoxesWinXPInstaller* boxes_win_xp_installer_construct (GType object_type) {
	BoxesWinXPInstaller * self = NULL;
#line 6 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
	self = (BoxesWinXPInstaller*) boxes_windows_installer_construct (object_type);
#line 6 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
	return self;
#line 1725 "winxp-installer.c"
}


BoxesWinXPInstaller* boxes_win_xp_installer_new (void) {
#line 6 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
	return boxes_win_xp_installer_construct (BOXES_TYPE_WIN_XP_INSTALLER);
#line 1732 "winxp-installer.c"
}


static gboolean boxes_win_xp_installer_real_get_ready_for_express (BoxesUnattendedInstaller* base) {
	gboolean result;
	BoxesWinXPInstaller* self;
	gboolean _tmp0_ = FALSE;
	gboolean _tmp1_;
	gboolean _tmp5_;
#line 17 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
	self = (BoxesWinXPInstaller*) base;
#line 18 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
	_tmp1_ = BOXES_UNATTENDED_INSTALLER_CLASS (boxes_win_xp_installer_parent_class)->get_ready_for_express ((BoxesUnattendedInstaller*) G_TYPE_CHECK_INSTANCE_CAST (self, BOXES_TYPE_WINDOWS_INSTALLER, BoxesWindowsInstaller));
#line 18 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
	if (_tmp1_) {
#line 1748 "winxp-installer.c"
		GtkEntry* _tmp2_;
		guint _tmp3_;
		guint _tmp4_;
#line 18 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
		_tmp2_ = self->priv->key_entry;
#line 18 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
		_tmp3_ = gtk_entry_get_text_length (_tmp2_);
#line 18 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
		_tmp4_ = _tmp3_;
#line 18 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
		_tmp0_ = _tmp4_ == ((guint) 29);
#line 1760 "winxp-installer.c"
	} else {
#line 18 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
		_tmp0_ = FALSE;
#line 1764 "winxp-installer.c"
	}
#line 18 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
	_tmp5_ = _tmp0_;
#line 18 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
	result = _tmp5_;
#line 18 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
	return result;
#line 1772 "winxp-installer.c"
}


static gboolean boxes_win_xp_installer_real_get_supports_virtio_disk (BoxesInstallerMedia* base) {
	gboolean result;
	BoxesWinXPInstaller* self;
	gboolean _tmp0_;
#line 25 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
	self = (BoxesWinXPInstaller*) base;
#line 26 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
	_tmp0_ = self->priv->has_viostor_drivers;
#line 26 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
	result = _tmp0_;
#line 26 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
	return result;
#line 1788 "winxp-installer.c"
}


static void boxes_win_xp_installer_class_init (BoxesWinXPInstallerClass * klass) {
	GError * _inner_error_ = NULL;
#line 6 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
	boxes_win_xp_installer_parent_class = g_type_class_peek_parent (klass);
#line 6 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
	g_type_class_add_private (klass, sizeof (BoxesWinXPInstallerPrivate));
#line 6 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
	BOXES_INSTALLER_MEDIA_CLASS (klass)->prepare_for_installation = boxes_win_xp_installer_real_prepare_for_installation;
#line 6 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
	BOXES_INSTALLER_MEDIA_CLASS (klass)->prepare_for_installation_finish = boxes_win_xp_installer_real_prepare_for_installation_finish;
#line 6 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
	BOXES_UNATTENDED_INSTALLER_CLASS (klass)->setup_ui = boxes_win_xp_installer_real_setup_ui;
#line 6 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
	BOXES_UNATTENDED_INSTALLER_CLASS (klass)->fill_unattended_data = boxes_win_xp_installer_real_fill_unattended_data;
#line 6 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
	BOXES_UNATTENDED_INSTALLER_CLASS (klass)->get_ready_for_express = boxes_win_xp_installer_real_get_ready_for_express;
#line 6 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
	BOXES_INSTALLER_MEDIA_CLASS (klass)->get_supports_virtio_disk = boxes_win_xp_installer_real_get_supports_virtio_disk;
#line 6 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
	G_OBJECT_CLASS (klass)->get_property = _vala_boxes_win_xp_installer_get_property;
#line 6 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
	G_OBJECT_CLASS (klass)->finalize = boxes_win_xp_installer_finalize;
#line 6 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
	g_object_class_install_property (G_OBJECT_CLASS (klass), BOXES_WIN_XP_INSTALLER_READY_FOR_EXPRESS, g_param_spec_boolean ("ready-for-express", "ready-for-express", "ready-for-express", FALSE, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE));
#line 6 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
	g_object_class_install_property (G_OBJECT_CLASS (klass), BOXES_WIN_XP_INSTALLER_SUPPORTS_VIRTIO_DISK, g_param_spec_boolean ("supports-virtio-disk", "supports-virtio-disk", "supports-virtio-disk", FALSE, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE));
#line 1818 "winxp-installer.c"
	{
		GRegex* _tmp0_;
		GRegex* _tmp1_;
		GRegex* _tmp2_;
		GRegex* _tmp3_;
#line 32 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
		_tmp0_ = g_regex_new ("BOXES_PRODUCT_KEY", 0, 0, &_inner_error_);
#line 32 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
		_tmp1_ = _tmp0_;
#line 32 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
		if (_inner_error_ != NULL) {
#line 32 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
			if (_inner_error_->domain == G_REGEX_ERROR) {
#line 1832 "winxp-installer.c"
				goto __catch86_g_regex_error;
			}
#line 32 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.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 32 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
			g_clear_error (&_inner_error_);
#line 1839 "winxp-installer.c"
		}
#line 32 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
		_g_regex_unref0 (boxes_win_xp_installer_key_regex);
#line 32 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
		boxes_win_xp_installer_key_regex = _tmp1_;
#line 33 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
		_tmp2_ = g_regex_new ("BOXES_XP_ADMIN_PASSWORD", 0, 0, &_inner_error_);
#line 33 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
		_tmp3_ = _tmp2_;
#line 33 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
		if (_inner_error_ != NULL) {
#line 33 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
			if (_inner_error_->domain == G_REGEX_ERROR) {
#line 1853 "winxp-installer.c"
				goto __catch86_g_regex_error;
			}
#line 33 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.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 33 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
			g_clear_error (&_inner_error_);
#line 1860 "winxp-installer.c"
		}
#line 33 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
		_g_regex_unref0 (boxes_win_xp_installer_admin_pass_regex);
#line 33 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
		boxes_win_xp_installer_admin_pass_regex = _tmp3_;
#line 1866 "winxp-installer.c"
	}
	goto __finally86;
	__catch86_g_regex_error:
	{
		GError* _error_ = NULL;
#line 31 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
		_error_ = _inner_error_;
#line 31 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
		_inner_error_ = NULL;
#line 36 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
		g_assert_not_reached ();
#line 31 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
		_g_error_free0 (_error_);
#line 1880 "winxp-installer.c"
	}
	__finally86:
#line 31 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
	if (_inner_error_ != NULL) {
#line 31 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.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 31 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
		g_clear_error (&_inner_error_);
#line 1889 "winxp-installer.c"
	}
}


static void boxes_win_xp_installer_instance_init (BoxesWinXPInstaller * self) {
#line 6 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
	self->priv = BOXES_WIN_XP_INSTALLER_GET_PRIVATE (self);
#line 1897 "winxp-installer.c"
}


static void boxes_win_xp_installer_finalize (GObject* obj) {
	BoxesWinXPInstaller * self;
#line 6 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, BOXES_TYPE_WIN_XP_INSTALLER, BoxesWinXPInstaller);
#line 12 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
	_g_object_unref0 (self->priv->key_entry);
#line 6 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
	G_OBJECT_CLASS (boxes_win_xp_installer_parent_class)->finalize (obj);
#line 1909 "winxp-installer.c"
}


GType boxes_win_xp_installer_get_type (void) {
	static volatile gsize boxes_win_xp_installer_type_id__volatile = 0;
	if (g_once_init_enter (&boxes_win_xp_installer_type_id__volatile)) {
		static const GTypeInfo g_define_type_info = { sizeof (BoxesWinXPInstallerClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) boxes_win_xp_installer_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (BoxesWinXPInstaller), 0, (GInstanceInitFunc) boxes_win_xp_installer_instance_init, NULL };
		GType boxes_win_xp_installer_type_id;
		boxes_win_xp_installer_type_id = g_type_register_static (BOXES_TYPE_WINDOWS_INSTALLER, "BoxesWinXPInstaller", &g_define_type_info, 0);
		g_once_init_leave (&boxes_win_xp_installer_type_id__volatile, boxes_win_xp_installer_type_id);
	}
	return boxes_win_xp_installer_type_id__volatile;
}


static void _vala_boxes_win_xp_installer_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec) {
	BoxesWinXPInstaller * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, BOXES_TYPE_WIN_XP_INSTALLER, BoxesWinXPInstaller);
#line 6 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
	switch (property_id) {
#line 6 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
		case BOXES_WIN_XP_INSTALLER_READY_FOR_EXPRESS:
#line 6 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
		g_value_set_boolean (value, boxes_unattended_installer_get_ready_for_express ((BoxesUnattendedInstaller*) self));
#line 6 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
		break;
#line 6 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
		case BOXES_WIN_XP_INSTALLER_SUPPORTS_VIRTIO_DISK:
#line 6 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
		g_value_set_boolean (value, boxes_installer_media_get_supports_virtio_disk ((BoxesInstallerMedia*) self));
#line 6 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
		break;
#line 1942 "winxp-installer.c"
		default:
#line 6 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
#line 6 "/extra-data/checkout/gnome/gnome-boxes/src/winxp-installer.vala"
		break;
#line 1948 "winxp-installer.c"
	}
}



