/* transaction.c generated by valac 0.56.18-dirty, the Vala compiler
 * generated from transaction.vala, do not modify */

/*
 *  pamac-vala
 *
 *  Copyright (C) 2014-2023 Guillaume Benoit <guillaume@manjaro.org>
 *
 *  This program is free software; you can redistribute it and/or modify
 *  it under the terms of the GNU General Public License as published by
 *  the Free Software Foundation; either version 3 of the License, or
 *  (at your option) any later version.
 *
 *  This program is distributed in the hope that it will be useful,
 *  but WITHOUT ANY WARRANTY; without even the implied warranty of
 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 *  GNU General Public License for more details.
 *
 *  You should have received a get of the GNU General Public License
 *  along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */

#include "pamac.h"
#include <glib-object.h>
#include <gio/gio.h>
#include <glib.h>
#include <stdlib.h>
#include <string.h>
#include <glib/gi18n-lib.h>
#include <sys/utsname.h>
#include <alpm.h>
#include <float.h>
#include <math.h>
#include <signal.h>
#include <unistd.h>
#include <sys/types.h>
#include <alpm_list.h>

#if !defined(VALA_STRICT_C)
#if !defined(__clang__) && defined(__GNUC__) && (__GNUC__ >= 14)
#pragma GCC diagnostic warning "-Wincompatible-pointer-types"
#elif defined(__clang__) && (__clang_major__ >= 16)
#pragma clang diagnostic ignored "-Wincompatible-function-pointer-types"
#pragma clang diagnostic ignored "-Wincompatible-pointer-types"
#endif
#endif

#define PAMAC_TYPE_TRANSACTION_INTERFACE (pamac_transaction_interface_get_type ())
#define PAMAC_TRANSACTION_INTERFACE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PAMAC_TYPE_TRANSACTION_INTERFACE, PamacTransactionInterface))
#define PAMAC_IS_TRANSACTION_INTERFACE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PAMAC_TYPE_TRANSACTION_INTERFACE))
#define PAMAC_TRANSACTION_INTERFACE_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), PAMAC_TYPE_TRANSACTION_INTERFACE, PamacTransactionInterfaceIface))

typedef struct _PamacTransactionInterface PamacTransactionInterface;
typedef struct _PamacTransactionInterfaceIface PamacTransactionInterfaceIface;

#define PAMAC_TYPE_ALPM_UTILS (pamac_alpm_utils_get_type ())
#define PAMAC_ALPM_UTILS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PAMAC_TYPE_ALPM_UTILS, PamacAlpmUtils))
#define PAMAC_ALPM_UTILS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PAMAC_TYPE_ALPM_UTILS, PamacAlpmUtilsClass))
#define PAMAC_IS_ALPM_UTILS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PAMAC_TYPE_ALPM_UTILS))
#define PAMAC_IS_ALPM_UTILS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PAMAC_TYPE_ALPM_UTILS))
#define PAMAC_ALPM_UTILS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PAMAC_TYPE_ALPM_UTILS, PamacAlpmUtilsClass))

typedef struct _PamacAlpmUtils PamacAlpmUtils;
typedef struct _PamacAlpmUtilsClass PamacAlpmUtilsClass;
enum  {
	PAMAC_TRANSACTION_0_PROPERTY,
	PAMAC_TRANSACTION_DATABASE_PROPERTY,
	PAMAC_TRANSACTION_DOWNLOAD_ONLY_PROPERTY,
	PAMAC_TRANSACTION_DRY_RUN_PROPERTY,
	PAMAC_TRANSACTION_INSTALL_IF_NEEDED_PROPERTY,
	PAMAC_TRANSACTION_REMOVE_IF_UNNEEDED_PROPERTY,
	PAMAC_TRANSACTION_CASCADE_PROPERTY,
	PAMAC_TRANSACTION_KEEP_CONFIG_FILES_PROPERTY,
	PAMAC_TRANSACTION_INSTALL_AS_DEP_PROPERTY,
	PAMAC_TRANSACTION_INSTALL_AS_EXPLICIT_PROPERTY,
	PAMAC_TRANSACTION_NO_REFRESH_PROPERTY,
	PAMAC_TRANSACTION_NUM_PROPERTIES
};
static GParamSpec* pamac_transaction_properties[PAMAC_TRANSACTION_NUM_PROPERTIES];
#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL)))
#define _g_hash_table_unref0(var) ((var == NULL) ? NULL : (var = (g_hash_table_unref (var), NULL)))
#define _g_free0(var) (var = (g_free (var), NULL))
#define _g_ptr_array_unref0(var) ((var == NULL) ? NULL : (var = (g_ptr_array_unref (var), NULL)))
#define _g_error_free0(var) ((var == NULL) ? NULL : (var = (g_error_free (var), NULL)))
typedef struct _PamacTransactionAskCommitData PamacTransactionAskCommitData;
typedef struct _PamacTransactionAskEditBuildFilesData PamacTransactionAskEditBuildFilesData;
typedef struct _PamacTransactionEditBuildFilesData PamacTransactionEditBuildFilesData;
typedef struct _PamacTransactionAskImportKeyData PamacTransactionAskImportKeyData;
typedef struct _PamacTransactionGetBuildFilesAsyncData PamacTransactionGetBuildFilesAsyncData;
typedef struct _PamacTransactionChooseOptdepsData PamacTransactionChooseOptdepsData;
typedef struct _PamacTransactionChooseProviderData PamacTransactionChooseProviderData;
typedef struct _PamacTransactionAskSnapInstallClassicData PamacTransactionAskSnapInstallClassicData;
typedef struct _PamacTransactionGetAuthorizationAsyncData PamacTransactionGetAuthorizationAsyncData;
typedef struct _PamacTransactionGenerateMirrorsListAsyncData PamacTransactionGenerateMirrorsListAsyncData;
typedef struct _PamacTransactionCleanCacheAsyncData PamacTransactionCleanCacheAsyncData;
typedef struct _PamacTransactionCleanBuildFilesAsyncData PamacTransactionCleanBuildFilesAsyncData;
typedef struct _PamacTransactionSetPkgreasonAsyncData PamacTransactionSetPkgreasonAsyncData;
typedef struct _PamacTransactionDownloadUpdatesAsyncData PamacTransactionDownloadUpdatesAsyncData;
typedef struct _PamacTransactionComputeAurBuildListData PamacTransactionComputeAurBuildListData;
typedef struct _PamacTransactionLaunchSubprocessData PamacTransactionLaunchSubprocessData;
typedef struct _PamacTransactionComputeAurBuildListRealData PamacTransactionComputeAurBuildListRealData;

#define PAMAC_TYPE_AUR_INFOS (pamac_aur_infos_get_type ())
#define PAMAC_AUR_INFOS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PAMAC_TYPE_AUR_INFOS, PamacAURInfos))
#define PAMAC_AUR_INFOS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PAMAC_TYPE_AUR_INFOS, PamacAURInfosClass))
#define PAMAC_IS_AUR_INFOS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PAMAC_TYPE_AUR_INFOS))
#define PAMAC_IS_AUR_INFOS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PAMAC_TYPE_AUR_INFOS))
#define PAMAC_AUR_INFOS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PAMAC_TYPE_AUR_INFOS, PamacAURInfosClass))

typedef struct _PamacAURInfos PamacAURInfos;
typedef struct _PamacAURInfosClass PamacAURInfosClass;
#define _g_string_free0(var) ((var == NULL) ? NULL : (var = (g_string_free (var, TRUE), NULL)))

#define PAMAC_TYPE_AUR_PACKAGE_LINKED (pamac_aur_package_linked_get_type ())
#define PAMAC_AUR_PACKAGE_LINKED(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PAMAC_TYPE_AUR_PACKAGE_LINKED, PamacAURPackageLinked))
#define PAMAC_AUR_PACKAGE_LINKED_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PAMAC_TYPE_AUR_PACKAGE_LINKED, PamacAURPackageLinkedClass))
#define PAMAC_IS_AUR_PACKAGE_LINKED(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PAMAC_TYPE_AUR_PACKAGE_LINKED))
#define PAMAC_IS_AUR_PACKAGE_LINKED_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PAMAC_TYPE_AUR_PACKAGE_LINKED))
#define PAMAC_AUR_PACKAGE_LINKED_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PAMAC_TYPE_AUR_PACKAGE_LINKED, PamacAURPackageLinkedClass))

typedef struct _PamacAURPackageLinked PamacAURPackageLinked;
typedef struct _PamacAURPackageLinkedClass PamacAURPackageLinkedClass;

#define PAMAC_TYPE_AUR_PACKAGE_STATIC (pamac_aur_package_static_get_type ())
#define PAMAC_AUR_PACKAGE_STATIC(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PAMAC_TYPE_AUR_PACKAGE_STATIC, PamacAURPackageStatic))
#define PAMAC_AUR_PACKAGE_STATIC_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PAMAC_TYPE_AUR_PACKAGE_STATIC, PamacAURPackageStaticClass))
#define PAMAC_IS_AUR_PACKAGE_STATIC(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PAMAC_TYPE_AUR_PACKAGE_STATIC))
#define PAMAC_IS_AUR_PACKAGE_STATIC_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PAMAC_TYPE_AUR_PACKAGE_STATIC))
#define PAMAC_AUR_PACKAGE_STATIC_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PAMAC_TYPE_AUR_PACKAGE_STATIC, PamacAURPackageStaticClass))

typedef struct _PamacAURPackageStatic PamacAURPackageStatic;
typedef struct _PamacAURPackageStaticClass PamacAURPackageStaticClass;
typedef struct _PamacTransactionCheckAurDepListData PamacTransactionCheckAurDepListData;
typedef struct _PamacTransactionCloneBuildFilesIfNeededData PamacTransactionCloneBuildFilesIfNeededData;
typedef struct _PamacTransactionCheckSignaturesData PamacTransactionCheckSignaturesData;
typedef struct _PamacTransactionCheckSignatureData PamacTransactionCheckSignatureData;
typedef struct _PamacTransactionRunAsyncData PamacTransactionRunAsyncData;
typedef struct _PamacTransactionAddOptdepsData PamacTransactionAddOptdepsData;
typedef struct _PamacTransactionRunAlpmTransactionData PamacTransactionRunAlpmTransactionData;
typedef struct _Block45Data Block45Data;
#define _g_thread_unref0(var) ((var == NULL) ? NULL : (var = (g_thread_unref (var), NULL)))
typedef struct _PamacTransactionTransCheckPrepareData PamacTransactionTransCheckPrepareData;
typedef struct _PamacTransactionCheckDbsData PamacTransactionCheckDbsData;
typedef struct _PamacTransactionRefreshDbsAsyncData PamacTransactionRefreshDbsAsyncData;
typedef struct _PamacTransactionRefreshFilesDbsAsyncData PamacTransactionRefreshFilesDbsAsyncData;
typedef struct _PamacAlpmUtilsPrivate PamacAlpmUtilsPrivate;

#define TYPE_ALPM_CONFIG (alpm_config_get_type ())
#define ALPM_CONFIG(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_ALPM_CONFIG, AlpmConfig))
#define ALPM_CONFIG_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_ALPM_CONFIG, AlpmConfigClass))
#define IS_ALPM_CONFIG(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_ALPM_CONFIG))
#define IS_ALPM_CONFIG_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_ALPM_CONFIG))
#define ALPM_CONFIG_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_ALPM_CONFIG, AlpmConfigClass))

typedef struct _AlpmConfig AlpmConfig;
typedef struct _AlpmConfigClass AlpmConfigClass;
typedef struct _PamacTransactionTransPrepareData PamacTransactionTransPrepareData;
typedef struct _PamacTransactionTransRunData PamacTransactionTransRunData;
typedef struct _PamacTransactionRunSnapTransactionData PamacTransactionRunSnapTransactionData;
typedef struct _PamacTransactionSnapSwitchChannelAsyncData PamacTransactionSnapSwitchChannelAsyncData;
typedef struct _PamacTransactionRunFlatpakTransactionData PamacTransactionRunFlatpakTransactionData;
#define _g_regex_unref0(var) ((var == NULL) ? NULL : (var = (g_regex_unref (var), NULL)))
typedef struct _PamacTransactionRunCmdLineAsyncData PamacTransactionRunCmdLineAsyncData;
#define _alpm_release0(var) ((var == NULL) ? NULL : (var = (alpm_release (var), NULL)))
#define _alpm_list_free0(var) ((var == NULL) ? NULL : (var = (alpm_list_free (var), NULL)))
typedef struct _PamacTransactionBuildAurPackagesData PamacTransactionBuildAurPackagesData;
typedef struct _PamacTransactionInstallBuiltPkgsData PamacTransactionInstallBuiltPkgsData;
typedef struct _Block46Data Block46Data;
#define _g_main_loop_unref0(var) ((var == NULL) ? NULL : (var = (g_main_loop_unref (var), NULL)))
typedef struct _PamacTransactionAskCommitRealData PamacTransactionAskCommitRealData;
typedef struct _PamacTransactionAskEditBuildFilesRealData PamacTransactionAskEditBuildFilesRealData;

#define PAMAC_TYPE_TRANSACTION_INTERFACE_ROOT (pamac_transaction_interface_root_get_type ())
#define PAMAC_TRANSACTION_INTERFACE_ROOT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PAMAC_TYPE_TRANSACTION_INTERFACE_ROOT, PamacTransactionInterfaceRoot))
#define PAMAC_TRANSACTION_INTERFACE_ROOT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PAMAC_TYPE_TRANSACTION_INTERFACE_ROOT, PamacTransactionInterfaceRootClass))
#define PAMAC_IS_TRANSACTION_INTERFACE_ROOT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PAMAC_TYPE_TRANSACTION_INTERFACE_ROOT))
#define PAMAC_IS_TRANSACTION_INTERFACE_ROOT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PAMAC_TYPE_TRANSACTION_INTERFACE_ROOT))
#define PAMAC_TRANSACTION_INTERFACE_ROOT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PAMAC_TYPE_TRANSACTION_INTERFACE_ROOT, PamacTransactionInterfaceRootClass))

typedef struct _PamacTransactionInterfaceRoot PamacTransactionInterfaceRoot;
typedef struct _PamacTransactionInterfaceRootClass PamacTransactionInterfaceRootClass;

#define PAMAC_TYPE_TRANSACTION_INTERFACE_DAEMON (pamac_transaction_interface_daemon_get_type ())
#define PAMAC_TRANSACTION_INTERFACE_DAEMON(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PAMAC_TYPE_TRANSACTION_INTERFACE_DAEMON, PamacTransactionInterfaceDaemon))
#define PAMAC_TRANSACTION_INTERFACE_DAEMON_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PAMAC_TYPE_TRANSACTION_INTERFACE_DAEMON, PamacTransactionInterfaceDaemonClass))
#define PAMAC_IS_TRANSACTION_INTERFACE_DAEMON(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PAMAC_TYPE_TRANSACTION_INTERFACE_DAEMON))
#define PAMAC_IS_TRANSACTION_INTERFACE_DAEMON_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PAMAC_TYPE_TRANSACTION_INTERFACE_DAEMON))
#define PAMAC_TRANSACTION_INTERFACE_DAEMON_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PAMAC_TYPE_TRANSACTION_INTERFACE_DAEMON, PamacTransactionInterfaceDaemonClass))

typedef struct _PamacTransactionInterfaceDaemon PamacTransactionInterfaceDaemon;
typedef struct _PamacTransactionInterfaceDaemonClass PamacTransactionInterfaceDaemonClass;
typedef struct _Block47Data Block47Data;
typedef struct _Block48Data Block48Data;
typedef struct _Block49Data Block49Data;
typedef struct _Block50Data Block50Data;
typedef struct _Block51Data Block51Data;
typedef struct _Block52Data Block52Data;
typedef struct _Block53Data Block53Data;
typedef struct _Block54Data Block54Data;
enum  {
	PAMAC_TRANSACTION_EMIT_ACTION_SIGNAL,
	PAMAC_TRANSACTION_EMIT_ACTION_PROGRESS_SIGNAL,
	PAMAC_TRANSACTION_EMIT_DOWNLOAD_PROGRESS_SIGNAL,
	PAMAC_TRANSACTION_EMIT_HOOK_PROGRESS_SIGNAL,
	PAMAC_TRANSACTION_EMIT_SCRIPT_OUTPUT_SIGNAL,
	PAMAC_TRANSACTION_EMIT_WARNING_SIGNAL,
	PAMAC_TRANSACTION_EMIT_ERROR_SIGNAL,
	PAMAC_TRANSACTION_START_WAITING_SIGNAL,
	PAMAC_TRANSACTION_STOP_WAITING_SIGNAL,
	PAMAC_TRANSACTION_START_PREPARING_SIGNAL,
	PAMAC_TRANSACTION_STOP_PREPARING_SIGNAL,
	PAMAC_TRANSACTION_START_DOWNLOADING_SIGNAL,
	PAMAC_TRANSACTION_STOP_DOWNLOADING_SIGNAL,
	PAMAC_TRANSACTION_START_BUILDING_SIGNAL,
	PAMAC_TRANSACTION_STOP_BUILDING_SIGNAL,
	PAMAC_TRANSACTION_IMPORTANT_DETAILS_OUTPOUT_SIGNAL,
	PAMAC_TRANSACTION_NUM_SIGNALS
};
static guint pamac_transaction_signals[PAMAC_TRANSACTION_NUM_SIGNALS] = {0};

struct _PamacTransactionInterfaceIface {
	GTypeInterface parent_iface;
	void (*get_authorization) (PamacTransactionInterface* self, GAsyncReadyCallback _callback_, gpointer _user_data_);
	gboolean (*get_authorization_finish) (PamacTransactionInterface* self, GAsyncResult* _res_, GError** error);
	void (*remove_authorization) (PamacTransactionInterface* self, GError** error);
	void (*generate_mirrors_list) (PamacTransactionInterface* self, const gchar* country, GAsyncReadyCallback _callback_, gpointer _user_data_);
	void (*generate_mirrors_list_finish) (PamacTransactionInterface* self, GAsyncResult* _res_, GError** error);
	void (*clean_cache) (PamacTransactionInterface* self, GPtrArray* filenames, GAsyncReadyCallback _callback_, gpointer _user_data_);
	gboolean (*clean_cache_finish) (PamacTransactionInterface* self, GAsyncResult* _res_, GError** error);
	void (*clean_build_files) (PamacTransactionInterface* self, const gchar* aur_build_dir, GAsyncReadyCallback _callback_, gpointer _user_data_);
	gboolean (*clean_build_files_finish) (PamacTransactionInterface* self, GAsyncResult* _res_, GError** error);
	void (*set_pkgreason) (PamacTransactionInterface* self, const gchar* pkgname, guint reason, GAsyncReadyCallback _callback_, gpointer _user_data_);
	gboolean (*set_pkgreason_finish) (PamacTransactionInterface* self, GAsyncResult* _res_, GError** error);
	void (*download_updates) (PamacTransactionInterface* self, GAsyncReadyCallback _callback_, gpointer _user_data_);
	gboolean (*download_updates_finish) (PamacTransactionInterface* self, GAsyncResult* _res_, GError** error);
	void (*download_pkgs) (PamacTransactionInterface* self, GPtrArray* urls, GAsyncReadyCallback _callback_, gpointer _user_data_);
	gchar** (*download_pkgs_finish) (PamacTransactionInterface* self, GAsyncResult* _res_, gint* result_length1, GError** error);
	void (*trans_refresh) (PamacTransactionInterface* self, gboolean force, GAsyncReadyCallback _callback_, gpointer _user_data_);
	gboolean (*trans_refresh_finish) (PamacTransactionInterface* self, GAsyncResult* _res_, GError** error);
	void (*trans_refresh_files) (PamacTransactionInterface* self, gboolean force, GAsyncReadyCallback _callback_, gpointer _user_data_);
	gboolean (*trans_refresh_files_finish) (PamacTransactionInterface* self, GAsyncResult* _res_, GError** error);
	void (*trans_refresh_aur) (PamacTransactionInterface* self, gboolean force, GAsyncReadyCallback _callback_, gpointer _user_data_);
	gboolean (*trans_refresh_aur_finish) (PamacTransactionInterface* self, GAsyncResult* _res_, GError** error);
	void (*trans_run) (PamacTransactionInterface* self, gboolean sysupgrade, gboolean enable_downgrade, gboolean simple_install, gboolean keep_built_pkgs, gint trans_flags, GPtrArray* to_install, GPtrArray* to_remove, GPtrArray* to_load_local, GPtrArray* to_load_remote, GPtrArray* to_install_as_dep, GPtrArray* ignorepkgs, GPtrArray* overwrite_files, GAsyncReadyCallback _callback_, gpointer _user_data_);
	gboolean (*trans_run_finish) (PamacTransactionInterface* self, GAsyncResult* _res_, GError** error);
	void (*trans_cancel) (PamacTransactionInterface* self, GError** error);
	void (*quit_daemon) (PamacTransactionInterface* self, GError** error);
	void (*snap_trans_run) (PamacTransactionInterface* self, GPtrArray* to_install, GPtrArray* to_remove, GAsyncReadyCallback _callback_, gpointer _user_data_);
	gboolean (*snap_trans_run_finish) (PamacTransactionInterface* self, GAsyncResult* _res_, GError** error);
	void (*snap_switch_channel) (PamacTransactionInterface* self, const gchar* snap_name, const gchar* channel, GAsyncReadyCallback _callback_, gpointer _user_data_);
	gboolean (*snap_switch_channel_finish) (PamacTransactionInterface* self, GAsyncResult* _res_, GError** error);
	void (*flatpak_trans_run) (PamacTransactionInterface* self, GPtrArray* to_install, GPtrArray* to_remove, GPtrArray* to_upgrade, GAsyncReadyCallback _callback_, gpointer _user_data_);
	gboolean (*flatpak_trans_run_finish) (PamacTransactionInterface* self, GAsyncResult* _res_, GError** error);
};

struct _PamacTransactionPrivate {
	PamacTransactionInterface* transaction_interface;
	gboolean waiting;
	PamacConfig* config;
	GMainContext* context;
	PamacAlpmUtils* alpm_utils;
	gboolean sysupgrading;
	gboolean force_refresh;
	gint trans_flags;
	GHashTable* to_install;
	GHashTable* to_remove;
	GHashTable* to_load_local;
	GHashTable* to_load_remote;
	GHashTable* to_build;
	GHashTable* clone_files;
	GHashTable* clone_deps_files;
	GHashTable* ignorepkgs;
	GHashTable* overwrite_files;
	GHashTable* to_install_as_dep;
	GHashTable* snap_to_install;
	GHashTable* snap_to_remove;
	GHashTable* flatpak_to_install;
	GHashTable* flatpak_to_remove;
	GHashTable* flatpak_to_upgrade;
	gchar* tmp_path;
	gchar* aurdb_path;
	GHashTable* already_checked_aur_dep;
	GHashTable* aur_desc_list;
	GQueue* to_build_queue;
	GHashTable* aur_pkgs_to_install;
	gboolean building;
	GCancellable* build_cancellable;
	PamacDatabase* _database;
	gboolean _download_only;
	gboolean _dry_run;
	gboolean _install_if_needed;
	gboolean _remove_if_unneeded;
	gboolean _cascade;
	gboolean _keep_config_files;
	gboolean _install_as_dep;
	gboolean _install_as_explicit;
	gboolean _no_refresh;
};

struct _PamacTransactionAskCommitData {
	int _state_;
	GObject* _source_object_;
	GAsyncResult* _res_;
	GTask* _async_result;
	PamacTransaction* self;
	PamacTransactionSummary* summary;
	gboolean result;
};

struct _PamacTransactionAskEditBuildFilesData {
	int _state_;
	GObject* _source_object_;
	GAsyncResult* _res_;
	GTask* _async_result;
	PamacTransaction* self;
	PamacTransactionSummary* summary;
	gboolean result;
};

struct _PamacTransactionEditBuildFilesData {
	int _state_;
	GObject* _source_object_;
	GAsyncResult* _res_;
	GTask* _async_result;
	PamacTransaction* self;
	GPtrArray* pkgnames;
};

struct _PamacTransactionAskImportKeyData {
	int _state_;
	GObject* _source_object_;
	GAsyncResult* _res_;
	GTask* _async_result;
	PamacTransaction* self;
	gchar* pkgname;
	gchar* key;
	gchar* owner;
	gboolean result;
};

struct _PamacTransactionGetBuildFilesAsyncData {
	int _state_;
	GObject* _source_object_;
	GAsyncResult* _res_;
	GTask* _async_result;
	PamacTransaction* self;
	gchar* pkgname;
	GPtrArray* result;
	PamacConfig* _tmp0_;
	gboolean _tmp1_;
	gboolean _tmp2_;
	GPtrArray* _tmp3_;
	const gchar* real_aur_build_dir;
	PamacDatabase* _tmp4_;
	const gchar* _tmp5_;
	gchar* pkgdir_name;
	const gchar* _tmp6_;
	gchar* _tmp7_;
	GPtrArray* files;
	GPtrArray* _tmp8_;
	GPtrArray* _tmp9_;
	const gchar* _tmp10_;
	gchar* _tmp11_;
	GFile* srcinfo;
	const gchar* _tmp12_;
	gchar* _tmp13_;
	gchar* _tmp14_;
	GFile* _tmp15_;
	GFile* _tmp16_;
	GFileInputStream* _tmp17_;
	GFile* _tmp18_;
	GFileInputStream* _tmp19_;
	GDataInputStream* dis;
	GDataInputStream* _tmp20_;
	gchar* line;
	gchar* _tmp21_;
	GDataInputStream* _tmp22_;
	gchar* _tmp23_;
	gchar* _tmp24_;
	const gchar* _tmp25_;
	const gchar* _tmp26_;
	gchar* source;
	const gchar* _tmp27_;
	gchar** _tmp28_;
	gchar** _tmp29_;
	gchar** _tmp30_;
	gint _tmp30__length1;
	const gchar* _tmp31_;
	gchar* _tmp32_;
	gchar* _tmp33_;
	const gchar* _tmp34_;
	gchar* source_path;
	const gchar* _tmp35_;
	const gchar* _tmp36_;
	gchar* _tmp37_;
	GFile* source_file;
	const gchar* _tmp38_;
	GFile* _tmp39_;
	GFile* _tmp40_;
	GPtrArray* _tmp41_;
	gchar* _tmp42_;
	const gchar* _tmp43_;
	gchar* install;
	const gchar* _tmp44_;
	gchar** _tmp45_;
	gchar** _tmp46_;
	gchar** _tmp47_;
	gint _tmp47__length1;
	const gchar* _tmp48_;
	gchar* _tmp49_;
	gchar* _tmp50_;
	gchar* install_path;
	const gchar* _tmp51_;
	const gchar* _tmp52_;
	gchar* _tmp53_;
	GFile* install_file;
	const gchar* _tmp54_;
	GFile* _tmp55_;
	GFile* _tmp56_;
	GPtrArray* _tmp57_;
	gchar* _tmp58_;
	GError* e;
	GError* _tmp59_;
	const gchar* _tmp60_;
	GError* _inner_error0_;
};

struct _PamacTransactionChooseOptdepsData {
	int _state_;
	GObject* _source_object_;
	GAsyncResult* _res_;
	GTask* _async_result;
	PamacTransaction* self;
	gchar* pkgname;
	GPtrArray* optdeps;
	GPtrArray* result;
	GPtrArray* _tmp0_;
};

struct _PamacTransactionChooseProviderData {
	int _state_;
	GObject* _source_object_;
	GAsyncResult* _res_;
	GTask* _async_result;
	PamacTransaction* self;
	gchar* depend;
	GPtrArray* providers;
	gint result;
};

struct _PamacTransactionAskSnapInstallClassicData {
	int _state_;
	GObject* _source_object_;
	GAsyncResult* _res_;
	GTask* _async_result;
	PamacTransaction* self;
	gchar* name;
	gboolean result;
};

struct _PamacTransactionGetAuthorizationAsyncData {
	int _state_;
	GObject* _source_object_;
	GAsyncResult* _res_;
	GTask* _async_result;
	PamacTransaction* self;
	gboolean result;
	gboolean _tmp0_;
	PamacTransactionInterface* _tmp1_;
	GError* e;
	GPtrArray* details;
	GPtrArray* _tmp2_;
	GPtrArray* _tmp3_;
	GError* _tmp4_;
	const gchar* _tmp5_;
	gchar* _tmp6_;
	GPtrArray* _tmp7_;
	GError* _inner_error0_;
};

struct _PamacTransactionGenerateMirrorsListAsyncData {
	int _state_;
	GObject* _source_object_;
	GAsyncResult* _res_;
	GTask* _async_result;
	PamacTransaction* self;
	gchar* country;
	gchar* _tmp0_;
	gchar* _tmp1_;
	PamacTransactionInterface* _tmp2_;
	PamacTransactionInterface* _tmp3_;
	GError* e;
	GPtrArray* details;
	GPtrArray* _tmp4_;
	GPtrArray* _tmp5_;
	GError* _tmp6_;
	const gchar* _tmp7_;
	gchar* _tmp8_;
	GPtrArray* _tmp9_;
	PamacTransactionInterface* _tmp10_;
	guint _tmp11_;
	PamacDatabase* _tmp12_;
	GError* _inner_error0_;
};

struct _PamacTransactionCleanCacheAsyncData {
	int _state_;
	GObject* _source_object_;
	GAsyncResult* _res_;
	GTask* _async_result;
	PamacTransaction* self;
	GHashTable* details;
	PamacDatabase* _tmp0_;
	GHashTable* _tmp1_;
	GHashTableIter iter;
	GHashTable* _tmp2_;
	GPtrArray* array;
	GHashTable* _tmp3_;
	guint _tmp4_;
	guint _tmp5_;
	GPtrArray* _tmp6_;
	const gchar* name;
	gconstpointer _tmp7_;
	gboolean _tmp8_;
	GPtrArray* _tmp9_;
	const gchar* _tmp10_;
	gchar* _tmp11_;
	PamacTransactionInterface* _tmp12_;
	GPtrArray* _tmp13_;
	GError* e;
	GPtrArray* error_details;
	GPtrArray* _tmp14_;
	GPtrArray* _tmp15_;
	GError* _tmp16_;
	const gchar* _tmp17_;
	gchar* _tmp18_;
	GPtrArray* _tmp19_;
	GError* _inner_error0_;
};

struct _PamacTransactionCleanBuildFilesAsyncData {
	int _state_;
	GObject* _source_object_;
	GAsyncResult* _res_;
	GTask* _async_result;
	PamacTransaction* self;
	PamacConfig* _tmp0_;
	gboolean _tmp1_;
	gboolean _tmp2_;
	const gchar* real_aur_build_dir;
	PamacDatabase* _tmp3_;
	const gchar* _tmp4_;
	PamacTransactionInterface* _tmp5_;
	const gchar* _tmp6_;
	GError* e;
	GPtrArray* details;
	GPtrArray* _tmp7_;
	GPtrArray* _tmp8_;
	GError* _tmp9_;
	const gchar* _tmp10_;
	gchar* _tmp11_;
	GPtrArray* _tmp12_;
	GError* _inner_error0_;
};

struct _PamacTransactionSetPkgreasonAsyncData {
	int _state_;
	GObject* _source_object_;
	GAsyncResult* _res_;
	GTask* _async_result;
	PamacTransaction* self;
	gchar* pkgname;
	guint reason;
	gboolean result;
	gboolean success;
	gboolean _tmp0_;
	PamacTransactionInterface* _tmp1_;
	GError* e;
	GPtrArray* details;
	GPtrArray* _tmp2_;
	GPtrArray* _tmp3_;
	GError* _tmp4_;
	const gchar* _tmp5_;
	gchar* _tmp6_;
	GPtrArray* _tmp7_;
	PamacDatabase* _tmp8_;
	GError* _inner_error0_;
};

struct _PamacTransactionDownloadUpdatesAsyncData {
	int _state_;
	GObject* _source_object_;
	GAsyncResult* _res_;
	GTask* _async_result;
	PamacTransaction* self;
	gboolean result;
	gboolean success;
	gboolean _tmp0_;
	PamacTransactionInterface* _tmp1_;
	GError* e;
	GPtrArray* details;
	GPtrArray* _tmp2_;
	GPtrArray* _tmp3_;
	GError* _tmp4_;
	const gchar* _tmp5_;
	gchar* _tmp6_;
	GPtrArray* _tmp7_;
	GError* _inner_error0_;
};

struct _PamacTransactionComputeAurBuildListData {
	int _state_;
	GObject* _source_object_;
	GAsyncResult* _res_;
	GTask* _async_result;
	PamacTransaction* self;
	gboolean result;
	GCancellable* _tmp0_;
	gboolean success;
	GCancellable* _tmp1_;
	gchar* _tmp2_;
	gchar* _tmp3_;
};

struct _PamacTransactionLaunchSubprocessData {
	int _state_;
	GObject* _source_object_;
	GAsyncResult* _res_;
	GTask* _async_result;
	PamacTransaction* self;
	gchar** cmds;
	gint cmds_length1;
	gint result;
	gint status;
	GSubprocess* process;
	GSubprocess* _tmp0_;
	GSubprocess* _tmp1_;
	GSubprocess* _tmp2_;
	GSubprocess* _tmp3_;
	GError* e;
	GPtrArray* details;
	GPtrArray* _tmp4_;
	GPtrArray* _tmp5_;
	GError* _tmp6_;
	const gchar* _tmp7_;
	gchar* _tmp8_;
	GPtrArray* _tmp9_;
	GError* _inner_error0_;
};

struct _PamacTransactionComputeAurBuildListRealData {
	int _state_;
	GObject* _source_object_;
	GAsyncResult* _res_;
	GTask* _async_result;
	PamacTransaction* self;
	gboolean result;
	gchar* _tmp0_;
	gchar* _tmp1_;
	const gchar* _tmp2_;
	gchar* _tmp3_;
	gchar** _tmp4_;
	gchar** _tmp5_;
	gint _tmp5__length1;
	GHashTable* _tmp6_;
	GHashTable* _tmp7_;
	GPtrArray* to_build_array;
	GPtrArray* _tmp8_;
	GHashTableIter _pkgname_it;
	GHashTable* _tmp9_;
	GHashTableIter _tmp10_;
	const gchar* pkgname;
	gconstpointer _tmp11_;
	const gchar* _tmp12_;
	GPtrArray* _tmp13_;
	const gchar* _tmp14_;
	gchar* _tmp15_;
	gboolean success;
	GPtrArray* _tmp16_;
	gboolean _tmp17_;
	GHashTable* _tmp18_;
	guint _tmp19_;
	guint _tmp20_;
	gchar* tmp_aurdb_path;
	const gchar* _tmp21_;
	gchar* _tmp22_;
	gchar* _tmp23_;
	gchar* _tmp24_;
	const gchar* _tmp25_;
	gchar* _tmp26_;
	gchar** _tmp27_;
	gchar** _tmp28_;
	gint _tmp28__length1;
	GPtrArray* cmdline;
	GHashTable* _tmp29_;
	guint _tmp30_;
	guint _tmp31_;
	GPtrArray* _tmp32_;
	GPtrArray* _tmp33_;
	gchar* _tmp34_;
	GPtrArray* _tmp35_;
	gchar* _tmp36_;
	GPtrArray* _tmp37_;
	const gchar* _tmp38_;
	gchar* _tmp39_;
	GPtrArray* _tmp40_;
	gchar* _tmp41_;
	GPtrArray* _tmp42_;
	const gchar* _tmp43_;
	gchar* _tmp44_;
	GHashTableIter _name_version_it;
	GHashTable* _tmp45_;
	GHashTableIter _tmp46_;
	const gchar* name_version;
	gconstpointer _tmp47_;
	const gchar* _tmp48_;
	GPtrArray* _tmp49_;
	const gchar* _tmp50_;
	gchar* _tmp51_;
	GPtrArray* _tmp52_;
	GPtrArray* _tmp53_;
	gint _tmp54_;
	gint _tmp55_;
	gint ret;
	GPtrArray* _tmp56_;
	gpointer* _tmp57_;
	gint _tmp57__length1;
	gchar* _tmp58_;
	gchar* _tmp59_;
	const gchar* _tmp60_;
	gchar* _tmp61_;
	gchar** _tmp62_;
	gchar** _tmp63_;
	gint _tmp63__length1;
};

struct _PamacTransactionCheckAurDepListData {
	int _state_;
	GObject* _source_object_;
	GAsyncResult* _res_;
	GTask* _async_result;
	PamacTransaction* self;
	GPtrArray* pkgnames;
	gboolean result;
	GPtrArray* dep_to_check;
	GPtrArray* _tmp0_;
	GPtrArray* to_get_from_aur;
	GPtrArray* _tmp1_;
	GPtrArray* pkgname_collection;
	guint pkgname_index;
	const gchar* pkgname;
	GHashTable* _tmp2_;
	const gchar* _tmp3_;
	GHashTable* _tmp4_;
	const gchar* _tmp5_;
	GPtrArray* _tmp6_;
	const gchar* _tmp7_;
	gchar* _tmp8_;
	GHashTable* aur_pkgs;
	GPtrArray* _tmp9_;
	gint _tmp10_;
	gint _tmp11_;
	PamacDatabase* _tmp12_;
	GPtrArray* _tmp13_;
	GHashTable* _tmp14_;
	const gchar* real_aur_build_dir;
	PamacDatabase* _tmp15_;
	const gchar* _tmp16_;
	GPtrArray* _vala1_pkgname_collection;
	guint _vala1_pkgname_index;
	const gchar* _vala1_pkgname;
	GCancellable* _tmp17_;
	GHashTable* _tmp18_;
	const gchar* _tmp19_;
	PamacAURPackage* aur_pkg;
	GFile* clone_dir;
	const gchar* _tmp20_;
	const gchar* _tmp21_;
	gchar* _tmp22_;
	gchar* _tmp23_;
	GFile* _tmp24_;
	GFile* _tmp25_;
	GHashTable* _tmp26_;
	const gchar* _tmp27_;
	GHashTable* _tmp28_;
	const gchar* _tmp29_;
	gconstpointer _tmp30_;
	PamacAURPackage* _tmp31_;
	GPtrArray* providers;
	PamacDatabase* _tmp32_;
	const gchar* _tmp33_;
	GPtrArray* _tmp34_;
	GPtrArray* _tmp35_;
	GPtrArray* info_collection;
	guint info_index;
	PamacAURInfos* info;
	const gchar* provider_name;
	PamacAURInfos* _tmp36_;
	const gchar* _tmp37_;
	const gchar* _tmp38_;
	GPtrArray* _tmp39_;
	const gchar* _tmp40_;
	gchar* _tmp41_;
	GHashTable* _tmp42_;
	const gchar* _tmp43_;
	gchar* _tmp44_;
	GHashTable* _tmp45_;
	const gchar* _tmp46_;
	GHashTable* _tmp47_;
	const gchar* _tmp48_;
	gchar* _tmp49_;
	GHashTable* _tmp50_;
	const gchar* _tmp51_;
	gchar* _tmp52_;
	GFile* _tmp53_;
	PamacAURPackage* _tmp54_;
	const gchar* _tmp55_;
	const gchar* _tmp56_;
	gchar* _tmp57_;
	gchar* _tmp58_;
	gchar* _tmp59_;
	gchar* _tmp60_;
	PamacDatabase* _tmp61_;
	PamacAURPackage* _tmp62_;
	const gchar* _tmp63_;
	const gchar* _tmp64_;
	GCancellable* _tmp65_;
	GFile* _tmp66_;
	GCancellable* _tmp67_;
	GFile* _tmp68_;
	GPtrArray* details;
	GPtrArray* _tmp69_;
	GPtrArray* _tmp70_;
	PamacAURPackage* _tmp71_;
	const gchar* _tmp72_;
	const gchar* _tmp73_;
	gchar* _tmp74_;
	GPtrArray* _tmp75_;
	const gchar* _tmp76_;
	gchar* _tmp77_;
	gchar* _tmp78_;
	gchar* _tmp79_;
	gchar* _tmp80_;
	gboolean success;
	PamacDatabase* _tmp81_;
	const gchar* _tmp82_;
	GCancellable* _tmp83_;
	GPtrArray* _vala1_details;
	GPtrArray* _tmp84_;
	GPtrArray* _tmp85_;
	const gchar* _tmp86_;
	gchar* _tmp87_;
	GPtrArray* _tmp88_;
	GHashTable* _tmp89_;
	PamacAURPackage* _tmp90_;
	const gchar* _tmp91_;
	const gchar* _tmp92_;
	gchar* _tmp93_;
	GFile* _tmp94_;
	const gchar* _tmp95_;
	gchar* _tmp96_;
	gchar* _tmp97_;
	gchar* _tmp98_;
	gchar* _tmp99_;
	gboolean _vala1_success;
	PamacDatabase* _tmp100_;
	const gchar* _tmp101_;
	GCancellable* _tmp102_;
	GPtrArray* _vala2_details;
	GPtrArray* _tmp103_;
	GPtrArray* _tmp104_;
	const gchar* _tmp105_;
	gchar* _tmp106_;
	GPtrArray* _tmp107_;
	gboolean found;
	GFile* builddir;
	const gchar* _tmp108_;
	GFile* _tmp109_;
	GFileEnumerator* enumerator;
	GFile* _tmp110_;
	GFileEnumerator* _tmp111_;
	GFileInfo* _vala1_info;
	GFileInfo* _tmp112_;
	GFileEnumerator* _tmp113_;
	GFileInfo* _tmp114_;
	GFileInfo* _tmp115_;
	GFileInfo* _tmp116_;
	GFileInfo* _tmp117_;
	const gchar* filename;
	GFileInfo* _tmp118_;
	const gchar* _tmp119_;
	gchar* absolute_child_path;
	const gchar* _tmp120_;
	const gchar* _tmp121_;
	gchar* _tmp122_;
	GFile* child_file;
	const gchar* _tmp123_;
	GFile* _tmp124_;
	GFileEnumerator* child_enumerator;
	GFile* _tmp125_;
	GFileEnumerator* _tmp126_;
	GFileInfo* child_info;
	GFileInfo* _tmp127_;
	GFileEnumerator* _tmp128_;
	GFileInfo* _tmp129_;
	GFileInfo* _tmp130_;
	GFileInfo* _tmp131_;
	const gchar* child_filename;
	GFileInfo* _tmp132_;
	const gchar* _tmp133_;
	const gchar* _tmp134_;
	gboolean _vala2_success;
	PamacDatabase* _tmp135_;
	const gchar* _tmp136_;
	GFile* srcinfo;
	GFile* _tmp137_;
	GFile* _tmp138_;
	GFileInputStream* _tmp139_;
	GFile* _tmp140_;
	GFileInputStream* _tmp141_;
	GDataInputStream* dis;
	GDataInputStream* _tmp142_;
	gchar* line;
	gchar* _tmp143_;
	GDataInputStream* _tmp144_;
	gchar* _tmp145_;
	gchar* _tmp146_;
	const gchar* _tmp147_;
	const gchar* _tmp148_;
	gchar* srcinfo_pkgname;
	const gchar* _tmp149_;
	gchar** _tmp150_;
	gchar** _tmp151_;
	gchar** _tmp152_;
	gint _tmp152__length1;
	const gchar* _tmp153_;
	gchar* _tmp154_;
	gchar* _tmp155_;
	const gchar* _tmp156_;
	const gchar* _tmp157_;
	GFile* _tmp158_;
	GFile* _tmp159_;
	GError* e;
	GPtrArray* _vala3_details;
	GPtrArray* _tmp160_;
	GPtrArray* _tmp161_;
	GError* _tmp162_;
	const gchar* _tmp163_;
	gchar* _tmp164_;
	GPtrArray* _tmp165_;
	const gchar* _tmp166_;
	gchar* _tmp167_;
	GPtrArray* _tmp168_;
	GPtrArray* _vala4_details;
	GPtrArray* _tmp169_;
	GPtrArray* _tmp170_;
	const gchar* _tmp171_;
	gchar* _tmp172_;
	GPtrArray* _tmp173_;
	GCancellable* _tmp174_;
	const gchar* _tmp175_;
	gchar* _tmp176_;
	gchar* _tmp177_;
	gchar* _tmp178_;
	gchar* _tmp179_;
	gchar* arch;
	struct utsname _tmp180_;
	const gchar* _tmp181_;
	gchar* _tmp182_;
	GFile* _tmp183_;
	GFile* _vala1_srcinfo;
	GFile* _tmp184_;
	GFile* _tmp185_;
	GFileInputStream* _tmp186_;
	GFile* _tmp187_;
	GFileInputStream* _tmp188_;
	GDataInputStream* _vala1_dis;
	GDataInputStream* _tmp189_;
	gchar* _vala1_line;
	gchar* current_section;
	gchar* _tmp190_;
	gboolean current_section_is_pkgbase;
	GString* version;
	GString* _tmp191_;
	gchar* pkgbase;
	gchar* _tmp192_;
	gchar* desc;
	gchar* _tmp193_;
	GPtrArray* pkgnames_found;
	GPtrArray* _tmp194_;
	GPtrArray* global_depends;
	GPtrArray* _tmp195_;
	GPtrArray* global_checkdepends;
	GPtrArray* _tmp196_;
	GPtrArray* global_makedepends;
	GPtrArray* _tmp197_;
	GPtrArray* global_conflicts;
	GPtrArray* _tmp198_;
	GPtrArray* global_provides;
	GPtrArray* _tmp199_;
	GPtrArray* global_replaces;
	GPtrArray* _tmp200_;
	GHashTable* pkgnames_table;
	GHashFunc _tmp201_;
	GEqualFunc _tmp202_;
	GHashTable* _tmp203_;
	gchar* _tmp204_;
	GDataInputStream* _tmp205_;
	gchar* _tmp206_;
	gchar* _tmp207_;
	const gchar* _tmp208_;
	const gchar* _tmp209_;
	const gchar* _tmp210_;
	gchar** _tmp211_;
	gchar** _tmp212_;
	gchar** _tmp213_;
	gint _tmp213__length1;
	const gchar* _tmp214_;
	gchar* _tmp215_;
	const gchar* _tmp216_;
	const gchar* _tmp217_;
	gchar** _tmp218_;
	gchar** _tmp219_;
	gchar** _tmp220_;
	gint _tmp220__length1;
	const gchar* _tmp221_;
	gchar* _tmp222_;
	PamacAURPackage* aur_pkg_found;
	GHashTable* _tmp223_;
	const gchar* _tmp224_;
	gconstpointer _tmp225_;
	PamacAURPackage* _tmp226_;
	PamacAURPackage* _tmp227_;
	const gchar* _tmp228_;
	const gchar* _tmp229_;
	GString* _tmp230_;
	const gchar* _tmp231_;
	gchar** _tmp232_;
	gchar** _tmp233_;
	gchar** _tmp234_;
	gint _tmp234__length1;
	const gchar* _tmp235_;
	const gchar* _tmp236_;
	GString* _tmp237_;
	GString* _tmp238_;
	const gchar* _tmp239_;
	gchar** _tmp240_;
	gchar** _tmp241_;
	gchar** _tmp242_;
	gint _tmp242__length1;
	const gchar* _tmp243_;
	const gchar* _tmp244_;
	GString* _tmp245_;
	GString* _tmp246_;
	const gchar* _tmp247_;
	gchar** _tmp248_;
	gchar** _tmp249_;
	gchar** _tmp250_;
	gint _tmp250__length1;
	const gchar* _tmp251_;
	const gchar* _tmp252_;
	const gchar* _tmp253_;
	gboolean _tmp254_;
	const gchar* _tmp255_;
	const gchar* _tmp256_;
	const gchar* _tmp257_;
	gchar* _tmp258_;
	gchar* _tmp259_;
	gchar* depend;
	const gchar* _tmp260_;
	gchar** _tmp261_;
	gchar** _tmp262_;
	gchar** _tmp263_;
	gint _tmp263__length1;
	const gchar* _tmp264_;
	gchar* _tmp265_;
	gchar* _tmp266_;
	const gchar* _tmp267_;
	GPtrArray* _tmp268_;
	gchar* _tmp269_;
	const gchar* _tmp270_;
	GPtrArray* _tmp271_;
	gchar* _tmp272_;
	GPtrArray* _tmp273_;
	gchar* _tmp274_;
	PamacAURPackage* _vala1_aur_pkg_found;
	GHashTable* _tmp275_;
	const gchar* _tmp276_;
	gconstpointer _tmp277_;
	PamacAURPackage* _tmp278_;
	PamacAURPackage* _tmp279_;
	GPtrArray* _tmp280_;
	GPtrArray* _tmp281_;
	gchar* _tmp282_;
	const gchar* _tmp283_;
	gboolean _tmp284_;
	const gchar* _tmp285_;
	const gchar* _tmp286_;
	const gchar* _tmp287_;
	gchar* _tmp288_;
	gchar* _tmp289_;
	gchar* provide;
	const gchar* _tmp290_;
	gchar** _tmp291_;
	gchar** _tmp292_;
	gchar** _tmp293_;
	gint _tmp293__length1;
	const gchar* _tmp294_;
	gchar* _tmp295_;
	gchar* _tmp296_;
	GPtrArray* _tmp297_;
	gchar* _tmp298_;
	PamacAURPackage* _vala2_aur_pkg_found;
	GHashTable* _tmp299_;
	const gchar* _tmp300_;
	gconstpointer _tmp301_;
	PamacAURPackage* _tmp302_;
	PamacAURPackage* _tmp303_;
	GPtrArray* _tmp304_;
	GPtrArray* _tmp305_;
	gchar* _tmp306_;
	const gchar* _tmp307_;
	gboolean _tmp308_;
	const gchar* _tmp309_;
	const gchar* _tmp310_;
	const gchar* _tmp311_;
	gchar* _tmp312_;
	gchar* _tmp313_;
	gchar* conflict;
	const gchar* _tmp314_;
	gchar** _tmp315_;
	gchar** _tmp316_;
	gchar** _tmp317_;
	gint _tmp317__length1;
	const gchar* _tmp318_;
	gchar* _tmp319_;
	gchar* _tmp320_;
	GPtrArray* _tmp321_;
	gchar* _tmp322_;
	PamacAURPackage* _vala3_aur_pkg_found;
	GHashTable* _tmp323_;
	const gchar* _tmp324_;
	gconstpointer _tmp325_;
	PamacAURPackage* _tmp326_;
	PamacAURPackage* _tmp327_;
	GPtrArray* _tmp328_;
	GPtrArray* _tmp329_;
	gchar* _tmp330_;
	const gchar* _tmp331_;
	gboolean _tmp332_;
	const gchar* _tmp333_;
	const gchar* _tmp334_;
	const gchar* _tmp335_;
	gchar* _tmp336_;
	gchar* _tmp337_;
	gchar* replace;
	const gchar* _tmp338_;
	gchar** _tmp339_;
	gchar** _tmp340_;
	gchar** _tmp341_;
	gint _tmp341__length1;
	const gchar* _tmp342_;
	gchar* _tmp343_;
	gchar* _tmp344_;
	GPtrArray* _tmp345_;
	gchar* _tmp346_;
	PamacAURPackage* _vala4_aur_pkg_found;
	GHashTable* _tmp347_;
	const gchar* _tmp348_;
	gconstpointer _tmp349_;
	PamacAURPackage* _tmp350_;
	PamacAURPackage* _tmp351_;
	GPtrArray* _tmp352_;
	GPtrArray* _tmp353_;
	gchar* _tmp354_;
	const gchar* _tmp355_;
	gchar* pkgname_found;
	const gchar* _tmp356_;
	gchar** _tmp357_;
	gchar** _tmp358_;
	gchar** _tmp359_;
	gint _tmp359__length1;
	const gchar* _tmp360_;
	gchar* _tmp361_;
	gchar* _tmp362_;
	const gchar* _tmp363_;
	gchar* _tmp364_;
	GHashTable* _tmp365_;
	const gchar* _tmp366_;
	PamacAURPackageStatic* _vala5_aur_pkg_found;
	PamacAURPackageStatic* _tmp367_;
	PamacAURPackageStatic* _tmp368_;
	const gchar* _tmp369_;
	PamacAURPackageStatic* _tmp370_;
	GString* _tmp371_;
	const gchar* _tmp372_;
	PamacAURPackageStatic* _tmp373_;
	const gchar* _tmp374_;
	PamacAURPackageStatic* _tmp375_;
	const gchar* _tmp376_;
	GHashTable* _tmp377_;
	const gchar* _tmp378_;
	gchar* _tmp379_;
	PamacAURPackageStatic* _tmp380_;
	PamacAURPackage* _tmp381_;
	GPtrArray* _tmp382_;
	gchar* _tmp383_;
	GPtrArray* _tmp384_;
	GPtrArray* pkgname_found_collection;
	guint pkgname_found_index;
	const gchar* _vala1_pkgname_found;
	GHashTable* _tmp385_;
	const gchar* _tmp386_;
	gchar* _tmp387_;
	GPtrArray* _tmp388_;
	GPtrArray* _vala1_pkgname_found_collection;
	guint _vala1_pkgname_found_index;
	const gchar* _vala2_pkgname_found;
	PamacAURPackage* _vala6_aur_pkg_found;
	GHashTable* _tmp389_;
	const gchar* _tmp390_;
	gconstpointer _tmp391_;
	gboolean _tmp392_;
	GPtrArray* _tmp393_;
	gint _tmp394_;
	gint _tmp395_;
	PamacAURPackage* _tmp396_;
	GPtrArray* _tmp397_;
	GPtrArray* _tmp398_;
	gint _tmp399_;
	gint _tmp400_;
	PamacAURPackage* _tmp401_;
	GPtrArray* _tmp402_;
	GPtrArray* _tmp403_;
	GPtrArray* _tmp404_;
	gboolean _tmp405_;
	GPtrArray* _tmp406_;
	gint _tmp407_;
	gint _tmp408_;
	PamacAURPackage* _tmp409_;
	GPtrArray* _tmp410_;
	GPtrArray* _tmp411_;
	gint _tmp412_;
	gint _tmp413_;
	PamacAURPackage* _tmp414_;
	GPtrArray* _tmp415_;
	GPtrArray* _tmp416_;
	GPtrArray* _tmp417_;
	gboolean _tmp418_;
	GPtrArray* _tmp419_;
	gint _tmp420_;
	gint _tmp421_;
	PamacAURPackage* _tmp422_;
	GPtrArray* _tmp423_;
	GPtrArray* _tmp424_;
	gint _tmp425_;
	gint _tmp426_;
	PamacAURPackage* _tmp427_;
	GPtrArray* _tmp428_;
	GPtrArray* _tmp429_;
	GPtrArray* _tmp430_;
	gboolean _tmp431_;
	GPtrArray* _tmp432_;
	gint _tmp433_;
	gint _tmp434_;
	PamacAURPackage* _tmp435_;
	GPtrArray* _tmp436_;
	GPtrArray* _tmp437_;
	gint _tmp438_;
	gint _tmp439_;
	PamacAURPackage* _tmp440_;
	GPtrArray* _tmp441_;
	GPtrArray* _tmp442_;
	GPtrArray* _tmp443_;
	GPtrArray* _tmp444_;
	GPtrArray* global_checkdepend_collection;
	guint global_checkdepend_index;
	const gchar* global_checkdepend;
	PamacAURPackage* _tmp445_;
	GPtrArray* _tmp446_;
	GPtrArray* _tmp447_;
	const gchar* _tmp448_;
	gchar* _tmp449_;
	GPtrArray* _tmp450_;
	GPtrArray* global_makedepend_collection;
	guint global_makedepend_index;
	const gchar* global_makedepend;
	PamacAURPackage* _tmp451_;
	GPtrArray* _tmp452_;
	GPtrArray* _tmp453_;
	const gchar* _tmp454_;
	gchar* _tmp455_;
	PamacAURPackage* _tmp456_;
	GPtrArray* _tmp457_;
	GPtrArray* _tmp458_;
	GPtrArray* dep_string_collection;
	guint dep_string_index;
	const gchar* dep_string;
	gboolean _tmp459_;
	PamacDatabase* _tmp460_;
	const gchar* _tmp461_;
	PamacDatabase* _tmp462_;
	const gchar* _tmp463_;
	gchar* dep_name;
	PamacDatabase* _tmp464_;
	const gchar* _tmp465_;
	gchar* _tmp466_;
	GHashTable* _tmp467_;
	const gchar* _tmp468_;
	GPtrArray* _tmp469_;
	const gchar* _tmp470_;
	gchar* _tmp471_;
	GHashTable* _tmp472_;
	const gchar* _tmp473_;
	GHashTable* _tmp474_;
	const gchar* _tmp475_;
	gchar* _tmp476_;
	GHashTable* _tmp477_;
	const gchar* _tmp478_;
	gchar* _tmp479_;
	gchar* pkgdir;
	const gchar* _tmp480_;
	PamacAURPackage* _tmp481_;
	const gchar* _tmp482_;
	const gchar* _tmp483_;
	gchar* _tmp484_;
	gchar* pkgdir_path;
	const gchar* _tmp485_;
	const gchar* _tmp486_;
	gchar* _tmp487_;
	GHashTable* _tmp488_;
	const gchar* _tmp489_;
	gchar* _tmp490_;
	GFile* file;
	const gchar* _tmp491_;
	GFile* _tmp492_;
	GFile* _tmp493_;
	GFile* _tmp494_;
	const gchar* _tmp495_;
	gchar* _tmp496_;
	gchar* _tmp497_;
	GFile* _tmp498_;
	GFileOutputStream* fos;
	GFile* _tmp499_;
	GFileOutputStream* _tmp500_;
	GFile* _tmp501_;
	GFileOutputStream* _tmp502_;
	GFileOutputStream* _tmp503_;
	GFileOutputStream* _tmp504_;
	GFile* _tmp505_;
	GFileOutputStream* _tmp506_;
	GFileOutputStream* _tmp507_;
	GDataOutputStream* dos;
	GFileOutputStream* _tmp508_;
	GDataOutputStream* _tmp509_;
	GDataOutputStream* _tmp510_;
	const gchar* _tmp511_;
	PamacAURPackage* _tmp512_;
	const gchar* _tmp513_;
	const gchar* _tmp514_;
	gchar* _tmp515_;
	gchar* _tmp516_;
	gchar* _tmp517_;
	gchar* _tmp518_;
	GDataOutputStream* _tmp519_;
	const gchar* _tmp520_;
	gchar* _tmp521_;
	gchar* _tmp522_;
	GDataOutputStream* _tmp523_;
	PamacAURPackage* _tmp524_;
	const gchar* _tmp525_;
	const gchar* _tmp526_;
	gchar* _tmp527_;
	gchar* _tmp528_;
	GDataOutputStream* _tmp529_;
	PamacAURPackage* _tmp530_;
	const gchar* _tmp531_;
	const gchar* _tmp532_;
	gchar* _tmp533_;
	gchar* _tmp534_;
	GDataOutputStream* _tmp535_;
	PamacAURPackage* _tmp536_;
	const gchar* _tmp537_;
	const gchar* _tmp538_;
	gchar* _tmp539_;
	gchar* _tmp540_;
	GDataOutputStream* _tmp541_;
	const gchar* _tmp542_;
	gchar* _tmp543_;
	gchar* _tmp544_;
	PamacAURPackage* _tmp545_;
	GPtrArray* _tmp546_;
	GPtrArray* _tmp547_;
	gint _tmp548_;
	gint _tmp549_;
	GDataOutputStream* _tmp550_;
	PamacAURPackage* _tmp551_;
	GPtrArray* _tmp552_;
	GPtrArray* _tmp553_;
	GPtrArray* name_collection;
	guint name_index;
	const gchar* name;
	GDataOutputStream* _tmp554_;
	const gchar* _tmp555_;
	gchar* _tmp556_;
	gchar* _tmp557_;
	GDataOutputStream* _tmp558_;
	PamacAURPackage* _tmp559_;
	GPtrArray* _tmp560_;
	GPtrArray* _tmp561_;
	gint _tmp562_;
	gint _tmp563_;
	GDataOutputStream* _tmp564_;
	PamacAURPackage* _tmp565_;
	GPtrArray* _tmp566_;
	GPtrArray* _tmp567_;
	GPtrArray* _vala1_name_collection;
	guint _vala1_name_index;
	const gchar* _vala1_name;
	GDataOutputStream* _tmp568_;
	const gchar* _tmp569_;
	gchar* _tmp570_;
	gchar* _tmp571_;
	GDataOutputStream* _tmp572_;
	PamacAURPackage* _tmp573_;
	GPtrArray* _tmp574_;
	GPtrArray* _tmp575_;
	gint _tmp576_;
	gint _tmp577_;
	GDataOutputStream* _tmp578_;
	PamacAURPackage* _tmp579_;
	GPtrArray* _tmp580_;
	GPtrArray* _tmp581_;
	GPtrArray* _vala2_name_collection;
	guint _vala2_name_index;
	const gchar* _vala2_name;
	GDataOutputStream* _tmp582_;
	const gchar* _tmp583_;
	gchar* _tmp584_;
	gchar* _tmp585_;
	GDataOutputStream* _tmp586_;
	PamacAURPackage* _tmp587_;
	GPtrArray* _tmp588_;
	GPtrArray* _tmp589_;
	gint _tmp590_;
	gint _tmp591_;
	GDataOutputStream* _tmp592_;
	PamacAURPackage* _tmp593_;
	GPtrArray* _tmp594_;
	GPtrArray* _tmp595_;
	GPtrArray* _vala3_name_collection;
	guint _vala3_name_index;
	const gchar* _vala3_name;
	GDataOutputStream* _tmp596_;
	const gchar* _tmp597_;
	gchar* _tmp598_;
	gchar* _tmp599_;
	GDataOutputStream* _tmp600_;
	GPtrArray* _vala5_details;
	GPtrArray* _tmp601_;
	GPtrArray* _tmp602_;
	const gchar* _tmp603_;
	gchar* _tmp604_;
	GPtrArray* _tmp605_;
	GHashTable* _tmp606_;
	PamacAURPackage* _tmp607_;
	const gchar* _tmp608_;
	const gchar* _tmp609_;
	gchar* _tmp610_;
	gchar* _vala1_pkgdir;
	PamacAURPackage* _tmp611_;
	const gchar* _tmp612_;
	const gchar* _tmp613_;
	PamacAURPackage* _tmp614_;
	const gchar* _tmp615_;
	const gchar* _tmp616_;
	gchar* _tmp617_;
	gchar* _vala1_pkgdir_path;
	const gchar* _tmp618_;
	const gchar* _tmp619_;
	gchar* _tmp620_;
	GHashTable* _tmp621_;
	const gchar* _tmp622_;
	gchar* _tmp623_;
	GFile* _vala1_file;
	const gchar* _tmp624_;
	GFile* _tmp625_;
	GFile* _tmp626_;
	GFile* _tmp627_;
	const gchar* _tmp628_;
	gchar* _tmp629_;
	gchar* _tmp630_;
	GFile* _tmp631_;
	GFileOutputStream* _vala1_fos;
	GFile* _tmp632_;
	GFileOutputStream* _tmp633_;
	GFile* _tmp634_;
	GFileOutputStream* _tmp635_;
	GFileOutputStream* _tmp636_;
	GFileOutputStream* _tmp637_;
	GFile* _tmp638_;
	GFileOutputStream* _tmp639_;
	GFileOutputStream* _tmp640_;
	GDataOutputStream* _vala1_dos;
	GFileOutputStream* _tmp641_;
	GDataOutputStream* _tmp642_;
	GDataOutputStream* _tmp643_;
	PamacAURPackage* _tmp644_;
	const gchar* _tmp645_;
	const gchar* _tmp646_;
	PamacAURPackage* _tmp647_;
	const gchar* _tmp648_;
	const gchar* _tmp649_;
	gchar* _tmp650_;
	gchar* _tmp651_;
	gchar* _tmp652_;
	gchar* _tmp653_;
	GDataOutputStream* _tmp654_;
	PamacAURPackage* _tmp655_;
	const gchar* _tmp656_;
	const gchar* _tmp657_;
	gchar* _tmp658_;
	gchar* _tmp659_;
	GDataOutputStream* _tmp660_;
	PamacAURPackage* _tmp661_;
	const gchar* _tmp662_;
	const gchar* _tmp663_;
	gchar* _tmp664_;
	gchar* _tmp665_;
	GDataOutputStream* _tmp666_;
	PamacAURPackage* _tmp667_;
	const gchar* _tmp668_;
	const gchar* _tmp669_;
	gchar* _tmp670_;
	gchar* _tmp671_;
	GDataOutputStream* _tmp672_;
	PamacAURPackage* _tmp673_;
	const gchar* _tmp674_;
	const gchar* _tmp675_;
	gchar* _tmp676_;
	gchar* _tmp677_;
	GDataOutputStream* _tmp678_;
	const gchar* _tmp679_;
	gchar* _tmp680_;
	gchar* _tmp681_;
	gboolean depends_created;
	PamacAURPackage* _tmp682_;
	GPtrArray* _tmp683_;
	GPtrArray* _tmp684_;
	gint _tmp685_;
	gint _tmp686_;
	GDataOutputStream* _tmp687_;
	PamacAURPackage* _tmp688_;
	GPtrArray* _tmp689_;
	GPtrArray* _tmp690_;
	GPtrArray* _vala4_name_collection;
	guint _vala4_name_index;
	const gchar* _vala4_name;
	GDataOutputStream* _tmp691_;
	const gchar* _tmp692_;
	gchar* _tmp693_;
	gchar* _tmp694_;
	gboolean _tmp695_;
	PamacDatabase* _tmp696_;
	const gchar* _tmp697_;
	PamacDatabase* _tmp698_;
	const gchar* _tmp699_;
	gchar* _vala1_dep_name;
	PamacDatabase* _tmp700_;
	const gchar* _tmp701_;
	gchar* _tmp702_;
	GHashTable* _tmp703_;
	const gchar* _tmp704_;
	GPtrArray* _tmp705_;
	const gchar* _tmp706_;
	gchar* _tmp707_;
	GHashTable* _tmp708_;
	const gchar* _tmp709_;
	GHashTable* _tmp710_;
	const gchar* _tmp711_;
	gchar* _tmp712_;
	GHashTable* _tmp713_;
	const gchar* _tmp714_;
	gchar* _tmp715_;
	PamacAURPackage* _tmp716_;
	GPtrArray* _tmp717_;
	GPtrArray* _tmp718_;
	gint _tmp719_;
	gint _tmp720_;
	GDataOutputStream* _tmp721_;
	PamacAURPackage* _tmp722_;
	GPtrArray* _tmp723_;
	GPtrArray* _tmp724_;
	GPtrArray* _vala5_name_collection;
	guint _vala5_name_index;
	const gchar* _vala5_name;
	GDataOutputStream* _tmp725_;
	const gchar* _tmp726_;
	gchar* _tmp727_;
	gchar* _tmp728_;
	gboolean _tmp729_;
	PamacDatabase* _tmp730_;
	const gchar* _tmp731_;
	PamacDatabase* _tmp732_;
	const gchar* _tmp733_;
	gchar* _vala2_dep_name;
	PamacDatabase* _tmp734_;
	const gchar* _tmp735_;
	gchar* _tmp736_;
	GHashTable* _tmp737_;
	const gchar* _tmp738_;
	GPtrArray* _tmp739_;
	const gchar* _tmp740_;
	gchar* _tmp741_;
	GHashTable* _tmp742_;
	const gchar* _tmp743_;
	GHashTable* _tmp744_;
	const gchar* _tmp745_;
	gchar* _tmp746_;
	GHashTable* _tmp747_;
	const gchar* _tmp748_;
	gchar* _tmp749_;
	PamacAURPackage* _tmp750_;
	GPtrArray* _tmp751_;
	GPtrArray* _tmp752_;
	gint _tmp753_;
	gint _tmp754_;
	GDataOutputStream* _tmp755_;
	PamacAURPackage* _tmp756_;
	GPtrArray* _tmp757_;
	GPtrArray* _tmp758_;
	GPtrArray* _vala6_name_collection;
	guint _vala6_name_index;
	const gchar* _vala6_name;
	GDataOutputStream* _tmp759_;
	const gchar* _tmp760_;
	gchar* _tmp761_;
	gchar* _tmp762_;
	gboolean _tmp763_;
	PamacDatabase* _tmp764_;
	const gchar* _tmp765_;
	PamacDatabase* _tmp766_;
	const gchar* _tmp767_;
	gchar* _vala3_dep_name;
	PamacDatabase* _tmp768_;
	const gchar* _tmp769_;
	gchar* _tmp770_;
	GHashTable* _tmp771_;
	const gchar* _tmp772_;
	GPtrArray* _tmp773_;
	const gchar* _tmp774_;
	gchar* _tmp775_;
	GHashTable* _tmp776_;
	const gchar* _tmp777_;
	GHashTable* _tmp778_;
	const gchar* _tmp779_;
	gchar* _tmp780_;
	GHashTable* _tmp781_;
	const gchar* _tmp782_;
	gchar* _tmp783_;
	GDataOutputStream* _tmp784_;
	PamacAURPackage* _tmp785_;
	GPtrArray* _tmp786_;
	GPtrArray* _tmp787_;
	gint _tmp788_;
	gint _tmp789_;
	GDataOutputStream* _tmp790_;
	PamacAURPackage* _tmp791_;
	GPtrArray* _tmp792_;
	GPtrArray* _tmp793_;
	GPtrArray* _vala7_name_collection;
	guint _vala7_name_index;
	const gchar* _vala7_name;
	GDataOutputStream* _tmp794_;
	const gchar* _tmp795_;
	gchar* _tmp796_;
	gchar* _tmp797_;
	GDataOutputStream* _tmp798_;
	PamacAURPackage* _tmp799_;
	GPtrArray* _tmp800_;
	GPtrArray* _tmp801_;
	gint _tmp802_;
	gint _tmp803_;
	GDataOutputStream* _tmp804_;
	PamacAURPackage* _tmp805_;
	GPtrArray* _tmp806_;
	GPtrArray* _tmp807_;
	GPtrArray* _vala8_name_collection;
	guint _vala8_name_index;
	const gchar* _vala8_name;
	GDataOutputStream* _tmp808_;
	const gchar* _tmp809_;
	gchar* _tmp810_;
	gchar* _tmp811_;
	GDataOutputStream* _tmp812_;
	PamacAURPackage* _tmp813_;
	GPtrArray* _tmp814_;
	GPtrArray* _tmp815_;
	gint _tmp816_;
	gint _tmp817_;
	GDataOutputStream* _tmp818_;
	PamacAURPackage* _tmp819_;
	GPtrArray* _tmp820_;
	GPtrArray* _tmp821_;
	GPtrArray* _vala9_name_collection;
	guint _vala9_name_index;
	const gchar* _vala9_name;
	GDataOutputStream* _tmp822_;
	const gchar* _tmp823_;
	gchar* _tmp824_;
	gchar* _tmp825_;
	GDataOutputStream* _tmp826_;
	GPtrArray* _vala6_details;
	GPtrArray* _tmp827_;
	GPtrArray* _tmp828_;
	const gchar* _tmp829_;
	gchar* _tmp830_;
	GPtrArray* _tmp831_;
	GPtrArray* _tmp832_;
	gint _tmp833_;
	gint _tmp834_;
	GPtrArray* _tmp835_;
	GError* _inner_error0_;
};

struct _PamacTransactionCloneBuildFilesIfNeededData {
	int _state_;
	GObject* _source_object_;
	GAsyncResult* _res_;
	GTask* _async_result;
	PamacTransaction* self;
	gchar* pkgdir;
	gchar* pkgname;
	gboolean result;
	GFile* clone_dir;
	GFile* _tmp0_;
	GFile* _tmp1_;
	GHashTable* _tmp2_;
	gchar* _tmp3_;
	gchar* _tmp4_;
	gchar* _tmp5_;
	gchar* _tmp6_;
	PamacDatabase* _tmp7_;
	GCancellable* _tmp8_;
	GFile* _tmp9_;
	GCancellable* _tmp10_;
	GFile* _tmp11_;
	gchar* _tmp12_;
	gchar* _tmp13_;
	gchar* _tmp14_;
	gchar* _tmp15_;
	gboolean success;
	PamacDatabase* _tmp16_;
	GCancellable* _tmp17_;
	GPtrArray* details;
	GPtrArray* _tmp18_;
	GPtrArray* _tmp19_;
	gchar* _tmp20_;
	GPtrArray* _tmp21_;
};

struct _PamacTransactionCheckSignaturesData {
	int _state_;
	GObject* _source_object_;
	GAsyncResult* _res_;
	GTask* _async_result;
	PamacTransaction* self;
	gchar* pkgdir;
	gchar* pkgname;
	GFile* clone_dir;
	GFile* _tmp0_;
	GFile* _tmp1_;
	GFile* srcinfo;
	GFile* _tmp2_;
	GFile* _tmp3_;
	GFileInputStream* _tmp4_;
	GFile* _tmp5_;
	GFileInputStream* _tmp6_;
	GDataInputStream* dis;
	GDataInputStream* _tmp7_;
	gchar* line;
	GPtrArray* global_validpgpkeys;
	GPtrArray* _tmp8_;
	gchar* _tmp9_;
	GDataInputStream* _tmp10_;
	gchar* _tmp11_;
	gchar* _tmp12_;
	const gchar* _tmp13_;
	const gchar* _tmp14_;
	GPtrArray* _tmp15_;
	const gchar* _tmp16_;
	gchar** _tmp17_;
	gchar** _tmp18_;
	gchar** _tmp19_;
	gint _tmp19__length1;
	const gchar* _tmp20_;
	gchar* _tmp21_;
	GPtrArray* _tmp22_;
	gint _tmp23_;
	gint _tmp24_;
	GPtrArray* _tmp25_;
	GError* e;
	GError* _tmp26_;
	const gchar* _tmp27_;
	GError* _inner_error0_;
};

struct _PamacTransactionCheckSignatureData {
	int _state_;
	GObject* _source_object_;
	GAsyncResult* _res_;
	GTask* _async_result;
	PamacTransaction* self;
	gchar* pkgname;
	GPtrArray* keys;
	GPtrArray* key_collection;
	guint key_index;
	const gchar* key;
	GSubprocessLauncher* launcher;
	GSubprocessLauncher* _tmp0_;
	GSubprocess* process;
	GSubprocessLauncher* _tmp1_;
	gchar* _tmp2_;
	gchar* _tmp3_;
	gchar* _tmp4_;
	gchar* _tmp5_;
	const gchar* _tmp6_;
	gchar* _tmp7_;
	gchar** _tmp8_;
	gchar** _tmp9_;
	gint _tmp9__length1;
	GSubprocess* _tmp10_;
	GSubprocess* _tmp11_;
	GSubprocess* _tmp12_;
	GSubprocess* _tmp13_;
	GSubprocess* _tmp14_;
	gboolean success;
	GSubprocessLauncher* _tmp15_;
	GSubprocess* _tmp16_;
	GSubprocessLauncher* _tmp17_;
	gchar* _tmp18_;
	gchar* _tmp19_;
	gchar* _tmp20_;
	gchar* _tmp21_;
	const gchar* _tmp22_;
	gchar* _tmp23_;
	gchar** _tmp24_;
	gchar** _tmp25_;
	gint _tmp25__length1;
	GSubprocess* _tmp26_;
	GSubprocess* _tmp27_;
	GSubprocess* _tmp28_;
	GSubprocess* _tmp29_;
	GSubprocess* _tmp30_;
	GSubprocess* _tmp31_;
	GDataInputStream* dis;
	GSubprocess* _tmp32_;
	GInputStream* _tmp33_;
	GDataInputStream* _tmp34_;
	gchar* owner;
	gchar* line;
	gchar* _tmp35_;
	GDataInputStream* _tmp36_;
	gchar* _tmp37_;
	gchar* _tmp38_;
	const gchar* _tmp39_;
	const gchar* _tmp40_;
	const gchar* _tmp41_;
	gchar** _tmp42_;
	gchar** _tmp43_;
	gchar** _tmp44_;
	gint _tmp44__length1;
	const gchar* _tmp45_;
	gchar* _tmp46_;
	const gchar* _tmp47_;
	const gchar* _tmp48_;
	GPtrArray* cmdline;
	GPtrArray* _tmp49_;
	GPtrArray* _tmp50_;
	gchar* _tmp51_;
	GPtrArray* _tmp52_;
	gchar* _tmp53_;
	GPtrArray* _tmp54_;
	gchar* _tmp55_;
	GPtrArray* _tmp56_;
	gchar* _tmp57_;
	GPtrArray* _tmp58_;
	const gchar* _tmp59_;
	gchar* _tmp60_;
	gint status;
	GPtrArray* _tmp61_;
	GCancellable* _tmp62_;
	const gchar* _tmp63_;
	gchar* _tmp64_;
	gchar* _tmp65_;
	GPtrArray* _tmp66_;
	GPtrArray* _tmp67_;
	GError* e;
	GError* _tmp68_;
	const gchar* _tmp69_;
	GError* _inner_error0_;
};

struct _PamacTransactionRunAsyncData {
	int _state_;
	GObject* _source_object_;
	GAsyncResult* _res_;
	GTask* _async_result;
	PamacTransaction* self;
	gboolean result;
	PamacTransactionInterface* _tmp0_;
	GPtrArray* details;
	GPtrArray* _tmp1_;
	GPtrArray* _tmp2_;
	gchar* _tmp3_;
	GPtrArray* _tmp4_;
	gboolean success;
	gboolean _tmp5_;
	gboolean _tmp6_;
	gboolean _tmp7_;
	gboolean _tmp8_;
	gboolean _tmp9_;
	GHashTable* _tmp10_;
	guint _tmp11_;
	guint _tmp12_;
	GHashTable* _tmp13_;
	guint _tmp14_;
	guint _tmp15_;
	GHashTable* _tmp16_;
	guint _tmp17_;
	guint _tmp18_;
	GHashTable* _tmp19_;
	guint _tmp20_;
	guint _tmp21_;
	GHashTable* _tmp22_;
	guint _tmp23_;
	guint _tmp24_;
	gboolean _tmp25_;
	gboolean _tmp26_;
	GQueue* _tmp27_;
	GCancellable* _tmp28_;
	gboolean _tmp29_;
	GHashTable* _tmp30_;
	guint _tmp31_;
	guint _tmp32_;
	GHashTable* _tmp33_;
	guint _tmp34_;
	guint _tmp35_;
	gboolean _tmp36_;
	gboolean _tmp37_;
	GHashTable* _tmp38_;
	guint _tmp39_;
	guint _tmp40_;
	GHashTable* _tmp41_;
	guint _tmp42_;
	guint _tmp43_;
	GHashTable* _tmp44_;
	guint _tmp45_;
	guint _tmp46_;
	gboolean _tmp47_;
	PamacDatabase* _tmp48_;
	gchar* _tmp49_;
	gchar* _tmp50_;
	GQueue* _tmp51_;
	GHashTable* _tmp52_;
	GHashTable* _tmp53_;
	GHashTable* _tmp54_;
	GHashTable* _tmp55_;
	GHashTable* _tmp56_;
	GHashTable* _tmp57_;
	GHashTable* _tmp58_;
	GHashTable* _tmp59_;
	GHashTable* _tmp60_;
	GHashTable* _tmp61_;
	GHashTable* _tmp62_;
	GHashTable* _tmp63_;
	GHashTable* _tmp64_;
	GHashTable* _tmp65_;
	GHashTable* _tmp66_;
	GHashTable* _tmp67_;
	guint _tmp68_;
	guint _tmp69_;
	gchar* _tmp70_;
	gchar* _tmp71_;
	GHashTableIter iter;
	GHashTable* _tmp72_;
	GPtrArray* not_install;
	GPtrArray* _tmp73_;
	const gchar* snap_name;
	PamacSnapPackage* pkg;
	gconstpointer _tmp74_;
	gconstpointer _tmp75_;
	gboolean _tmp76_;
	PamacSnapPackage* _tmp77_;
	PamacSnapPackage* _tmp78_;
	const gchar* _tmp79_;
	const gchar* _tmp80_;
	gboolean answer;
	PamacSnapPackage* _tmp81_;
	const gchar* _tmp82_;
	const gchar* _tmp83_;
	GPtrArray* _tmp84_;
	const gchar* _tmp85_;
	GPtrArray* _tmp86_;
	GPtrArray* name_collection;
	guint name_index;
	const gchar* name;
	GHashTable* _tmp87_;
	const gchar* _tmp88_;
	PamacTransactionSummary* summary;
	PamacTransactionSummary* _tmp89_;
	gboolean _tmp90_;
	GHashTable* _tmp91_;
	guint _tmp92_;
	guint _tmp93_;
	GHashTable* _tmp94_;
	guint _tmp95_;
	guint _tmp96_;
	GHashTableIter _vala1_iter;
	GHashTable* _tmp97_;
	PamacSnapPackage* _vala1_pkg;
	gconstpointer _tmp98_;
	gboolean _tmp99_;
	PamacSnapPackage* _tmp100_;
	PamacTransactionSummary* _tmp101_;
	GPtrArray* _tmp102_;
	GPtrArray* _tmp103_;
	PamacSnapPackage* _tmp104_;
	PamacPackage* _tmp105_;
	GHashTable* _tmp106_;
	gconstpointer _tmp107_;
	gboolean _tmp108_;
	PamacSnapPackage* _tmp109_;
	PamacTransactionSummary* _tmp110_;
	GPtrArray* _tmp111_;
	GPtrArray* _tmp112_;
	PamacSnapPackage* _tmp113_;
	PamacPackage* _tmp114_;
	gboolean _tmp115_;
	gboolean _tmp116_;
	GHashTable* _tmp117_;
	guint _tmp118_;
	guint _tmp119_;
	GHashTable* _tmp120_;
	guint _tmp121_;
	guint _tmp122_;
	GHashTable* _tmp123_;
	guint _tmp124_;
	guint _tmp125_;
	GHashTableIter _vala2_iter;
	GHashTable* _tmp126_;
	PamacFlatpakPackage* _vala2_pkg;
	gconstpointer _tmp127_;
	gboolean _tmp128_;
	PamacFlatpakPackage* _tmp129_;
	PamacTransactionSummary* _tmp130_;
	GPtrArray* _tmp131_;
	GPtrArray* _tmp132_;
	PamacFlatpakPackage* _tmp133_;
	PamacPackage* _tmp134_;
	GHashTable* _tmp135_;
	gconstpointer _tmp136_;
	gboolean _tmp137_;
	PamacFlatpakPackage* _tmp138_;
	PamacTransactionSummary* _tmp139_;
	GPtrArray* _tmp140_;
	GPtrArray* _tmp141_;
	PamacFlatpakPackage* _tmp142_;
	PamacPackage* _tmp143_;
	GHashTable* _tmp144_;
	gconstpointer _tmp145_;
	gboolean _tmp146_;
	PamacFlatpakPackage* _tmp147_;
	PamacTransactionSummary* _tmp148_;
	GPtrArray* _tmp149_;
	GPtrArray* _tmp150_;
	PamacFlatpakPackage* _tmp151_;
	PamacPackage* _tmp152_;
	gboolean _tmp153_;
	gboolean _tmp154_;
	PamacTransactionSummary* _tmp155_;
	GPtrArray* _tmp156_;
	GPtrArray* _tmp157_;
	gint _tmp158_;
	gint _tmp159_;
	PamacTransactionSummary* _tmp160_;
	GPtrArray* _tmp161_;
	GPtrArray* _tmp162_;
	gint _tmp163_;
	gint _tmp164_;
	PamacTransactionSummary* _tmp165_;
	GPtrArray* _tmp166_;
	GPtrArray* _tmp167_;
	gint _tmp168_;
	gint _tmp169_;
	gchar* _tmp170_;
	gchar* _tmp171_;
	PamacTransactionSummary* _tmp172_;
	gchar* _tmp173_;
	gchar* _tmp174_;
	gboolean _tmp175_;
	gboolean _tmp176_;
	GHashTable* _tmp177_;
	guint _tmp178_;
	guint _tmp179_;
	GHashTable* _tmp180_;
	guint _tmp181_;
	guint _tmp182_;
	gboolean _tmp183_;
	gboolean _tmp184_;
	GHashTable* _tmp185_;
	guint _tmp186_;
	guint _tmp187_;
	GHashTable* _tmp188_;
	guint _tmp189_;
	guint _tmp190_;
	GHashTable* _tmp191_;
	guint _tmp192_;
	guint _tmp193_;
	gchar* _tmp194_;
	gchar* _tmp195_;
	PamacDatabase* _tmp196_;
	GHashTable* _tmp197_;
	GHashTable* _tmp198_;
	GHashTable* _tmp199_;
	GHashTable* _tmp200_;
	GHashTable* _tmp201_;
};

struct _PamacTransactionAddOptdepsData {
	int _state_;
	GObject* _source_object_;
	GAsyncResult* _res_;
	GTask* _async_result;
	PamacTransaction* self;
	GHashTable* to_add_to_install;
	GHashFunc _tmp0_;
	GEqualFunc _tmp1_;
	GHashTable* _tmp2_;
	GHashTableIter _name_it;
	GHashTable* _tmp3_;
	GHashTableIter _tmp4_;
	const gchar* name;
	gconstpointer _tmp5_;
	const gchar* _tmp6_;
	PamacDatabase* _tmp7_;
	const gchar* _tmp8_;
	GPtrArray* uninstalled_optdeps;
	PamacDatabase* _tmp9_;
	const gchar* _tmp10_;
	GPtrArray* _tmp11_;
	GPtrArray* real_uninstalled_optdeps;
	GPtrArray* _tmp12_;
	GPtrArray* _tmp13_;
	GPtrArray* optdep_collection;
	guint optdep_index;
	const gchar* optdep;
	gchar** splitted;
	const gchar* _tmp14_;
	gchar** _tmp15_;
	gchar** _tmp16_;
	gint splitted_length1;
	gint _splitted_size_;
	const gchar* optdep_name;
	gchar** _tmp17_;
	gint _tmp17__length1;
	const gchar* _tmp18_;
	gboolean _tmp19_;
	GHashTable* _tmp20_;
	const gchar* _tmp21_;
	GHashTable* _tmp22_;
	const gchar* _tmp23_;
	GPtrArray* _tmp24_;
	const gchar* _tmp25_;
	gchar* _tmp26_;
	GPtrArray* _tmp27_;
	gint _tmp28_;
	gint _tmp29_;
	GPtrArray* optdeps;
	const gchar* _tmp30_;
	GPtrArray* _tmp31_;
	GPtrArray* _tmp32_;
	GPtrArray* _tmp33_;
	GPtrArray* _vala1_optdep_collection;
	guint _vala1_optdep_index;
	const gchar* _vala1_optdep;
	gchar* _vala1_optdep_name;
	const gchar* _tmp34_;
	gchar** _tmp35_;
	gchar** _tmp36_;
	gchar** _tmp37_;
	gint _tmp37__length1;
	const gchar* _tmp38_;
	gchar* _tmp39_;
	gchar* _tmp40_;
	GHashTable* _tmp41_;
	gchar* _tmp42_;
	GHashTableIter _vala1__name_it;
	GHashTable* _tmp43_;
	GHashTableIter _tmp44_;
	const gchar* _vala1_name;
	gconstpointer _tmp45_;
	const gchar* _tmp46_;
	const gchar* _tmp47_;
	const gchar* _tmp48_;
};

struct _PamacTransactionRunAlpmTransactionData {
	int _state_;
	GObject* _source_object_;
	GAsyncResult* _res_;
	GTask* _async_result;
	PamacTransaction* self;
	gboolean result;
	gchar* _tmp0_;
	gchar* _tmp1_;
	gboolean auto_sysupgrading;
	gboolean _tmp2_;
	gboolean _tmp3_;
	gboolean _tmp4_;
	gboolean _tmp5_;
	PamacConfig* _tmp6_;
	gboolean _tmp7_;
	gboolean _tmp8_;
	GHashTable* _tmp9_;
	guint _tmp10_;
	guint _tmp11_;
	GHashTableIter _name_it;
	GHashTable* _tmp12_;
	GHashTableIter _tmp13_;
	const gchar* name;
	gconstpointer _tmp14_;
	const gchar* _tmp15_;
	PamacDatabase* _tmp16_;
	const gchar* _tmp17_;
	PamacDatabase* _tmp18_;
	const gchar* _tmp19_;
	PamacAlpmPackage* pkg;
	PamacDatabase* _tmp20_;
	const gchar* _tmp21_;
	PamacAlpmPackage* _tmp22_;
	PamacAlpmPackage* _tmp23_;
	const gchar* _tmp24_;
	const gchar* _tmp25_;
	PamacAlpmPackage* _tmp26_;
	const gchar* _tmp27_;
	const gchar* _tmp28_;
	gboolean success;
	gboolean _tmp29_;
	gboolean _tmp30_;
	gboolean _tmp31_;
	gboolean _tmp32_;
	gboolean _tmp33_;
	gboolean enable_aur_copy;
	PamacConfig* _tmp34_;
	gboolean _tmp35_;
	gboolean _tmp36_;
	PamacConfig* _tmp37_;
	PamacConfig* _tmp38_;
	GHashTable* _tmp39_;
	guint _tmp40_;
	guint _tmp41_;
	PamacConfig* _tmp42_;
	gboolean _tmp43_;
	gboolean _tmp44_;
	PamacUpdates* updates;
	PamacDatabase* _tmp45_;
	GHashTable* _tmp46_;
	PamacUpdates* _tmp47_;
	PamacUpdates* _tmp48_;
	GPtrArray* _tmp49_;
	GPtrArray* _tmp50_;
	GPtrArray* aur_pkg_collection;
	guint aur_pkg_index;
	PamacAURPackage* aur_pkg;
	PamacAURPackage* _tmp51_;
	const gchar* _tmp52_;
	const gchar* _tmp53_;
	PamacUpdates* _tmp54_;
	GPtrArray* _tmp55_;
	GPtrArray* _tmp56_;
	GPtrArray* _vala1_aur_pkg_collection;
	guint _vala1_aur_pkg_index;
	PamacAURPackage* _vala1_aur_pkg;
	PamacAURPackage* _tmp57_;
	const gchar* _tmp58_;
	const gchar* _tmp59_;
	PamacAURPackage* _tmp60_;
	const gchar* _tmp61_;
	const gchar* _tmp62_;
	PamacAURPackage* _tmp63_;
	const gchar* _tmp64_;
	const gchar* _tmp65_;
	gchar* _tmp66_;
	gchar* _tmp67_;
	gchar* _tmp68_;
	gchar* _tmp69_;
	GHashTable* _tmp70_;
	guint _tmp71_;
	guint _tmp72_;
	GHashTable* to_build_copy;
	GHashTable* _tmp73_;
	GHashFunc _tmp74_;
	GEqualFunc _tmp75_;
	GHashTable* _tmp76_;
	PamacTransactionSummary* summary;
	PamacTransactionSummary* _tmp77_;
	gboolean _tmp78_;
	PamacTransactionSummary* _tmp79_;
	GHashTable* _tmp80_;
	GHashTable* _tmp81_;
	guint _tmp82_;
	guint _tmp83_;
	PamacTransactionSummary* _vala1_summary;
	PamacTransactionSummary* _tmp84_;
	gboolean _tmp85_;
	PamacTransactionSummary* _tmp86_;
};

struct _Block45Data {
	int _ref_count_;
	PamacTransaction* self;
	gboolean success;
	PamacTransactionSummary* new_summary;
	gpointer _async_data_;
};

struct _PamacTransactionTransCheckPrepareData {
	int _state_;
	GObject* _source_object_;
	GAsyncResult* _res_;
	GTask* _async_result;
	PamacTransaction* self;
	PamacTransactionSummary* summary;
	gboolean result;
	Block45Data* _data45_;
	PamacTransactionSummary* _tmp0_;
	GHashTable* _tmp1_;
	guint _tmp2_;
	guint _tmp3_;
	GPtrArray* to_load_remote_array;
	GHashTable* _tmp4_;
	guint _tmp5_;
	guint _tmp6_;
	GPtrArray* _tmp7_;
	GHashTableIter _url_it;
	GHashTable* _tmp8_;
	GHashTableIter _tmp9_;
	const gchar* url;
	gconstpointer _tmp10_;
	const gchar* _tmp11_;
	GPtrArray* _tmp12_;
	const gchar* _tmp13_;
	gchar* _tmp14_;
	gchar** dload_paths;
	PamacTransactionInterface* _tmp15_;
	GPtrArray* _tmp16_;
	gint _tmp17_;
	gchar** _tmp18_;
	gint dload_paths_length1;
	gint _dload_paths_size_;
	gchar** _tmp19_;
	gint _tmp19__length1;
	GHashTable* _tmp20_;
	gchar** _tmp21_;
	gint _tmp21__length1;
	gchar** path_collection;
	gint path_collection_length1;
	gint _path_collection_size_;
	gint path_it;
	const gchar* path;
	GHashTable* _tmp22_;
	const gchar* _tmp23_;
	gchar* _tmp24_;
	GError* e;
	GPtrArray* details;
	GPtrArray* _tmp25_;
	GPtrArray* _tmp26_;
	GError* _tmp27_;
	const gchar* _tmp28_;
	gchar* _tmp29_;
	GPtrArray* _tmp30_;
	PamacTransactionSummary* _tmp31_;
	GThread* _tmp32_;
	GThread* _tmp33_;
	GError* _vala1_e;
	GError* _tmp34_;
	const gchar* _tmp35_;
	PamacTransactionSummary* _tmp36_;
	PamacTransactionSummary* _tmp37_;
	GError* _inner_error0_;
};

struct _PamacTransactionCheckDbsData {
	int _state_;
	GObject* _source_object_;
	GAsyncResult* _res_;
	GTask* _async_result;
	PamacTransaction* self;
	PamacDatabase* _tmp0_;
	gboolean _tmp1_;
	gboolean _tmp2_;
	PamacDatabase* _tmp3_;
	PamacConfig* _tmp4_;
	gboolean _tmp5_;
	gboolean _tmp6_;
	gchar* absolute_path;
	PamacConfig* _tmp7_;
	const gchar* _tmp8_;
	const gchar* _tmp9_;
	gchar* _tmp10_;
	GFile* zipfile;
	const gchar* _tmp11_;
	GFile* _tmp12_;
	GFile* _tmp13_;
	PamacDatabase* _tmp14_;
};

struct _PamacTransactionRefreshDbsAsyncData {
	int _state_;
	GObject* _source_object_;
	GAsyncResult* _res_;
	GTask* _async_result;
	PamacTransaction* self;
	gboolean result;
	gboolean success;
	gboolean _tmp0_;
	PamacTransactionInterface* _tmp1_;
	PamacConfig* _tmp2_;
	gboolean _tmp3_;
	gboolean _tmp4_;
	gboolean aur_success;
	PamacTransactionInterface* _tmp5_;
	GError* e;
	GPtrArray* details;
	GPtrArray* _tmp6_;
	GPtrArray* _tmp7_;
	GError* _tmp8_;
	const gchar* _tmp9_;
	gchar* _tmp10_;
	GPtrArray* _tmp11_;
	GError* _inner_error0_;
};

struct _PamacTransactionRefreshFilesDbsAsyncData {
	int _state_;
	GObject* _source_object_;
	GAsyncResult* _res_;
	GTask* _async_result;
	PamacTransaction* self;
	gboolean result;
	gboolean success;
	gboolean _tmp0_;
	PamacTransactionInterface* _tmp1_;
	GError* e;
	GPtrArray* details;
	GPtrArray* _tmp2_;
	GPtrArray* _tmp3_;
	GError* _tmp4_;
	const gchar* _tmp5_;
	gchar* _tmp6_;
	GPtrArray* _tmp7_;
	GError* _inner_error0_;
};

struct _PamacAlpmUtils {
	GObject parent_instance;
	PamacAlpmUtilsPrivate * priv;
	AlpmConfig* alpm_config;
	GFile* lockfile;
	alpm_handle_t* alpm_handle;
	GCancellable* cancellable;
	gboolean downloading_updates;
	gchar* current_filename;
	gchar* current_action;
	gdouble current_progress;
	GPtrArray* unresolvables;
	guint64 total_download;
	guint64 already_downloaded;
	GHashTable* multi_progress;
	GTimer* rate_timer;
};

struct _PamacAlpmUtilsClass {
	GObjectClass parent_class;
};

struct _PamacTransactionTransPrepareData {
	int _state_;
	GObject* _source_object_;
	GAsyncResult* _res_;
	GTask* _async_result;
	PamacTransaction* self;
	PamacTransactionSummary* summary;
	gboolean result;
	gboolean success;
	PamacTransactionSummary* _tmp0_;
	gboolean _tmp1_;
	GHashTable* _tmp2_;
	guint _tmp3_;
	guint _tmp4_;
	PamacTransactionSummary* empty_summary;
	PamacTransactionSummary* _tmp5_;
	PamacTransactionSummary* _tmp6_;
	GHashTableIter _name_it;
	GHashTable* _tmp7_;
	GHashTableIter _tmp8_;
	const gchar* name;
	gconstpointer _tmp9_;
	const gchar* _tmp10_;
	gboolean found;
	PamacAlpmUtils* _tmp11_;
	GPtrArray* _tmp12_;
	const gchar* _tmp13_;
	GEqualFunc _tmp14_;
	PamacAlpmUtils* _tmp15_;
	GPtrArray* _tmp16_;
	const gchar* _tmp17_;
	gchar* _tmp18_;
	PamacAlpmUtils* _tmp19_;
	GPtrArray* _tmp20_;
	GPtrArray* pkgname_collection;
	guint pkgname_index;
	const gchar* pkgname;
	const gchar* real_aur_build_dir;
	PamacDatabase* _tmp21_;
	const gchar* _tmp22_;
	gchar* pkgdir;
	const gchar* _tmp23_;
	const gchar* _tmp24_;
	gchar* _tmp25_;
	const gchar* _tmp26_;
	const gchar* _tmp27_;
	GPtrArray* details;
	GPtrArray* _tmp28_;
	GPtrArray* _tmp29_;
	const gchar* _tmp30_;
	gchar* _tmp31_;
	GPtrArray* _tmp32_;
	PamacAlpmUtils* _tmp33_;
	GPtrArray* _tmp34_;
	PamacAlpmUtils* _tmp35_;
	GPtrArray* _tmp36_;
	PamacAlpmUtils* _tmp37_;
	GPtrArray* _tmp38_;
	PamacTransactionSummary* _tmp39_;
	gboolean _tmp40_;
	gchar* _tmp41_;
	gchar* _tmp42_;
};

struct _PamacTransactionTransRunData {
	int _state_;
	GObject* _source_object_;
	GAsyncResult* _res_;
	GTask* _async_result;
	PamacTransaction* self;
	PamacTransactionSummary* summary;
	gboolean result;
	GPtrArray* _tmp0_;
	GPtrArray* _tmp1_;
	gint _tmp2_;
	gint _tmp3_;
	GQueue* _tmp4_;
	GPtrArray* _tmp5_;
	GPtrArray* _tmp6_;
	GPtrArray* name_collection;
	guint name_index;
	const gchar* name;
	GQueue* _tmp7_;
	const gchar* _tmp8_;
	gchar* _tmp9_;
	GHashTable* _tmp10_;
	GPtrArray* _tmp11_;
	GPtrArray* _tmp12_;
	GPtrArray* pkg_collection;
	guint pkg_index;
	PamacPackage* pkg;
	const gchar* pkgname;
	PamacPackage* _tmp13_;
	const gchar* _tmp14_;
	const gchar* _tmp15_;
	GHashTable* _tmp16_;
	const gchar* _tmp17_;
	gchar* _tmp18_;
	GHashTable* _tmp19_;
	const gchar* _tmp20_;
	PamacAlpmPackage* alpmpkg;
	PamacPackage* _tmp21_;
	PamacAlpmPackage* _tmp22_;
	PamacAlpmPackage* _tmp23_;
	PamacAlpmPackage* _tmp24_;
	GPtrArray* _tmp25_;
	GPtrArray* _tmp26_;
	GPtrArray* provide_collection;
	guint provide_index;
	const gchar* provide;
	gchar* provide_name;
	PamacDatabase* _tmp27_;
	const gchar* _tmp28_;
	gchar* _tmp29_;
	GHashTable* _tmp30_;
	const gchar* _tmp31_;
	GHashTable* _tmp32_;
	const gchar* _tmp33_;
	GHashTable* _tmp34_;
	const gchar* _tmp35_;
	gchar* _tmp36_;
	const gchar* real_aur_build_dir;
	PamacDatabase* _tmp37_;
	const gchar* _tmp38_;
	GPtrArray* _tmp39_;
	GPtrArray* _tmp40_;
	GPtrArray* pkgname_collection;
	guint pkgname_index;
	const gchar* _vala1_pkgname;
	gchar* pkgdir;
	const gchar* _tmp41_;
	const gchar* _tmp42_;
	gchar* _tmp43_;
	gboolean success;
	const gchar* _tmp44_;
	const gchar* _tmp45_;
	GPtrArray* details;
	GPtrArray* _tmp46_;
	GPtrArray* _tmp47_;
	const gchar* _tmp48_;
	gchar* _tmp49_;
	GPtrArray* _tmp50_;
	GPtrArray* _tmp51_;
	GPtrArray* _tmp52_;
	gboolean _vala1_success;
	PamacTransactionSummary* new_summary;
	PamacTransactionSummary* _tmp53_;
	gboolean _tmp54_;
	PamacTransactionSummary* _tmp55_;
	gboolean _tmp56_;
	gboolean _tmp57_;
	gboolean _tmp58_;
	gboolean _tmp59_;
	gboolean _tmp60_;
	GPtrArray* _tmp61_;
	GPtrArray* _tmp62_;
	gint _tmp63_;
	gint _tmp64_;
	GPtrArray* _tmp65_;
	GPtrArray* _tmp66_;
	gint _tmp67_;
	gint _tmp68_;
	GPtrArray* _tmp69_;
	GPtrArray* _tmp70_;
	gint _tmp71_;
	gint _tmp72_;
	GPtrArray* _tmp73_;
	GPtrArray* _tmp74_;
	gint _tmp75_;
	gint _tmp76_;
	GPtrArray* _tmp77_;
	GPtrArray* _tmp78_;
	gint _tmp79_;
	gint _tmp80_;
	GPtrArray* _tmp81_;
	GPtrArray* _tmp82_;
	gint _tmp83_;
	gint _tmp84_;
	GPtrArray* _tmp85_;
	GPtrArray* _tmp86_;
	GPtrArray* _vala1_pkg_collection;
	guint _vala1_pkg_index;
	PamacPackage* _vala1_pkg;
	const gchar* _vala2_pkgname;
	PamacPackage* _tmp87_;
	const gchar* _tmp88_;
	const gchar* _tmp89_;
	gboolean _tmp90_;
	GHashTable* _tmp91_;
	const gchar* _tmp92_;
	GPtrArray* _tmp93_;
	GPtrArray* _tmp94_;
	const gchar* _tmp95_;
	GEqualFunc _tmp96_;
	GHashTable* _tmp97_;
	const gchar* _tmp98_;
	gchar* _tmp99_;
	gboolean find_top_provider;
	PamacAlpmPackage* _vala1_alpmpkg;
	PamacPackage* _tmp100_;
	PamacAlpmPackage* _tmp101_;
	PamacAlpmPackage* _tmp102_;
	PamacAlpmPackage* _tmp103_;
	GPtrArray* _tmp104_;
	GPtrArray* _tmp105_;
	GPtrArray* _vala1_provide_collection;
	guint _vala1_provide_index;
	const gchar* _vala1_provide;
	gchar* _vala1_provide_name;
	PamacDatabase* _tmp106_;
	const gchar* _tmp107_;
	gchar* _tmp108_;
	GHashTable* _tmp109_;
	const gchar* _tmp110_;
	GHashTable* _tmp111_;
	const gchar* _tmp112_;
	GHashTable* _tmp113_;
	const gchar* _tmp114_;
	gchar* _tmp115_;
	GHashTable* _tmp116_;
	const gchar* _tmp117_;
	gchar* _tmp118_;
	GHashTable* _tmp119_;
	GPtrArray* _tmp120_;
	GPtrArray* _tmp121_;
	GPtrArray* _vala2_pkg_collection;
	guint _vala2_pkg_index;
	PamacPackage* _vala2_pkg;
	GHashTable* _tmp122_;
	PamacPackage* _tmp123_;
	const gchar* _tmp124_;
	const gchar* _tmp125_;
	gchar* _tmp126_;
	gboolean _vala2_success;
	gboolean _tmp127_;
	GPtrArray* _tmp128_;
	GPtrArray* _tmp129_;
	gint _tmp130_;
	gint _tmp131_;
	gchar* _tmp132_;
	gchar* _tmp133_;
	const gchar* _tmp134_;
	gchar* _tmp135_;
	gchar** _tmp136_;
	gchar** _tmp137_;
	gint _tmp137__length1;
	gboolean _tmp138_;
	GPtrArray* _tmp139_;
	GPtrArray* _tmp140_;
	gint _tmp141_;
	gint _tmp142_;
	const gchar* _vala1_real_aur_build_dir;
	PamacDatabase* _tmp143_;
	const gchar* _tmp144_;
	GPtrArray* _tmp145_;
	GPtrArray* _tmp146_;
	GPtrArray* _vala1_pkgname_collection;
	guint _vala1_pkgname_index;
	const gchar* _vala3_pkgname;
	gchar* _vala1_pkgdir;
	const gchar* _tmp147_;
	const gchar* _tmp148_;
	gchar* _tmp149_;
	const gchar* _tmp150_;
	const gchar* _tmp151_;
	const gchar* _tmp152_;
	const gchar* _tmp153_;
	GPtrArray* _vala1_details;
	GPtrArray* _tmp154_;
	GPtrArray* _tmp155_;
	const gchar* _tmp156_;
	gchar* _tmp157_;
	GPtrArray* _tmp158_;
	GPtrArray* to_install_array;
	GHashTable* _tmp159_;
	guint _tmp160_;
	guint _tmp161_;
	GPtrArray* _tmp162_;
	GPtrArray* to_remove_array;
	GHashTable* _tmp163_;
	guint _tmp164_;
	guint _tmp165_;
	GPtrArray* _tmp166_;
	GPtrArray* to_load_local_array;
	GHashTable* _tmp167_;
	guint _tmp168_;
	guint _tmp169_;
	GPtrArray* _tmp170_;
	GPtrArray* to_load_remote_array;
	GHashTable* _tmp171_;
	guint _tmp172_;
	guint _tmp173_;
	GPtrArray* _tmp174_;
	GPtrArray* to_install_as_dep_array;
	GHashTable* _tmp175_;
	guint _tmp176_;
	guint _tmp177_;
	GPtrArray* _tmp178_;
	GPtrArray* ignorepkgs_array;
	GHashTable* _tmp179_;
	guint _tmp180_;
	guint _tmp181_;
	GPtrArray* _tmp182_;
	GPtrArray* overwrite_files_array;
	GHashTable* _tmp183_;
	guint _tmp184_;
	guint _tmp185_;
	GPtrArray* _tmp186_;
	GHashTableIter _name_it;
	GHashTable* _tmp187_;
	GHashTableIter _tmp188_;
	const gchar* _vala1_name;
	gconstpointer _tmp189_;
	const gchar* _tmp190_;
	GPtrArray* _tmp191_;
	const gchar* _tmp192_;
	gchar* _tmp193_;
	GHashTableIter _vala1__name_it;
	GHashTable* _tmp194_;
	GHashTableIter _tmp195_;
	const gchar* _vala2_name;
	gconstpointer _tmp196_;
	const gchar* _tmp197_;
	GPtrArray* _tmp198_;
	const gchar* _tmp199_;
	gchar* _tmp200_;
	GHashTableIter _vala2__name_it;
	GHashTable* _tmp201_;
	GHashTableIter _tmp202_;
	const gchar* _vala3_name;
	gconstpointer _tmp203_;
	const gchar* _tmp204_;
	GPtrArray* _tmp205_;
	const gchar* _tmp206_;
	gchar* _tmp207_;
	GHashTableIter _vala3__name_it;
	GHashTable* _tmp208_;
	GHashTableIter _tmp209_;
	const gchar* _vala4_name;
	gconstpointer _tmp210_;
	const gchar* _tmp211_;
	GPtrArray* _tmp212_;
	const gchar* _tmp213_;
	gchar* _tmp214_;
	GHashTableIter _vala4__name_it;
	GHashTable* _tmp215_;
	GHashTableIter _tmp216_;
	const gchar* _vala5_name;
	gconstpointer _tmp217_;
	const gchar* _tmp218_;
	GPtrArray* _tmp219_;
	const gchar* _tmp220_;
	gchar* _tmp221_;
	GHashTableIter _vala5__name_it;
	GHashTable* _tmp222_;
	GHashTableIter _tmp223_;
	const gchar* _vala6_name;
	gconstpointer _tmp224_;
	const gchar* _tmp225_;
	GPtrArray* _tmp226_;
	const gchar* _tmp227_;
	gchar* _tmp228_;
	GHashTableIter _vala6__name_it;
	GHashTable* _tmp229_;
	GHashTableIter _tmp230_;
	const gchar* _vala7_name;
	gconstpointer _tmp231_;
	const gchar* _tmp232_;
	GPtrArray* _tmp233_;
	const gchar* _tmp234_;
	gchar* _tmp235_;
	gboolean _tmp236_;
	PamacTransactionInterface* _tmp237_;
	PamacConfig* _tmp238_;
	gboolean _tmp239_;
	gboolean _tmp240_;
	PamacConfig* _tmp241_;
	gboolean _tmp242_;
	gboolean _tmp243_;
	PamacConfig* _tmp244_;
	gboolean _tmp245_;
	gboolean _tmp246_;
	GPtrArray* _tmp247_;
	GPtrArray* _tmp248_;
	GPtrArray* _tmp249_;
	GPtrArray* _tmp250_;
	GPtrArray* _tmp251_;
	GPtrArray* _tmp252_;
	GPtrArray* _tmp253_;
	GError* e;
	GPtrArray* _vala2_details;
	GPtrArray* _tmp254_;
	GPtrArray* _tmp255_;
	GError* _tmp256_;
	const gchar* _tmp257_;
	gchar* _tmp258_;
	GPtrArray* _tmp259_;
	gchar* _tmp260_;
	gchar* _tmp261_;
	GPtrArray* _tmp262_;
	GPtrArray* _tmp263_;
	gint _tmp264_;
	gint _tmp265_;
	gboolean _vala3_success;
	gchar* _tmp266_;
	gchar* _tmp267_;
	const gchar* _tmp268_;
	gchar* _tmp269_;
	gchar** _tmp270_;
	gchar** _tmp271_;
	gint _tmp271__length1;
	gboolean _tmp272_;
	const gchar* _vala2_real_aur_build_dir;
	PamacDatabase* _tmp273_;
	const gchar* _tmp274_;
	GPtrArray* _tmp275_;
	GPtrArray* _tmp276_;
	GPtrArray* _vala2_pkgname_collection;
	guint _vala2_pkgname_index;
	const gchar* _vala4_pkgname;
	gchar* _vala2_pkgdir;
	const gchar* _tmp277_;
	const gchar* _tmp278_;
	gchar* _tmp279_;
	const gchar* _tmp280_;
	const gchar* _tmp281_;
	const gchar* _tmp282_;
	const gchar* _tmp283_;
	GPtrArray* _vala3_details;
	GPtrArray* _tmp284_;
	GPtrArray* _tmp285_;
	const gchar* _tmp286_;
	gchar* _tmp287_;
	GPtrArray* _tmp288_;
	gchar* _tmp289_;
	gchar* _tmp290_;
	gchar* _tmp291_;
	gchar* _tmp292_;
	GError* _inner_error0_;
};

struct _PamacTransactionRunSnapTransactionData {
	int _state_;
	GObject* _source_object_;
	GAsyncResult* _res_;
	GTask* _async_result;
	PamacTransaction* self;
	gboolean result;
	GPtrArray* snap_to_install_array;
	GHashTable* _tmp0_;
	guint _tmp1_;
	guint _tmp2_;
	GPtrArray* _tmp3_;
	GPtrArray* snap_to_remove_array;
	GHashTable* _tmp4_;
	guint _tmp5_;
	guint _tmp6_;
	GPtrArray* _tmp7_;
	GHashTableIter iter;
	GHashTable* _tmp8_;
	const gchar* name;
	gconstpointer _tmp9_;
	gboolean _tmp10_;
	GPtrArray* _tmp11_;
	const gchar* _tmp12_;
	gchar* _tmp13_;
	GHashTable* _tmp14_;
	gconstpointer _tmp15_;
	gboolean _tmp16_;
	GPtrArray* _tmp17_;
	const gchar* _tmp18_;
	gchar* _tmp19_;
	GHashTable* _tmp20_;
	GHashTable* _tmp21_;
	gboolean success;
	PamacTransactionInterface* _tmp22_;
	GPtrArray* _tmp23_;
	GPtrArray* _tmp24_;
	GError* e;
	GPtrArray* details;
	GPtrArray* _tmp25_;
	GPtrArray* _tmp26_;
	GError* _tmp27_;
	const gchar* _tmp28_;
	gchar* _tmp29_;
	GPtrArray* _tmp30_;
	GError* _inner_error0_;
};

struct _PamacTransactionSnapSwitchChannelAsyncData {
	int _state_;
	GObject* _source_object_;
	GAsyncResult* _res_;
	GTask* _async_result;
	PamacTransaction* self;
	gchar* snap_name;
	gchar* channel;
	gboolean result;
	PamacConfig* _tmp0_;
	gboolean _tmp1_;
	gboolean _tmp2_;
	gboolean _tmp3_;
	PamacTransactionInterface* _tmp4_;
	GError* e;
	GPtrArray* details;
	GPtrArray* _tmp5_;
	GPtrArray* _tmp6_;
	GError* _tmp7_;
	const gchar* _tmp8_;
	gchar* _tmp9_;
	GPtrArray* _tmp10_;
	GError* _inner_error0_;
};

struct _PamacTransactionRunFlatpakTransactionData {
	int _state_;
	GObject* _source_object_;
	GAsyncResult* _res_;
	GTask* _async_result;
	PamacTransaction* self;
	gboolean result;
	GPtrArray* flatpak_to_install_array;
	GHashTable* _tmp0_;
	guint _tmp1_;
	guint _tmp2_;
	GPtrArray* _tmp3_;
	GPtrArray* flatpak_to_remove_array;
	GHashTable* _tmp4_;
	guint _tmp5_;
	guint _tmp6_;
	GPtrArray* _tmp7_;
	GPtrArray* flatpak_to_upgrade_array;
	GHashTable* _tmp8_;
	guint _tmp9_;
	guint _tmp10_;
	GPtrArray* _tmp11_;
	GHashTableIter iter;
	GHashTable* _tmp12_;
	const gchar* id;
	gconstpointer _tmp13_;
	gboolean _tmp14_;
	GPtrArray* _tmp15_;
	const gchar* _tmp16_;
	gchar* _tmp17_;
	GHashTable* _tmp18_;
	gconstpointer _tmp19_;
	gboolean _tmp20_;
	GPtrArray* _tmp21_;
	const gchar* _tmp22_;
	gchar* _tmp23_;
	GHashTable* _tmp24_;
	gconstpointer _tmp25_;
	gboolean _tmp26_;
	GPtrArray* _tmp27_;
	const gchar* _tmp28_;
	gchar* _tmp29_;
	GHashTable* _tmp30_;
	GHashTable* _tmp31_;
	GHashTable* _tmp32_;
	gboolean success;
	PamacTransactionInterface* _tmp33_;
	GPtrArray* _tmp34_;
	GPtrArray* _tmp35_;
	GPtrArray* _tmp36_;
	GError* e;
	GPtrArray* details;
	GPtrArray* _tmp37_;
	GPtrArray* _tmp38_;
	GError* _tmp39_;
	const gchar* _tmp40_;
	gchar* _tmp41_;
	GPtrArray* _tmp42_;
	GError* _inner_error0_;
};

struct _PamacTransactionRunCmdLineAsyncData {
	int _state_;
	GObject* _source_object_;
	GAsyncResult* _res_;
	GTask* _async_result;
	PamacTransaction* self;
	GPtrArray* args;
	gchar* working_directory;
	GCancellable* cancellable;
	gint result;
	gint status;
	GSubprocessLauncher* launcher;
	GSubprocessLauncher* _tmp0_;
	GSubprocessLauncher* _tmp1_;
	GSubprocessLauncher* _tmp2_;
	gchar** _tmp3_;
	gchar** _tmp4_;
	gchar** _tmp5_;
	gint _tmp5__length1;
	GPtrArray* args_copy;
	GPtrArray* _tmp6_;
	GPtrArray* _tmp7_;
	GPtrArray* _tmp8_;
	gint _tmp9_;
	gint _tmp10_;
	GSubprocess* process;
	GSubprocessLauncher* _tmp11_;
	GPtrArray* _tmp12_;
	gpointer* _tmp13_;
	gint _tmp13__length1;
	GSubprocess* _tmp14_;
	GDataInputStream* dis;
	GSubprocess* _tmp15_;
	GInputStream* _tmp16_;
	GDataInputStream* _tmp17_;
	gchar* line;
	gchar* _tmp18_;
	GDataInputStream* _tmp19_;
	gchar* _tmp20_;
	gchar* _tmp21_;
	const gchar* _tmp22_;
	const gchar* _tmp23_;
	gchar* _tmp24_;
	gchar* _tmp25_;
	GSubprocess* _tmp26_;
	GSubprocess* _tmp27_;
	GSubprocess* _tmp28_;
	GSubprocess* _tmp29_;
	GSubprocess* _tmp30_;
	GSubprocess* _tmp31_;
	GSubprocess* _tmp32_;
	GError* e;
	GError* _tmp33_;
	const gchar* _tmp34_;
	GError* _inner_error0_;
};

struct _PamacTransactionBuildAurPackagesData {
	int _state_;
	GObject* _source_object_;
	GAsyncResult* _res_;
	GTask* _async_result;
	PamacTransaction* self;
	gboolean result;
	gboolean success;
	alpm_db_t* aur_db;
	alpm_handle_t* tmp_handle;
	PamacDatabase* _tmp0_;
	alpm_handle_t* _tmp1_;
	alpm_handle_t* _tmp2_;
	GSubprocess* process;
	gchar* _tmp3_;
	const gchar* _tmp4_;
	gchar* _tmp5_;
	alpm_handle_t* _tmp6_;
	const gchar* _tmp7_;
	const gchar* _tmp8_;
	gchar* _tmp9_;
	gchar** _tmp10_;
	gchar** _tmp11_;
	gint _tmp11__length1;
	GSubprocess* _tmp12_;
	GSubprocess* _tmp13_;
	GSubprocess* _tmp14_;
	alpm_handle_t* _tmp15_;
	alpm_db_t* _tmp16_;
	alpm_db_t* _tmp17_;
	GError* e;
	GError* _tmp18_;
	const gchar* _tmp19_;
	GHashTable* built_pkgs;
	GHashFunc _tmp20_;
	GEqualFunc _tmp21_;
	GHashTable* _tmp22_;
	GPtrArray* to_install_as_dep_array;
	GPtrArray* _tmp23_;
	GQueue* _tmp24_;
	gchar* pkgname;
	GQueue* _tmp25_;
	gpointer _tmp26_;
	GCancellable* _tmp27_;
	GPtrArray* built_pkgs_path;
	GPtrArray* _tmp28_;
	const gchar* real_aur_build_dir;
	PamacDatabase* _tmp29_;
	const gchar* _tmp30_;
	gchar* pkgdir;
	const gchar* _tmp31_;
	const gchar* _tmp32_;
	gchar* _tmp33_;
	gboolean as_root;
	GPtrArray* cmdline;
	GPtrArray* _tmp34_;
	GPtrArray* _tmp35_;
	gchar* _tmp36_;
	GPtrArray* _tmp37_;
	gchar* _tmp38_;
	GPtrArray* _tmp39_;
	gchar* _tmp40_;
	GPtrArray* _tmp41_;
	gchar* _tmp42_;
	GPtrArray* _tmp43_;
	gchar* _tmp44_;
	GPtrArray* _tmp45_;
	gchar* _tmp46_;
	GPtrArray* _tmp47_;
	gchar* _tmp48_;
	GPtrArray* _tmp49_;
	const gchar* _tmp50_;
	gchar* _tmp51_;
	GPtrArray* _tmp52_;
	gchar* _tmp53_;
	GPtrArray* _tmp54_;
	gchar* _tmp55_;
	GPtrArray* _tmp56_;
	gchar* _tmp57_;
	PamacConfig* _tmp58_;
	gboolean _tmp59_;
	gboolean _tmp60_;
	GPtrArray* _tmp61_;
	gchar* _tmp62_;
	GPtrArray* _tmp63_;
	const gchar* _tmp64_;
	gchar* _tmp65_;
	GPtrArray* _tmp66_;
	gchar* _tmp67_;
	const gchar* _tmp68_;
	gchar* _tmp69_;
	gchar* _tmp70_;
	gchar* _tmp71_;
	gchar* _tmp72_;
	gint status;
	GPtrArray* _tmp73_;
	const gchar* _tmp74_;
	GCancellable* _tmp75_;
	GCancellable* _tmp76_;
	const gchar* _tmp77_;
	gchar* _tmp78_;
	gchar* _tmp79_;
	GPtrArray* _tmp80_;
	GPtrArray* _tmp81_;
	GSubprocessLauncher* launcher;
	GSubprocessLauncher* _tmp82_;
	GSubprocessLauncher* _tmp83_;
	const gchar* _tmp84_;
	GPtrArray* _tmp85_;
	GPtrArray* _tmp86_;
	gchar* _tmp87_;
	GPtrArray* _tmp88_;
	gchar* _tmp89_;
	GPtrArray* _tmp90_;
	gchar* _tmp91_;
	GPtrArray* _tmp92_;
	gchar* _tmp93_;
	GPtrArray* _tmp94_;
	gchar* _tmp95_;
	GPtrArray* _tmp96_;
	gchar* _tmp97_;
	GPtrArray* _tmp98_;
	gchar* _tmp99_;
	GPtrArray* _tmp100_;
	const gchar* _tmp101_;
	gchar* _tmp102_;
	GPtrArray* _tmp103_;
	gchar* _tmp104_;
	GPtrArray* _tmp105_;
	gchar* _tmp106_;
	PamacConfig* _tmp107_;
	gboolean _tmp108_;
	gboolean _tmp109_;
	GPtrArray* _tmp110_;
	const gchar* _tmp111_;
	gchar* _tmp112_;
	GPtrArray* _tmp113_;
	gchar* _tmp114_;
	GPtrArray* _tmp115_;
	GPtrArray* _tmp116_;
	gint _tmp117_;
	gint _tmp118_;
	GSubprocess* _vala1_process;
	GSubprocessLauncher* _tmp119_;
	GPtrArray* _tmp120_;
	gpointer* _tmp121_;
	gint _tmp121__length1;
	GSubprocess* _tmp122_;
	GSubprocess* _tmp123_;
	GSubprocess* _tmp124_;
	GSubprocess* _tmp125_;
	GDataInputStream* dis;
	GSubprocess* _tmp126_;
	GInputStream* _tmp127_;
	GDataInputStream* _tmp128_;
	gchar* line;
	gchar* _tmp129_;
	GDataInputStream* _tmp130_;
	gchar* _tmp131_;
	gchar* _tmp132_;
	const gchar* _tmp133_;
	GFile* file;
	const gchar* _tmp134_;
	GFile* _tmp135_;
	gchar* filename;
	GFile* _tmp136_;
	gchar* _tmp137_;
	gchar* name_version_release;
	const gchar* _tmp138_;
	const gchar* _tmp139_;
	gchar* _tmp140_;
	const gchar* _tmp141_;
	gchar* name_version;
	const gchar* _tmp142_;
	const gchar* _tmp143_;
	gchar* _tmp144_;
	const gchar* _tmp145_;
	gchar* name;
	const gchar* _tmp146_;
	const gchar* _tmp147_;
	gchar* _tmp148_;
	const gchar* _tmp149_;
	GHashTable* _tmp150_;
	const gchar* _tmp151_;
	GPtrArray* _tmp152_;
	const gchar* _tmp153_;
	gchar* _tmp154_;
	GHashTable* _tmp155_;
	const gchar* _tmp156_;
	gchar* _tmp157_;
	const gchar* _tmp158_;
	gchar* _tmp159_;
	GHashTable* _tmp160_;
	const gchar* _tmp161_;
	GPtrArray* _tmp162_;
	const gchar* _tmp163_;
	gchar* _tmp164_;
	GError* _vala1_e;
	GError* _tmp165_;
	const gchar* _tmp166_;
	gboolean _tmp167_;
	GPtrArray* _tmp168_;
	gint _tmp169_;
	gint _tmp170_;
	gboolean built_pkgs_needed;
	GQueue* _tmp171_;
	alpm_db_t* _tmp172_;
	const gchar* next_pkg_name;
	GQueue* _tmp173_;
	gconstpointer _tmp174_;
	alpm_pkg_t* next_pkg;
	alpm_db_t* _tmp175_;
	const gchar* _tmp176_;
	alpm_pkg_t* _tmp177_;
	alpm_pkg_t* _tmp178_;
	GHashTableIter iter;
	GHashTable* _tmp179_;
	const gchar* built_pkg_name;
	const gchar* built_pkg_path;
	gconstpointer _tmp180_;
	gconstpointer _tmp181_;
	gboolean _tmp182_;
	alpm_pkg_t* built_pkg;
	alpm_db_t* _tmp183_;
	const gchar* _tmp184_;
	alpm_pkg_t* _tmp185_;
	alpm_pkg_t* _tmp186_;
	alpm_list_t* depends;
	alpm_pkg_t* _tmp187_;
	alpm_list_t* _tmp188_;
	alpm_list_t* _tmp189_;
	alpm_list_t* _tmp190_;
	alpm_list_t* list;
	alpm_pkg_t* _tmp191_;
	alpm_list_t* _tmp192_;
	alpm_list_t* _tmp193_;
	gconstpointer _tmp194_;
	gchar* _tmp195_;
	gchar* _tmp196_;
	alpm_pkg_t* _tmp197_;
	gboolean _tmp198_;
	GPtrArray* to_load_array;
	GPtrArray* _tmp199_;
	GHashTableIter _vala1_iter;
	GHashTable* _tmp200_;
	const gchar* _vala1_built_pkg_path;
	gconstpointer _tmp201_;
	gboolean _tmp202_;
	GPtrArray* _tmp203_;
	const gchar* _tmp204_;
	gchar* _tmp205_;
	GPtrArray* _tmp206_;
	GPtrArray* _tmp207_;
	GHashTable* _tmp208_;
	GPtrArray* _tmp209_;
	GQueue* _tmp210_;
	gchar* _tmp211_;
	gchar* _tmp212_;
	const gchar* _tmp213_;
	gchar* _tmp214_;
	alpm_handle_t* _tmp215_;
	const gchar* _tmp216_;
	const gchar* _tmp217_;
	gchar* _tmp218_;
	gchar** _tmp219_;
	gchar** _tmp220_;
	gint _tmp220__length1;
	GSubprocess* _tmp221_;
	GSubprocess* _tmp222_;
	GError* _vala2_e;
	GError* _tmp223_;
	const gchar* _tmp224_;
	GError* _inner_error0_;
};

struct _PamacTransactionInstallBuiltPkgsData {
	int _state_;
	GObject* _source_object_;
	GAsyncResult* _res_;
	GTask* _async_result;
	PamacTransaction* self;
	GPtrArray* to_load_array;
	GPtrArray* to_install_as_dep_array;
	gboolean result;
	gboolean success;
	gboolean _tmp0_;
	PamacTransactionInterface* _tmp1_;
	PamacConfig* _tmp2_;
	gboolean _tmp3_;
	gboolean _tmp4_;
	GPtrArray* _tmp5_;
	GPtrArray* _tmp6_;
	GPtrArray* _tmp7_;
	GPtrArray* _tmp8_;
	GPtrArray* _tmp9_;
	GPtrArray* _tmp10_;
	GPtrArray* _tmp11_;
	GPtrArray* _tmp12_;
	GPtrArray* _tmp13_;
	GPtrArray* _tmp14_;
	gboolean _tmp15_;
	GError* e;
	GPtrArray* details;
	GPtrArray* _tmp16_;
	GPtrArray* _tmp17_;
	GError* _tmp18_;
	const gchar* _tmp19_;
	gchar* _tmp20_;
	GPtrArray* _tmp21_;
	GError* _inner_error0_;
};

struct _Block46Data {
	int _ref_count_;
	PamacTransaction* self;
	gint index;
	GMainLoop* loop;
	gchar* depend;
	GPtrArray* providers;
};

struct _PamacTransactionAskCommitRealData {
	int _state_;
	GObject* _source_object_;
	GAsyncResult* _res_;
	GTask* _async_result;
	PamacTransaction* self;
	PamacTransactionSummary* summary;
	gboolean result;
	GCancellable* _tmp0_;
	GHashTable* _tmp1_;
	guint _tmp2_;
	guint _tmp3_;
	GHashTableIter iter;
	GHashTable* _tmp4_;
	GPtrArray* not_install;
	GPtrArray* _tmp5_;
	const gchar* snap_name;
	PamacSnapPackage* pkg;
	gconstpointer _tmp6_;
	gconstpointer _tmp7_;
	gboolean _tmp8_;
	PamacSnapPackage* _tmp9_;
	PamacSnapPackage* _tmp10_;
	const gchar* _tmp11_;
	const gchar* _tmp12_;
	gboolean answser;
	PamacSnapPackage* _tmp13_;
	const gchar* _tmp14_;
	const gchar* _tmp15_;
	GPtrArray* _tmp16_;
	const gchar* _tmp17_;
	GPtrArray* _tmp18_;
	GPtrArray* name_collection;
	guint name_index;
	const gchar* name;
	GHashTable* _tmp19_;
	const gchar* _tmp20_;
	GHashTableIter snap_iter;
	GHashTable* _tmp21_;
	PamacSnapPackage* snap_pkg;
	gconstpointer _tmp22_;
	gboolean _tmp23_;
	PamacSnapPackage* _tmp24_;
	GPtrArray* _tmp25_;
	GPtrArray* _tmp26_;
	PamacSnapPackage* _tmp27_;
	PamacPackage* _tmp28_;
	GHashTable* _tmp29_;
	gconstpointer _tmp30_;
	gboolean _tmp31_;
	PamacSnapPackage* _tmp32_;
	GPtrArray* _tmp33_;
	GPtrArray* _tmp34_;
	PamacSnapPackage* _tmp35_;
	PamacPackage* _tmp36_;
	GHashTableIter flatpak_iter;
	GHashTable* _tmp37_;
	PamacFlatpakPackage* flatpak_pkg;
	gconstpointer _tmp38_;
	gboolean _tmp39_;
	PamacFlatpakPackage* _tmp40_;
	GPtrArray* _tmp41_;
	GPtrArray* _tmp42_;
	PamacFlatpakPackage* _tmp43_;
	PamacPackage* _tmp44_;
	GHashTable* _tmp45_;
	gconstpointer _tmp46_;
	gboolean _tmp47_;
	PamacFlatpakPackage* _tmp48_;
	GPtrArray* _tmp49_;
	GPtrArray* _tmp50_;
	PamacFlatpakPackage* _tmp51_;
	PamacPackage* _tmp52_;
	GHashTable* _tmp53_;
	gconstpointer _tmp54_;
	gboolean _tmp55_;
	PamacFlatpakPackage* _tmp56_;
	GPtrArray* _tmp57_;
	GPtrArray* _tmp58_;
	PamacFlatpakPackage* _tmp59_;
	PamacPackage* _tmp60_;
};

struct _PamacTransactionAskEditBuildFilesRealData {
	int _state_;
	GObject* _source_object_;
	GAsyncResult* _res_;
	GTask* _async_result;
	PamacTransaction* self;
	PamacTransactionSummary* summary;
	gboolean result;
	gboolean _tmp0_;
	GHashTableIter iter;
	GHashTable* _tmp1_;
	PamacSnapPackage* pkg;
	gconstpointer _tmp2_;
	gboolean _tmp3_;
	PamacSnapPackage* _tmp4_;
	GPtrArray* _tmp5_;
	GPtrArray* _tmp6_;
	PamacSnapPackage* _tmp7_;
	PamacPackage* _tmp8_;
	GHashTable* _tmp9_;
	gconstpointer _tmp10_;
	gboolean _tmp11_;
	PamacSnapPackage* _tmp12_;
	GPtrArray* _tmp13_;
	GPtrArray* _tmp14_;
	PamacSnapPackage* _tmp15_;
	PamacPackage* _tmp16_;
};

struct _Block47Data {
	int _ref_count_;
	PamacTransaction* self;
	gchar* action;
};

struct _Block48Data {
	int _ref_count_;
	PamacTransaction* self;
	gchar* action;
	gchar* status;
	gdouble progress;
};

struct _Block49Data {
	int _ref_count_;
	PamacTransaction* self;
	gchar* action;
	gchar* details;
	gchar* status;
	gdouble progress;
};

struct _Block50Data {
	int _ref_count_;
	PamacTransaction* self;
	gchar* action;
	gchar* status;
	gdouble progress;
};

struct _Block51Data {
	int _ref_count_;
	PamacTransaction* self;
	gchar* message;
};

struct _Block52Data {
	int _ref_count_;
	PamacTransaction* self;
	gchar* message;
};

struct _Block53Data {
	int _ref_count_;
	PamacTransaction* self;
	gchar* message;
	GPtrArray* details;
};

struct _Block54Data {
	int _ref_count_;
	PamacTransaction* self;
	gboolean must_show;
};

static gint PamacTransaction_private_offset;
static gpointer pamac_transaction_parent_class = NULL;

VALA_EXTERN GType pamac_transaction_interface_get_type (void) G_GNUC_CONST ;
VALA_EXTERN GType pamac_alpm_utils_get_type (void) G_GNUC_CONST ;
static void _g_free0_ (gpointer var);
static inline void _g_queue_free__g_free0_ (GQueue* self);
VALA_EXTERN void pamac_transaction_interface_quit_daemon (PamacTransactionInterface* self,
                                              GError** error);
static void pamac_transaction_real_ask_commit_data_free (gpointer _data);
static void pamac_transaction_real_ask_commit (PamacTransaction* self,
                                        PamacTransactionSummary* summary,
                                        GAsyncReadyCallback _callback_,
                                        gpointer _user_data_);
static gboolean pamac_transaction_real_ask_commit_co (PamacTransactionAskCommitData* _data_);
static void pamac_transaction_real_ask_edit_build_files_data_free (gpointer _data);
static void pamac_transaction_real_ask_edit_build_files (PamacTransaction* self,
                                                  PamacTransactionSummary* summary,
                                                  GAsyncReadyCallback _callback_,
                                                  gpointer _user_data_);
static gboolean pamac_transaction_real_ask_edit_build_files_co (PamacTransactionAskEditBuildFilesData* _data_);
static void pamac_transaction_real_edit_build_files_data_free (gpointer _data);
static void pamac_transaction_real_edit_build_files (PamacTransaction* self,
                                              GPtrArray* pkgnames,
                                              GAsyncReadyCallback _callback_,
                                              gpointer _user_data_);
static gboolean pamac_transaction_real_edit_build_files_co (PamacTransactionEditBuildFilesData* _data_);
static void pamac_transaction_real_ask_import_key_data_free (gpointer _data);
static void pamac_transaction_real_ask_import_key (PamacTransaction* self,
                                            const gchar* pkgname,
                                            const gchar* key,
                                            const gchar* owner,
                                            GAsyncReadyCallback _callback_,
                                            gpointer _user_data_);
static gboolean pamac_transaction_real_ask_import_key_co (PamacTransactionAskImportKeyData* _data_);
static void pamac_transaction_get_build_files_async_data_free (gpointer _data);
static gboolean pamac_transaction_get_build_files_async_co (PamacTransactionGetBuildFilesAsyncData* _data_);
static void pamac_transaction_get_build_files_async_ready (GObject* source_object,
                                                    GAsyncResult* _res_,
                                                    gpointer _user_data_);
static void pamac_transaction_real_choose_optdeps_data_free (gpointer _data);
static void pamac_transaction_real_choose_optdeps (PamacTransaction* self,
                                            const gchar* pkgname,
                                            GPtrArray* optdeps,
                                            GAsyncReadyCallback _callback_,
                                            gpointer _user_data_);
static gboolean pamac_transaction_real_choose_optdeps_co (PamacTransactionChooseOptdepsData* _data_);
static void pamac_transaction_real_choose_provider_data_free (gpointer _data);
static void pamac_transaction_real_choose_provider (PamacTransaction* self,
                                             const gchar* depend,
                                             GPtrArray* providers,
                                             GAsyncReadyCallback _callback_,
                                             gpointer _user_data_);
static gboolean pamac_transaction_real_choose_provider_co (PamacTransactionChooseProviderData* _data_);
static void pamac_transaction_real_ask_snap_install_classic_data_free (gpointer _data);
static void pamac_transaction_real_ask_snap_install_classic (PamacTransaction* self,
                                                      const gchar* name,
                                                      GAsyncReadyCallback _callback_,
                                                      gpointer _user_data_);
static gboolean pamac_transaction_real_ask_snap_install_classic_co (PamacTransactionAskSnapInstallClassicData* _data_);
static void pamac_transaction_get_authorization_async_data_free (gpointer _data);
static gboolean pamac_transaction_get_authorization_async_co (PamacTransactionGetAuthorizationAsyncData* _data_);
VALA_EXTERN void pamac_transaction_interface_get_authorization (PamacTransactionInterface* self,
                                                    GAsyncReadyCallback _callback_,
                                                    gpointer _user_data_);
VALA_EXTERN gboolean pamac_transaction_interface_get_authorization_finish (PamacTransactionInterface* self,
                                                               GAsyncResult* _res_,
                                                               GError** error);
static void pamac_transaction_get_authorization_async_ready (GObject* source_object,
                                                      GAsyncResult* _res_,
                                                      gpointer _user_data_);
VALA_EXTERN void pamac_transaction_interface_remove_authorization (PamacTransactionInterface* self,
                                                       GError** error);
static void pamac_transaction_generate_mirrors_list_async_data_free (gpointer _data);
static gboolean pamac_transaction_generate_mirrors_list_async_co (PamacTransactionGenerateMirrorsListAsyncData* _data_);
static void pamac_transaction_on_generate_mirrors_list_data (PamacTransaction* self,
                                                      const gchar* line);
static void _pamac_transaction_on_generate_mirrors_list_data_pamac_transaction_interface_generate_mirrors_list_data (PamacTransactionInterface* _sender,
                                                                                                              const gchar* line,
                                                                                                              gpointer self);
VALA_EXTERN void pamac_transaction_interface_generate_mirrors_list (PamacTransactionInterface* self,
                                                        const gchar* country,
                                                        GAsyncReadyCallback _callback_,
                                                        gpointer _user_data_);
VALA_EXTERN void pamac_transaction_interface_generate_mirrors_list_finish (PamacTransactionInterface* self,
                                                               GAsyncResult* _res_,
                                                               GError** error);
static void pamac_transaction_generate_mirrors_list_async_ready (GObject* source_object,
                                                          GAsyncResult* _res_,
                                                          gpointer _user_data_);
VALA_EXTERN void pamac_database_refresh (PamacDatabase* self);
static void pamac_transaction_clean_cache_async_data_free (gpointer _data);
static gboolean pamac_transaction_clean_cache_async_co (PamacTransactionCleanCacheAsyncData* _data_);
static void pamac_transaction_clean_cache_async_ready (GObject* source_object,
                                                GAsyncResult* _res_,
                                                gpointer _user_data_);
VALA_EXTERN void pamac_transaction_interface_clean_cache (PamacTransactionInterface* self,
                                              GPtrArray* filenames,
                                              GAsyncReadyCallback _callback_,
                                              gpointer _user_data_);
VALA_EXTERN gboolean pamac_transaction_interface_clean_cache_finish (PamacTransactionInterface* self,
                                                         GAsyncResult* _res_,
                                                         GError** error);
static void pamac_transaction_clean_build_files_async_data_free (gpointer _data);
static gboolean pamac_transaction_clean_build_files_async_co (PamacTransactionCleanBuildFilesAsyncData* _data_);
VALA_EXTERN void pamac_transaction_interface_clean_build_files (PamacTransactionInterface* self,
                                                    const gchar* aur_build_dir,
                                                    GAsyncReadyCallback _callback_,
                                                    gpointer _user_data_);
VALA_EXTERN gboolean pamac_transaction_interface_clean_build_files_finish (PamacTransactionInterface* self,
                                                               GAsyncResult* _res_,
                                                               GError** error);
static void pamac_transaction_clean_build_files_async_ready (GObject* source_object,
                                                      GAsyncResult* _res_,
                                                      gpointer _user_data_);
static void pamac_transaction_set_pkgreason_async_data_free (gpointer _data);
static gboolean pamac_transaction_set_pkgreason_async_co (PamacTransactionSetPkgreasonAsyncData* _data_);
VALA_EXTERN void pamac_transaction_interface_set_pkgreason (PamacTransactionInterface* self,
                                                const gchar* pkgname,
                                                guint reason,
                                                GAsyncReadyCallback _callback_,
                                                gpointer _user_data_);
VALA_EXTERN gboolean pamac_transaction_interface_set_pkgreason_finish (PamacTransactionInterface* self,
                                                           GAsyncResult* _res_,
                                                           GError** error);
static void pamac_transaction_set_pkgreason_async_ready (GObject* source_object,
                                                  GAsyncResult* _res_,
                                                  gpointer _user_data_);
static void pamac_transaction_download_updates_async_data_free (gpointer _data);
static gboolean pamac_transaction_download_updates_async_co (PamacTransactionDownloadUpdatesAsyncData* _data_);
VALA_EXTERN void pamac_transaction_interface_download_updates (PamacTransactionInterface* self,
                                                   GAsyncReadyCallback _callback_,
                                                   gpointer _user_data_);
VALA_EXTERN gboolean pamac_transaction_interface_download_updates_finish (PamacTransactionInterface* self,
                                                              GAsyncResult* _res_,
                                                              GError** error);
static void pamac_transaction_download_updates_async_ready (GObject* source_object,
                                                     GAsyncResult* _res_,
                                                     gpointer _user_data_);
static void pamac_transaction_compute_aur_build_list_data_free (gpointer _data);
static void pamac_transaction_compute_aur_build_list (PamacTransaction* self,
                                               GAsyncReadyCallback _callback_,
                                               gpointer _user_data_);
static gboolean pamac_transaction_compute_aur_build_list_finish (PamacTransaction* self,
                                                          GAsyncResult* _res_);
static gboolean pamac_transaction_compute_aur_build_list_co (PamacTransactionComputeAurBuildListData* _data_);
static void pamac_transaction_compute_aur_build_list_real (PamacTransaction* self,
                                                    GAsyncReadyCallback _callback_,
                                                    gpointer _user_data_);
static gboolean pamac_transaction_compute_aur_build_list_real_finish (PamacTransaction* self,
                                                               GAsyncResult* _res_);
static void pamac_transaction_compute_aur_build_list_ready (GObject* source_object,
                                                     GAsyncResult* _res_,
                                                     gpointer _user_data_);
static void pamac_transaction_launch_subprocess_data_free (gpointer _data);
static void pamac_transaction_launch_subprocess (PamacTransaction* self,
                                          gchar** cmds,
                                          gint cmds_length1,
                                          GAsyncReadyCallback _callback_,
                                          gpointer _user_data_);
static gint pamac_transaction_launch_subprocess_finish (PamacTransaction* self,
                                                 GAsyncResult* _res_);
static gboolean pamac_transaction_launch_subprocess_co (PamacTransactionLaunchSubprocessData* _data_);
static void pamac_transaction_launch_subprocess_ready (GObject* source_object,
                                                GAsyncResult* _res_,
                                                gpointer _user_data_);
static void pamac_transaction_compute_aur_build_list_real_data_free (gpointer _data);
static gboolean pamac_transaction_compute_aur_build_list_real_co (PamacTransactionComputeAurBuildListRealData* _data_);
static void pamac_transaction_compute_aur_build_list_real_ready (GObject* source_object,
                                                          GAsyncResult* _res_,
                                                          gpointer _user_data_);
static void pamac_transaction_check_aur_dep_list (PamacTransaction* self,
                                           GPtrArray* pkgnames,
                                           GAsyncReadyCallback _callback_,
                                           gpointer _user_data_);
static gboolean pamac_transaction_check_aur_dep_list_finish (PamacTransaction* self,
                                                      GAsyncResult* _res_);
static void pamac_transaction_check_aur_dep_list_data_free (gpointer _data);
static gboolean pamac_transaction_check_aur_dep_list_co (PamacTransactionCheckAurDepListData* _data_);
static void pamac_transaction_check_aur_dep_list_ready (GObject* source_object,
                                                 GAsyncResult* _res_,
                                                 gpointer _user_data_);
VALA_EXTERN GType pamac_aur_infos_get_type (void) G_GNUC_CONST ;
VALA_EXTERN GPtrArray* pamac_database_get_aur_providers (PamacDatabase* self,
                                             const gchar* pkgname);
VALA_EXTERN const gchar* pamac_aur_infos_get_name (PamacAURInfos* self);
static void _g_object_unref0_ (gpointer var);
VALA_EXTERN void pamac_package_set_desc (PamacPackage* self,
                             const gchar* value);
VALA_EXTERN GType pamac_aur_package_linked_get_type (void) G_GNUC_CONST ;
VALA_EXTERN GType pamac_aur_package_static_get_type (void) G_GNUC_CONST ;
VALA_EXTERN PamacAURPackageStatic* pamac_aur_package_static_new (void);
VALA_EXTERN PamacAURPackageStatic* pamac_aur_package_static_construct (GType object_type);
VALA_EXTERN void pamac_package_set_name (PamacPackage* self,
                             const gchar* value);
VALA_EXTERN void pamac_package_set_version (PamacPackage* self,
                                const gchar* value);
VALA_EXTERN void pamac_aur_package_set_packagebase (PamacAURPackage* self,
                                        const gchar* value);
static gpointer _g_strdup_gcopy_func (gconstpointer src,
                               gpointer self);
VALA_EXTERN void pamac_alpm_package_set_depends (PamacAlpmPackage* self,
                                     GPtrArray* value);
VALA_EXTERN void pamac_alpm_package_set_provides (PamacAlpmPackage* self,
                                      GPtrArray* value);
VALA_EXTERN void pamac_alpm_package_set_conflicts (PamacAlpmPackage* self,
                                       GPtrArray* value);
VALA_EXTERN void pamac_alpm_package_set_replaces (PamacAlpmPackage* self,
                                      GPtrArray* value);
static void pamac_transaction_clone_build_files_if_needed_data_free (gpointer _data);
static void pamac_transaction_clone_build_files_if_needed (PamacTransaction* self,
                                                    const gchar* pkgdir,
                                                    const gchar* pkgname,
                                                    GAsyncReadyCallback _callback_,
                                                    gpointer _user_data_);
static gboolean pamac_transaction_clone_build_files_if_needed_finish (PamacTransaction* self,
                                                               GAsyncResult* _res_);
static gboolean pamac_transaction_clone_build_files_if_needed_co (PamacTransactionCloneBuildFilesIfNeededData* _data_);
static void pamac_transaction_clone_build_files_if_needed_ready (GObject* source_object,
                                                          GAsyncResult* _res_,
                                                          gpointer _user_data_);
static void pamac_transaction_check_signatures_data_free (gpointer _data);
static void pamac_transaction_check_signatures (PamacTransaction* self,
                                         const gchar* pkgdir,
                                         const gchar* pkgname,
                                         GAsyncReadyCallback _callback_,
                                         gpointer _user_data_);
static void pamac_transaction_check_signatures_finish (PamacTransaction* self,
                                                GAsyncResult* _res_);
static gboolean pamac_transaction_check_signatures_co (PamacTransactionCheckSignaturesData* _data_);
static void pamac_transaction_check_signatures_ready (GObject* source_object,
                                               GAsyncResult* _res_,
                                               gpointer _user_data_);
static void pamac_transaction_check_signature (PamacTransaction* self,
                                        const gchar* pkgname,
                                        GPtrArray* keys,
                                        GAsyncReadyCallback _callback_,
                                        gpointer _user_data_);
static void pamac_transaction_check_signature_finish (PamacTransaction* self,
                                               GAsyncResult* _res_);
static void pamac_transaction_check_signature_data_free (gpointer _data);
static gboolean pamac_transaction_check_signature_co (PamacTransactionCheckSignatureData* _data_);
static void pamac_transaction_check_signature_ready (GObject* source_object,
                                              GAsyncResult* _res_,
                                              gpointer _user_data_);
static void pamac_transaction_run_async_data_free (gpointer _data);
static gboolean pamac_transaction_run_async_co (PamacTransactionRunAsyncData* _data_);
static void pamac_transaction_run_alpm_transaction (PamacTransaction* self,
                                             GAsyncReadyCallback _callback_,
                                             gpointer _user_data_);
static gboolean pamac_transaction_run_alpm_transaction_finish (PamacTransaction* self,
                                                        GAsyncResult* _res_);
static void pamac_transaction_run_async_ready (GObject* source_object,
                                        GAsyncResult* _res_,
                                        gpointer _user_data_);
static void pamac_transaction_build_aur_packages (PamacTransaction* self,
                                           GAsyncReadyCallback _callback_,
                                           gpointer _user_data_);
static gboolean pamac_transaction_build_aur_packages_finish (PamacTransaction* self,
                                                      GAsyncResult* _res_);
static void pamac_transaction_run_snap_transaction (PamacTransaction* self,
                                             GAsyncReadyCallback _callback_,
                                             gpointer _user_data_);
static gboolean pamac_transaction_run_snap_transaction_finish (PamacTransaction* self,
                                                        GAsyncResult* _res_);
static void pamac_transaction_run_flatpak_transaction (PamacTransaction* self,
                                                GAsyncReadyCallback _callback_,
                                                gpointer _user_data_);
static gboolean pamac_transaction_run_flatpak_transaction_finish (PamacTransaction* self,
                                                           GAsyncResult* _res_);
VALA_EXTERN PamacTransactionSummary* pamac_transaction_summary_new (void);
VALA_EXTERN PamacTransactionSummary* pamac_transaction_summary_construct (GType object_type);
static void pamac_transaction_add_config_ignore_pkgs (PamacTransaction* self);
static void pamac_transaction_add_optdeps_data_free (gpointer _data);
static void pamac_transaction_add_optdeps (PamacTransaction* self,
                                    GAsyncReadyCallback _callback_,
                                    gpointer _user_data_);
static void pamac_transaction_add_optdeps_finish (PamacTransaction* self,
                                           GAsyncResult* _res_);
static gboolean pamac_transaction_add_optdeps_co (PamacTransactionAddOptdepsData* _data_);
VALA_EXTERN void pamac_database_get_uninstalled_optdeps_async (PamacDatabase* self,
                                                   const gchar* pkgname,
                                                   GAsyncReadyCallback _callback_,
                                                   gpointer _user_data_);
VALA_EXTERN GPtrArray* pamac_database_get_uninstalled_optdeps_finish (PamacDatabase* self,
                                                          GAsyncResult* _res_);
static void pamac_transaction_add_optdeps_ready (GObject* source_object,
                                          GAsyncResult* _res_,
                                          gpointer _user_data_);
static void pamac_transaction_run_alpm_transaction_data_free (gpointer _data);
static gboolean pamac_transaction_run_alpm_transaction_co (PamacTransactionRunAlpmTransactionData* _data_);
static void pamac_transaction_run_alpm_transaction_ready (GObject* source_object,
                                                   GAsyncResult* _res_,
                                                   gpointer _user_data_);
VALA_EXTERN void pamac_database_get_aur_updates_async (PamacDatabase* self,
                                           GHashTable* ignorepkgs,
                                           GAsyncReadyCallback _callback_,
                                           gpointer _user_data_);
VALA_EXTERN PamacUpdates* pamac_database_get_aur_updates_finish (PamacDatabase* self,
                                                     GAsyncResult* _res_);
static void pamac_transaction_trans_prepare (PamacTransaction* self,
                                      GAsyncReadyCallback _callback_,
                                      gpointer _user_data_);
static gboolean pamac_transaction_trans_prepare_finish (PamacTransaction* self,
                                                 GAsyncResult* _res_,
                                                 PamacTransactionSummary** summary);
static void pamac_transaction_trans_run (PamacTransaction* self,
                                  PamacTransactionSummary* summary,
                                  GAsyncReadyCallback _callback_,
                                  gpointer _user_data_);
static gboolean pamac_transaction_trans_run_finish (PamacTransaction* self,
                                             GAsyncResult* _res_);
static void pamac_transaction_trans_check_prepare_data_free (gpointer _data);
static void pamac_transaction_trans_check_prepare (PamacTransaction* self,
                                            GAsyncReadyCallback _callback_,
                                            gpointer _user_data_);
static gboolean pamac_transaction_trans_check_prepare_finish (PamacTransaction* self,
                                                       GAsyncResult* _res_,
                                                       PamacTransactionSummary** summary);
static gboolean pamac_transaction_trans_check_prepare_co (PamacTransactionTransCheckPrepareData* _data_);
static Block45Data* block45_data_ref (Block45Data* _data45_);
static void block45_data_unref (void * _userdata_);
static void pamac_transaction_trans_check_prepare_ready (GObject* source_object,
                                                  GAsyncResult* _res_,
                                                  gpointer _user_data_);
VALA_EXTERN void pamac_transaction_interface_download_pkgs (PamacTransactionInterface* self,
                                                GPtrArray* urls,
                                                GAsyncReadyCallback _callback_,
                                                gpointer _user_data_);
VALA_EXTERN gchar** pamac_transaction_interface_download_pkgs_finish (PamacTransactionInterface* self,
                                                          GAsyncResult* _res_,
                                                          gint* result_length1,
                                                          GError** error);
static gint ___lambda45_ (Block45Data* _data45_);
VALA_EXTERN gboolean pamac_alpm_utils_trans_check_prepare (PamacAlpmUtils* self,
                                               gboolean sysupgrade,
                                               gboolean enable_downgrade,
                                               gboolean simple_install,
                                               gint trans_flags,
                                               GHashTable* to_install,
                                               GHashTable* to_remove,
                                               GHashTable* local_paths,
                                               GHashTable* remote_paths,
                                               GHashTable* to_build,
                                               GHashTable* ignorepkgs,
                                               GHashTable* overwrite_files,
                                               PamacTransactionSummary** summary);
static gboolean _pamac_transaction_trans_check_prepare_co_gsource_func (gpointer self);
static gpointer ____lambda45__gthread_func (gpointer self);
static void pamac_transaction_check_dbs_data_free (gpointer _data);
static gboolean pamac_transaction_check_dbs_co (PamacTransactionCheckDbsData* _data_);
VALA_EXTERN gboolean pamac_database_get_dbs_missing (PamacDatabase* self);
static void pamac_transaction_check_dbs_ready (GObject* source_object,
                                        GAsyncResult* _res_,
                                        gpointer _user_data_);
static void pamac_transaction_refresh_dbs_async_data_free (gpointer _data);
static gboolean pamac_transaction_refresh_dbs_async_co (PamacTransactionRefreshDbsAsyncData* _data_);
VALA_EXTERN void pamac_transaction_interface_trans_refresh (PamacTransactionInterface* self,
                                                gboolean force,
                                                GAsyncReadyCallback _callback_,
                                                gpointer _user_data_);
VALA_EXTERN gboolean pamac_transaction_interface_trans_refresh_finish (PamacTransactionInterface* self,
                                                           GAsyncResult* _res_,
                                                           GError** error);
static void pamac_transaction_refresh_dbs_async_ready (GObject* source_object,
                                                GAsyncResult* _res_,
                                                gpointer _user_data_);
VALA_EXTERN void pamac_transaction_interface_trans_refresh_aur (PamacTransactionInterface* self,
                                                    gboolean force,
                                                    GAsyncReadyCallback _callback_,
                                                    gpointer _user_data_);
VALA_EXTERN gboolean pamac_transaction_interface_trans_refresh_aur_finish (PamacTransactionInterface* self,
                                                               GAsyncResult* _res_,
                                                               GError** error);
static void pamac_transaction_refresh_files_dbs_async_data_free (gpointer _data);
static gboolean pamac_transaction_refresh_files_dbs_async_co (PamacTransactionRefreshFilesDbsAsyncData* _data_);
VALA_EXTERN void pamac_transaction_interface_trans_refresh_files (PamacTransactionInterface* self,
                                                      gboolean force,
                                                      GAsyncReadyCallback _callback_,
                                                      gpointer _user_data_);
VALA_EXTERN gboolean pamac_transaction_interface_trans_refresh_files_finish (PamacTransactionInterface* self,
                                                                 GAsyncResult* _res_,
                                                                 GError** error);
static void pamac_transaction_refresh_files_dbs_async_ready (GObject* source_object,
                                                      GAsyncResult* _res_,
                                                      gpointer _user_data_);
static void pamac_transaction_trans_prepare_data_free (gpointer _data);
static gboolean pamac_transaction_trans_prepare_co (PamacTransactionTransPrepareData* _data_);
static void pamac_transaction_set_flags (PamacTransaction* self);
static void pamac_transaction_trans_prepare_ready (GObject* source_object,
                                            GAsyncResult* _res_,
                                            gpointer _user_data_);
static void pamac_transaction_ask_edit_build_files_real (PamacTransaction* self,
                                                  PamacTransactionSummary* summary,
                                                  GAsyncReadyCallback _callback_,
                                                  gpointer _user_data_);
static gboolean pamac_transaction_ask_edit_build_files_real_finish (PamacTransaction* self,
                                                             GAsyncResult* _res_);
VALA_EXTERN gpointer alpm_config_ref (gpointer instance);
VALA_EXTERN void alpm_config_unref (gpointer instance);
VALA_EXTERN GParamSpec* param_spec_alpm_config (const gchar* name,
                                    const gchar* nick,
                                    const gchar* blurb,
                                    GType object_type,
                                    GParamFlags flags);
VALA_EXTERN void value_set_alpm_config (GValue* value,
                            gpointer v_object);
VALA_EXTERN void value_take_alpm_config (GValue* value,
                             gpointer v_object);
VALA_EXTERN gpointer value_get_alpm_config (const GValue* value);
VALA_EXTERN GType alpm_config_get_type (void) G_GNUC_CONST ;
static void pamac_transaction_trans_run_data_free (gpointer _data);
static gboolean pamac_transaction_trans_run_co (PamacTransactionTransRunData* _data_);
VALA_EXTERN GPtrArray* pamac_transaction_summary_get_aur_pkgbases_to_build (PamacTransactionSummary* self);
static void pamac_transaction_trans_run_ready (GObject* source_object,
                                        GAsyncResult* _res_,
                                        gpointer _user_data_);
VALA_EXTERN GPtrArray* pamac_transaction_summary_get_to_load (PamacTransactionSummary* self);
static void pamac_transaction_ask_commit_real (PamacTransaction* self,
                                        PamacTransactionSummary* summary,
                                        GAsyncReadyCallback _callback_,
                                        gpointer _user_data_);
static gboolean pamac_transaction_ask_commit_real_finish (PamacTransaction* self,
                                                   GAsyncResult* _res_);
VALA_EXTERN void pamac_transaction_interface_trans_run (PamacTransactionInterface* self,
                                            gboolean sysupgrade,
                                            gboolean enable_downgrade,
                                            gboolean simple_install,
                                            gboolean keep_built_pkgs,
                                            gint trans_flags,
                                            GPtrArray* to_install,
                                            GPtrArray* to_remove,
                                            GPtrArray* to_load_local,
                                            GPtrArray* to_load_remote,
                                            GPtrArray* to_install_as_dep,
                                            GPtrArray* ignorepkgs,
                                            GPtrArray* overwrite_files,
                                            GAsyncReadyCallback _callback_,
                                            gpointer _user_data_);
VALA_EXTERN gboolean pamac_transaction_interface_trans_run_finish (PamacTransactionInterface* self,
                                                       GAsyncResult* _res_,
                                                       GError** error);
static void pamac_transaction_run_snap_transaction_data_free (gpointer _data);
static gboolean pamac_transaction_run_snap_transaction_co (PamacTransactionRunSnapTransactionData* _data_);
VALA_EXTERN void pamac_transaction_interface_snap_trans_run (PamacTransactionInterface* self,
                                                 GPtrArray* to_install,
                                                 GPtrArray* to_remove,
                                                 GAsyncReadyCallback _callback_,
                                                 gpointer _user_data_);
VALA_EXTERN gboolean pamac_transaction_interface_snap_trans_run_finish (PamacTransactionInterface* self,
                                                            GAsyncResult* _res_,
                                                            GError** error);
static void pamac_transaction_run_snap_transaction_ready (GObject* source_object,
                                                   GAsyncResult* _res_,
                                                   gpointer _user_data_);
static void pamac_transaction_snap_switch_channel_async_data_free (gpointer _data);
static gboolean pamac_transaction_snap_switch_channel_async_co (PamacTransactionSnapSwitchChannelAsyncData* _data_);
VALA_EXTERN void pamac_transaction_interface_snap_switch_channel (PamacTransactionInterface* self,
                                                      const gchar* snap_name,
                                                      const gchar* channel,
                                                      GAsyncReadyCallback _callback_,
                                                      gpointer _user_data_);
VALA_EXTERN gboolean pamac_transaction_interface_snap_switch_channel_finish (PamacTransactionInterface* self,
                                                                 GAsyncResult* _res_,
                                                                 GError** error);
static void pamac_transaction_snap_switch_channel_async_ready (GObject* source_object,
                                                        GAsyncResult* _res_,
                                                        gpointer _user_data_);
static void pamac_transaction_run_flatpak_transaction_data_free (gpointer _data);
static gboolean pamac_transaction_run_flatpak_transaction_co (PamacTransactionRunFlatpakTransactionData* _data_);
VALA_EXTERN void pamac_transaction_interface_flatpak_trans_run (PamacTransactionInterface* self,
                                                    GPtrArray* to_install,
                                                    GPtrArray* to_remove,
                                                    GPtrArray* to_upgrade,
                                                    GAsyncReadyCallback _callback_,
                                                    gpointer _user_data_);
VALA_EXTERN gboolean pamac_transaction_interface_flatpak_trans_run_finish (PamacTransactionInterface* self,
                                                               GAsyncResult* _res_,
                                                               GError** error);
static void pamac_transaction_run_flatpak_transaction_ready (GObject* source_object,
                                                      GAsyncResult* _res_,
                                                      gpointer _user_data_);
static gchar* pamac_transaction_remove_bash_colors (PamacTransaction* self,
                                             const gchar* msg);
static void pamac_transaction_real_run_cmd_line_async_data_free (gpointer _data);
static void pamac_transaction_real_run_cmd_line_async (PamacTransaction* self,
                                                GPtrArray* args,
                                                const gchar* working_directory,
                                                GCancellable* cancellable,
                                                GAsyncReadyCallback _callback_,
                                                gpointer _user_data_);
static gboolean pamac_transaction_real_run_cmd_line_async_co (PamacTransactionRunCmdLineAsyncData* _data_);
static void pamac_transaction_run_cmd_line_async_ready (GObject* source_object,
                                                 GAsyncResult* _res_,
                                                 gpointer _user_data_);
static void pamac_transaction_build_aur_packages_data_free (gpointer _data);
static gboolean pamac_transaction_build_aur_packages_co (PamacTransactionBuildAurPackagesData* _data_);
VALA_EXTERN alpm_handle_t* pamac_database_get_tmp_handle (PamacDatabase* self);
static void pamac_transaction_build_aur_packages_ready (GObject* source_object,
                                                 GAsyncResult* _res_,
                                                 gpointer _user_data_);
static void pamac_transaction_install_built_pkgs (PamacTransaction* self,
                                           GPtrArray* to_load_array,
                                           GPtrArray* to_install_as_dep_array,
                                           GAsyncReadyCallback _callback_,
                                           gpointer _user_data_);
static gboolean pamac_transaction_install_built_pkgs_finish (PamacTransaction* self,
                                                      GAsyncResult* _res_);
static void pamac_transaction_install_built_pkgs_data_free (gpointer _data);
static gboolean pamac_transaction_install_built_pkgs_co (PamacTransactionInstallBuiltPkgsData* _data_);
static void pamac_transaction_install_built_pkgs_ready (GObject* source_object,
                                                 GAsyncResult* _res_,
                                                 gpointer _user_data_);
VALA_EXTERN void pamac_transaction_interface_trans_cancel (PamacTransactionInterface* self,
                                               GError** error);
static gint pamac_transaction_choose_provider_real (PamacTransaction* self,
                                             const gchar* depend,
                                             GPtrArray* providers);
static Block46Data* block46_data_ref (Block46Data* _data46_);
static void block46_data_unref (void * _userdata_);
static gboolean __lambda46_ (Block46Data* _data46_);
static void __lambda47_ (Block46Data* _data46_,
                  GObject* obj,
                  GAsyncResult* res);
static void ___lambda47__gasync_ready_callback (GObject* source_object,
                                         GAsyncResult* res,
                                         gpointer self);
static gboolean ___lambda46__gsource_func (gpointer self);
static void pamac_transaction_ask_commit_real_data_free (gpointer _data);
static gboolean pamac_transaction_ask_commit_real_co (PamacTransactionAskCommitRealData* _data_);
static void pamac_transaction_ask_commit_real_ready (GObject* source_object,
                                              GAsyncResult* _res_,
                                              gpointer _user_data_);
static void pamac_transaction_ask_edit_build_files_real_data_free (gpointer _data);
static gboolean pamac_transaction_ask_edit_build_files_real_co (PamacTransactionAskEditBuildFilesRealData* _data_);
static void pamac_transaction_ask_edit_build_files_real_ready (GObject* source_object,
                                                        GAsyncResult* _res_,
                                                        gpointer _user_data_);
static void pamac_transaction_on_emit_action (PamacTransaction* self,
                                       const gchar* action);
static void pamac_transaction_on_emit_action_progress (PamacTransaction* self,
                                                const gchar* action,
                                                const gchar* status,
                                                gdouble progress);
static void pamac_transaction_on_emit_download_progress (PamacTransaction* self,
                                                  const gchar* action,
                                                  const gchar* status,
                                                  gdouble progress);
static void pamac_transaction_on_emit_hook_progress (PamacTransaction* self,
                                              const gchar* action,
                                              const gchar* details,
                                              const gchar* status,
                                              gdouble progress);
static void pamac_transaction_on_emit_script_output (PamacTransaction* self,
                                              const gchar* message);
static void pamac_transaction_on_emit_warning (PamacTransaction* self,
                                        const gchar* message);
static void pamac_transaction_on_emit_error (PamacTransaction* self,
                                      const gchar* message,
                                      GPtrArray* details);
static void pamac_transaction_on_important_details_outpout (PamacTransaction* self,
                                                     gboolean must_show);
static void pamac_transaction_on_start_downloading (PamacTransaction* self);
static void pamac_transaction_on_stop_downloading (PamacTransaction* self);
static void pamac_transaction_on_start_waiting (PamacTransaction* self);
static void pamac_transaction_on_stop_waiting (PamacTransaction* self);
static void pamac_transaction_connecting_signals (PamacTransaction* self);
static void _pamac_transaction_on_emit_action_pamac_transaction_interface_emit_action (PamacTransactionInterface* _sender,
                                                                                const gchar* action,
                                                                                gpointer self);
static void _pamac_transaction_on_emit_action_progress_pamac_transaction_interface_emit_action_progress (PamacTransactionInterface* _sender,
                                                                                                  const gchar* action,
                                                                                                  const gchar* status,
                                                                                                  gdouble progress,
                                                                                                  gpointer self);
static void _pamac_transaction_on_emit_download_progress_pamac_transaction_interface_emit_download_progress (PamacTransactionInterface* _sender,
                                                                                                      const gchar* action,
                                                                                                      const gchar* status,
                                                                                                      gdouble progress,
                                                                                                      gpointer self);
static void _pamac_transaction_on_emit_hook_progress_pamac_transaction_interface_emit_hook_progress (PamacTransactionInterface* _sender,
                                                                                              const gchar* action,
                                                                                              const gchar* details,
                                                                                              const gchar* status,
                                                                                              gdouble progress,
                                                                                              gpointer self);
static void _pamac_transaction_on_emit_script_output_pamac_transaction_interface_emit_script_output (PamacTransactionInterface* _sender,
                                                                                              const gchar* message,
                                                                                              gpointer self);
static void _pamac_transaction_on_emit_warning_pamac_transaction_interface_emit_warning (PamacTransactionInterface* _sender,
                                                                                  const gchar* message,
                                                                                  gpointer self);
static void _pamac_transaction_on_emit_error_pamac_transaction_interface_emit_error (PamacTransactionInterface* _sender,
                                                                              const gchar* message,
                                                                              GPtrArray* details,
                                                                              gpointer self);
static void _pamac_transaction_on_important_details_outpout_pamac_transaction_interface_important_details_outpout (PamacTransactionInterface* _sender,
                                                                                                            gboolean must_show,
                                                                                                            gpointer self);
static void _pamac_transaction_on_start_downloading_pamac_transaction_interface_start_downloading (PamacTransactionInterface* _sender,
                                                                                            gpointer self);
static void _pamac_transaction_on_stop_downloading_pamac_transaction_interface_stop_downloading (PamacTransactionInterface* _sender,
                                                                                          gpointer self);
static void _pamac_transaction_on_start_waiting_pamac_transaction_interface_start_waiting (PamacTransactionInterface* _sender,
                                                                                    gpointer self);
static void _pamac_transaction_on_stop_waiting_pamac_transaction_interface_stop_waiting (PamacTransactionInterface* _sender,
                                                                                  gpointer self);
static void g_cclosure_user_marshal_VOID__STRING_STRING_DOUBLE (GClosure * closure,
                                                         GValue * return_value,
                                                         guint n_param_values,
                                                         const GValue * param_values,
                                                         gpointer invocation_hint,
                                                         gpointer marshal_data);
static void g_cclosure_user_marshal_VOID__STRING_STRING_STRING_DOUBLE (GClosure * closure,
                                                                GValue * return_value,
                                                                guint n_param_values,
                                                                const GValue * param_values,
                                                                gpointer invocation_hint,
                                                                gpointer marshal_data);
static void g_cclosure_user_marshal_VOID__STRING_BOXED (GClosure * closure,
                                                 GValue * return_value,
                                                 guint n_param_values,
                                                 const GValue * param_values,
                                                 gpointer invocation_hint,
                                                 gpointer marshal_data);
static GObject * pamac_transaction_constructor (GType type,
                                         guint n_construct_properties,
                                         GObjectConstructParam * construct_properties);
VALA_EXTERN GMainContext* pamac_database_get_context (PamacDatabase* self);
VALA_EXTERN PamacAlpmUtils* pamac_alpm_utils_new (PamacConfig* config);
VALA_EXTERN PamacAlpmUtils* pamac_alpm_utils_construct (GType object_type,
                                            PamacConfig* config);
VALA_EXTERN PamacTransactionInterfaceRoot* pamac_transaction_interface_root_new (PamacAlpmUtils* alpm_utils,
                                                                     GMainContext* context);
VALA_EXTERN PamacTransactionInterfaceRoot* pamac_transaction_interface_root_construct (GType object_type,
                                                                           PamacAlpmUtils* alpm_utils,
                                                                           GMainContext* context);
VALA_EXTERN GType pamac_transaction_interface_root_get_type (void) G_GNUC_CONST ;
VALA_EXTERN PamacTransactionInterfaceDaemon* pamac_transaction_interface_daemon_new (PamacConfig* config);
VALA_EXTERN PamacTransactionInterfaceDaemon* pamac_transaction_interface_daemon_construct (GType object_type,
                                                                               PamacConfig* config);
VALA_EXTERN GType pamac_transaction_interface_daemon_get_type (void) G_GNUC_CONST ;
static gint _pamac_transaction_choose_provider_real_pamac_alpm_utils_choose_provider (PamacAlpmUtils* _sender,
                                                                               const gchar* depend,
                                                                               GPtrArray* providers,
                                                                               gpointer self);
static void _pamac_transaction___lambda63_ (PamacTransaction* self,
                                     const gchar* sender,
                                     const gchar* action);
static Block47Data* block47_data_ref (Block47Data* _data47_);
static void block47_data_unref (void * _userdata_);
static gboolean __lambda64_ (Block47Data* _data47_);
static gboolean ___lambda64__gsource_func (gpointer self);
static void __pamac_transaction___lambda63__pamac_alpm_utils_emit_action (PamacAlpmUtils* _sender,
                                                                   const gchar* sender,
                                                                   const gchar* action,
                                                                   gpointer self);
static void _pamac_transaction___lambda65_ (PamacTransaction* self,
                                     const gchar* sender,
                                     const gchar* action,
                                     const gchar* status,
                                     gdouble progress);
static Block48Data* block48_data_ref (Block48Data* _data48_);
static void block48_data_unref (void * _userdata_);
static gboolean __lambda66_ (Block48Data* _data48_);
static gboolean ___lambda66__gsource_func (gpointer self);
static void __pamac_transaction___lambda65__pamac_alpm_utils_emit_action_progress (PamacAlpmUtils* _sender,
                                                                            const gchar* sender,
                                                                            const gchar* action,
                                                                            const gchar* status,
                                                                            gdouble progress,
                                                                            gpointer self);
static void _pamac_transaction___lambda67_ (PamacTransaction* self,
                                     const gchar* sender,
                                     const gchar* action,
                                     const gchar* details,
                                     const gchar* status,
                                     gdouble progress);
static Block49Data* block49_data_ref (Block49Data* _data49_);
static void block49_data_unref (void * _userdata_);
static gboolean __lambda68_ (Block49Data* _data49_);
static gboolean ___lambda68__gsource_func (gpointer self);
static void __pamac_transaction___lambda67__pamac_alpm_utils_emit_hook_progress (PamacAlpmUtils* _sender,
                                                                          const gchar* sender,
                                                                          const gchar* action,
                                                                          const gchar* details,
                                                                          const gchar* status,
                                                                          gdouble progress,
                                                                          gpointer self);
static void _pamac_transaction___lambda69_ (PamacTransaction* self,
                                     const gchar* sender,
                                     const gchar* action,
                                     const gchar* status,
                                     gdouble progress);
static Block50Data* block50_data_ref (Block50Data* _data50_);
static void block50_data_unref (void * _userdata_);
static gboolean __lambda70_ (Block50Data* _data50_);
static gboolean ___lambda70__gsource_func (gpointer self);
static void __pamac_transaction___lambda69__pamac_alpm_utils_emit_download_progress (PamacAlpmUtils* _sender,
                                                                              const gchar* sender,
                                                                              const gchar* action,
                                                                              const gchar* status,
                                                                              gdouble progress,
                                                                              gpointer self);
static void _pamac_transaction___lambda71_ (PamacTransaction* self,
                                     const gchar* sender);
static gboolean __lambda72_ (PamacTransaction* self);
static gboolean ___lambda72__gsource_func (gpointer self);
static void __pamac_transaction___lambda71__pamac_alpm_utils_start_downloading (PamacAlpmUtils* _sender,
                                                                         const gchar* sender,
                                                                         gpointer self);
static void _pamac_transaction___lambda73_ (PamacTransaction* self,
                                     const gchar* sender);
static gboolean __lambda74_ (PamacTransaction* self);
static gboolean ___lambda74__gsource_func (gpointer self);
static void __pamac_transaction___lambda73__pamac_alpm_utils_stop_downloading (PamacAlpmUtils* _sender,
                                                                        const gchar* sender,
                                                                        gpointer self);
static void _pamac_transaction___lambda75_ (PamacTransaction* self,
                                     const gchar* sender,
                                     const gchar* message);
static Block51Data* block51_data_ref (Block51Data* _data51_);
static void block51_data_unref (void * _userdata_);
static gboolean __lambda76_ (Block51Data* _data51_);
static gboolean ___lambda76__gsource_func (gpointer self);
static void __pamac_transaction___lambda75__pamac_alpm_utils_emit_script_output (PamacAlpmUtils* _sender,
                                                                          const gchar* sender,
                                                                          const gchar* message,
                                                                          gpointer self);
static void _pamac_transaction___lambda77_ (PamacTransaction* self,
                                     const gchar* sender,
                                     const gchar* message);
static Block52Data* block52_data_ref (Block52Data* _data52_);
static void block52_data_unref (void * _userdata_);
static gboolean __lambda78_ (Block52Data* _data52_);
static gboolean ___lambda78__gsource_func (gpointer self);
static void __pamac_transaction___lambda77__pamac_alpm_utils_emit_warning (PamacAlpmUtils* _sender,
                                                                    const gchar* sender,
                                                                    const gchar* message,
                                                                    gpointer self);
static void _pamac_transaction___lambda79_ (PamacTransaction* self,
                                     const gchar* sender,
                                     const gchar* message,
                                     GPtrArray* details);
static Block53Data* block53_data_ref (Block53Data* _data53_);
static void block53_data_unref (void * _userdata_);
static gboolean __lambda80_ (Block53Data* _data53_);
static gboolean ___lambda80__gsource_func (gpointer self);
static void __pamac_transaction___lambda79__pamac_alpm_utils_emit_error (PamacAlpmUtils* _sender,
                                                                  const gchar* sender,
                                                                  const gchar* message,
                                                                  GPtrArray* details,
                                                                  gpointer self);
static void _pamac_transaction___lambda81_ (PamacTransaction* self,
                                     const gchar* sender,
                                     gboolean must_show);
static Block54Data* block54_data_ref (Block54Data* _data54_);
static void block54_data_unref (void * _userdata_);
static gboolean __lambda82_ (Block54Data* _data54_);
static gboolean ___lambda82__gsource_func (gpointer self);
static void __pamac_transaction___lambda81__pamac_alpm_utils_important_details_outpout (PamacAlpmUtils* _sender,
                                                                                 const gchar* sender,
                                                                                 gboolean must_show,
                                                                                 gpointer self);
static void pamac_transaction_finalize (GObject * obj);
static GType pamac_transaction_get_type_once (void);
static void _vala_pamac_transaction_get_property (GObject * object,
                                           guint property_id,
                                           GValue * value,
                                           GParamSpec * pspec);
static void _vala_pamac_transaction_set_property (GObject * object,
                                           guint property_id,
                                           const GValue * value,
                                           GParamSpec * pspec);
static void _vala_array_destroy (gpointer array,
                          gssize array_length,
                          GDestroyNotify destroy_func);
static void _vala_array_free (gpointer array,
                       gssize array_length,
                       GDestroyNotify destroy_func);
static gssize _vala_array_length (gpointer array);

static GRegex* _tmp_regex_0 = NULL;

static inline gpointer
pamac_transaction_get_instance_private (PamacTransaction* self)
{
	return G_STRUCT_MEMBER_P (self, PamacTransaction_private_offset);
}

static void
_g_free0_ (gpointer var)
{
	var = (g_free (var), NULL);
}

static inline void
_g_queue_free__g_free0_ (GQueue* self)
{
	g_queue_free_full (self, (GDestroyNotify) _g_free0_);
}

PamacTransaction*
pamac_transaction_construct (GType object_type,
                             PamacDatabase* database)
{
	PamacTransaction * self = NULL;
	g_return_val_if_fail (database != NULL, NULL);
	self = (PamacTransaction*) g_object_new (object_type, "database", database, NULL);
	return self;
}

PamacTransaction*
pamac_transaction_new (PamacDatabase* database)
{
	return pamac_transaction_construct (PAMAC_TYPE_TRANSACTION, database);
}

void
pamac_transaction_quit_daemon (PamacTransaction* self)
{
	GError* _inner_error0_ = NULL;
	g_return_if_fail (self != NULL);
	{
		PamacTransactionInterface* _tmp0_;
		_tmp0_ = self->priv->transaction_interface;
		pamac_transaction_interface_quit_daemon (_tmp0_, &_inner_error0_);
		if (G_UNLIKELY (_inner_error0_ != NULL)) {
			goto __catch0_g_error;
		}
	}
	goto __finally0;
	__catch0_g_error:
	{
		GError* e = NULL;
		GPtrArray* details = NULL;
		GPtrArray* _tmp1_;
		GPtrArray* _tmp2_;
		GError* _tmp3_;
		const gchar* _tmp4_;
		gchar* _tmp5_;
		GPtrArray* _tmp6_;
		e = _inner_error0_;
		_inner_error0_ = NULL;
		_tmp1_ = g_ptr_array_new_full ((guint) 1, _g_free0_);
		details = _tmp1_;
		_tmp2_ = details;
		_tmp3_ = e;
		_tmp4_ = _tmp3_->message;
		_tmp5_ = g_strdup_printf ("quit_daemon: %s", _tmp4_);
		g_ptr_array_add (_tmp2_, _tmp5_);
		_tmp6_ = details;
		g_signal_emit (self, pamac_transaction_signals[PAMAC_TRANSACTION_EMIT_ERROR_SIGNAL], 0, "Daemon Error", _tmp6_);
		_g_ptr_array_unref0 (details);
		_g_error_free0 (e);
	}
	__finally0:
	if (G_UNLIKELY (_inner_error0_ != NULL)) {
		g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error0_->message, g_quark_to_string (_inner_error0_->domain), _inner_error0_->code);
		g_clear_error (&_inner_error0_);
		return;
	}
}

static void
pamac_transaction_real_ask_commit_data_free (gpointer _data)
{
	PamacTransactionAskCommitData* _data_;
	_data_ = _data;
	_g_object_unref0 (_data_->summary);
	_g_object_unref0 (_data_->self);
	g_slice_free (PamacTransactionAskCommitData, _data_);
}

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

static void
pamac_transaction_real_ask_commit (PamacTransaction* self,
                                   PamacTransactionSummary* summary,
                                   GAsyncReadyCallback _callback_,
                                   gpointer _user_data_)
{
	PamacTransactionAskCommitData* _data_;
	PamacTransaction* _tmp0_;
	PamacTransactionSummary* _tmp1_;
	g_return_if_fail (summary != NULL);
	_data_ = g_slice_new0 (PamacTransactionAskCommitData);
	_data_->_async_result = g_task_new (G_OBJECT (self), NULL, _callback_, _user_data_);
	g_task_set_task_data (_data_->_async_result, _data_, pamac_transaction_real_ask_commit_data_free);
	_tmp0_ = _g_object_ref0 (self);
	_data_->self = _tmp0_;
	_tmp1_ = _g_object_ref0 (summary);
	_g_object_unref0 (_data_->summary);
	_data_->summary = _tmp1_;
	pamac_transaction_real_ask_commit_co (_data_);
}

static gboolean
pamac_transaction_real_ask_commit_finish (PamacTransaction* self,
                                          GAsyncResult* _res_)
{
	gboolean result;
	PamacTransactionAskCommitData* _data_;
	_data_ = g_task_propagate_pointer (G_TASK (_res_), NULL);
	result = _data_->result;
	return result;
}

static gboolean
pamac_transaction_real_ask_commit_co (PamacTransactionAskCommitData* _data_)
{
	switch (_data_->_state_) {
		case 0:
		goto _state_0;
		default:
		g_assert_not_reached ();
	}
	_state_0:
	_data_->result = TRUE;
	g_task_return_pointer (_data_->_async_result, _data_, NULL);
	if (_data_->_state_ != 0) {
		while (!g_task_get_completed (_data_->_async_result)) {
			g_main_context_iteration (g_task_get_context (_data_->_async_result), TRUE);
		}
	}
	g_object_unref (_data_->_async_result);
	return FALSE;
}

void
pamac_transaction_ask_commit (PamacTransaction* self,
                              PamacTransactionSummary* summary,
                              GAsyncReadyCallback _callback_,
                              gpointer _user_data_)
{
	PamacTransactionClass* _klass_;
	_klass_ = PAMAC_TRANSACTION_GET_CLASS (self);
	if (_klass_->ask_commit) {
		_klass_->ask_commit (self, summary, _callback_, _user_data_);
	}
}

gboolean
pamac_transaction_ask_commit_finish (PamacTransaction* self,
                                     GAsyncResult* _res_)
{
	PamacTransactionClass* _klass_;
	_klass_ = PAMAC_TRANSACTION_GET_CLASS (self);
	if (_klass_->ask_commit_finish) {
		return _klass_->ask_commit_finish (self, _res_);
	}
	return FALSE;
}

static void
pamac_transaction_real_ask_edit_build_files_data_free (gpointer _data)
{
	PamacTransactionAskEditBuildFilesData* _data_;
	_data_ = _data;
	_g_object_unref0 (_data_->summary);
	_g_object_unref0 (_data_->self);
	g_slice_free (PamacTransactionAskEditBuildFilesData, _data_);
}

static void
pamac_transaction_real_ask_edit_build_files (PamacTransaction* self,
                                             PamacTransactionSummary* summary,
                                             GAsyncReadyCallback _callback_,
                                             gpointer _user_data_)
{
	PamacTransactionAskEditBuildFilesData* _data_;
	PamacTransaction* _tmp0_;
	PamacTransactionSummary* _tmp1_;
	g_return_if_fail (summary != NULL);
	_data_ = g_slice_new0 (PamacTransactionAskEditBuildFilesData);
	_data_->_async_result = g_task_new (G_OBJECT (self), NULL, _callback_, _user_data_);
	g_task_set_task_data (_data_->_async_result, _data_, pamac_transaction_real_ask_edit_build_files_data_free);
	_tmp0_ = _g_object_ref0 (self);
	_data_->self = _tmp0_;
	_tmp1_ = _g_object_ref0 (summary);
	_g_object_unref0 (_data_->summary);
	_data_->summary = _tmp1_;
	pamac_transaction_real_ask_edit_build_files_co (_data_);
}

static gboolean
pamac_transaction_real_ask_edit_build_files_finish (PamacTransaction* self,
                                                    GAsyncResult* _res_)
{
	gboolean result;
	PamacTransactionAskEditBuildFilesData* _data_;
	_data_ = g_task_propagate_pointer (G_TASK (_res_), NULL);
	result = _data_->result;
	return result;
}

static gboolean
pamac_transaction_real_ask_edit_build_files_co (PamacTransactionAskEditBuildFilesData* _data_)
{
	switch (_data_->_state_) {
		case 0:
		goto _state_0;
		default:
		g_assert_not_reached ();
	}
	_state_0:
	_data_->result = FALSE;
	g_task_return_pointer (_data_->_async_result, _data_, NULL);
	if (_data_->_state_ != 0) {
		while (!g_task_get_completed (_data_->_async_result)) {
			g_main_context_iteration (g_task_get_context (_data_->_async_result), TRUE);
		}
	}
	g_object_unref (_data_->_async_result);
	return FALSE;
}

void
pamac_transaction_ask_edit_build_files (PamacTransaction* self,
                                        PamacTransactionSummary* summary,
                                        GAsyncReadyCallback _callback_,
                                        gpointer _user_data_)
{
	PamacTransactionClass* _klass_;
	_klass_ = PAMAC_TRANSACTION_GET_CLASS (self);
	if (_klass_->ask_edit_build_files) {
		_klass_->ask_edit_build_files (self, summary, _callback_, _user_data_);
	}
}

gboolean
pamac_transaction_ask_edit_build_files_finish (PamacTransaction* self,
                                               GAsyncResult* _res_)
{
	PamacTransactionClass* _klass_;
	_klass_ = PAMAC_TRANSACTION_GET_CLASS (self);
	if (_klass_->ask_edit_build_files_finish) {
		return _klass_->ask_edit_build_files_finish (self, _res_);
	}
	return FALSE;
}

static void
pamac_transaction_real_edit_build_files_data_free (gpointer _data)
{
	PamacTransactionEditBuildFilesData* _data_;
	_data_ = _data;
	_g_ptr_array_unref0 (_data_->pkgnames);
	_g_object_unref0 (_data_->self);
	g_slice_free (PamacTransactionEditBuildFilesData, _data_);
}

static gpointer
_g_ptr_array_ref0 (gpointer self)
{
	return self ? g_ptr_array_ref (self) : NULL;
}

static void
pamac_transaction_real_edit_build_files (PamacTransaction* self,
                                         GPtrArray* pkgnames,
                                         GAsyncReadyCallback _callback_,
                                         gpointer _user_data_)
{
	PamacTransactionEditBuildFilesData* _data_;
	PamacTransaction* _tmp0_;
	GPtrArray* _tmp1_;
	g_return_if_fail (pkgnames != NULL);
	_data_ = g_slice_new0 (PamacTransactionEditBuildFilesData);
	_data_->_async_result = g_task_new (G_OBJECT (self), NULL, _callback_, _user_data_);
	g_task_set_task_data (_data_->_async_result, _data_, pamac_transaction_real_edit_build_files_data_free);
	_tmp0_ = _g_object_ref0 (self);
	_data_->self = _tmp0_;
	_tmp1_ = _g_ptr_array_ref0 (pkgnames);
	_g_ptr_array_unref0 (_data_->pkgnames);
	_data_->pkgnames = _tmp1_;
	pamac_transaction_real_edit_build_files_co (_data_);
}

static void
pamac_transaction_real_edit_build_files_finish (PamacTransaction* self,
                                                GAsyncResult* _res_)
{
	PamacTransactionEditBuildFilesData* _data_;
	_data_ = g_task_propagate_pointer (G_TASK (_res_), NULL);
}

static gboolean
pamac_transaction_real_edit_build_files_co (PamacTransactionEditBuildFilesData* _data_)
{
	switch (_data_->_state_) {
		case 0:
		goto _state_0;
		default:
		g_assert_not_reached ();
	}
	_state_0:
	g_task_return_pointer (_data_->_async_result, _data_, NULL);
	if (_data_->_state_ != 0) {
		while (!g_task_get_completed (_data_->_async_result)) {
			g_main_context_iteration (g_task_get_context (_data_->_async_result), TRUE);
		}
	}
	g_object_unref (_data_->_async_result);
	return FALSE;
}

void
pamac_transaction_edit_build_files (PamacTransaction* self,
                                    GPtrArray* pkgnames,
                                    GAsyncReadyCallback _callback_,
                                    gpointer _user_data_)
{
	PamacTransactionClass* _klass_;
	_klass_ = PAMAC_TRANSACTION_GET_CLASS (self);
	if (_klass_->edit_build_files) {
		_klass_->edit_build_files (self, pkgnames, _callback_, _user_data_);
	}
}

void
pamac_transaction_edit_build_files_finish (PamacTransaction* self,
                                           GAsyncResult* _res_)
{
	PamacTransactionClass* _klass_;
	_klass_ = PAMAC_TRANSACTION_GET_CLASS (self);
	if (_klass_->edit_build_files_finish) {
		_klass_->edit_build_files_finish (self, _res_);
	}
}

static void
pamac_transaction_real_ask_import_key_data_free (gpointer _data)
{
	PamacTransactionAskImportKeyData* _data_;
	_data_ = _data;
	_g_free0 (_data_->pkgname);
	_g_free0 (_data_->key);
	_g_free0 (_data_->owner);
	_g_object_unref0 (_data_->self);
	g_slice_free (PamacTransactionAskImportKeyData, _data_);
}

static void
pamac_transaction_real_ask_import_key (PamacTransaction* self,
                                       const gchar* pkgname,
                                       const gchar* key,
                                       const gchar* owner,
                                       GAsyncReadyCallback _callback_,
                                       gpointer _user_data_)
{
	PamacTransactionAskImportKeyData* _data_;
	PamacTransaction* _tmp0_;
	gchar* _tmp1_;
	gchar* _tmp2_;
	gchar* _tmp3_;
	g_return_if_fail (pkgname != NULL);
	g_return_if_fail (key != NULL);
	_data_ = g_slice_new0 (PamacTransactionAskImportKeyData);
	_data_->_async_result = g_task_new (G_OBJECT (self), NULL, _callback_, _user_data_);
	g_task_set_task_data (_data_->_async_result, _data_, pamac_transaction_real_ask_import_key_data_free);
	_tmp0_ = _g_object_ref0 (self);
	_data_->self = _tmp0_;
	_tmp1_ = g_strdup (pkgname);
	_g_free0 (_data_->pkgname);
	_data_->pkgname = _tmp1_;
	_tmp2_ = g_strdup (key);
	_g_free0 (_data_->key);
	_data_->key = _tmp2_;
	_tmp3_ = g_strdup (owner);
	_g_free0 (_data_->owner);
	_data_->owner = _tmp3_;
	pamac_transaction_real_ask_import_key_co (_data_);
}

static gboolean
pamac_transaction_real_ask_import_key_finish (PamacTransaction* self,
                                              GAsyncResult* _res_)
{
	gboolean result;
	PamacTransactionAskImportKeyData* _data_;
	_data_ = g_task_propagate_pointer (G_TASK (_res_), NULL);
	result = _data_->result;
	return result;
}

static gboolean
pamac_transaction_real_ask_import_key_co (PamacTransactionAskImportKeyData* _data_)
{
	switch (_data_->_state_) {
		case 0:
		goto _state_0;
		default:
		g_assert_not_reached ();
	}
	_state_0:
	_data_->result = FALSE;
	g_task_return_pointer (_data_->_async_result, _data_, NULL);
	if (_data_->_state_ != 0) {
		while (!g_task_get_completed (_data_->_async_result)) {
			g_main_context_iteration (g_task_get_context (_data_->_async_result), TRUE);
		}
	}
	g_object_unref (_data_->_async_result);
	return FALSE;
}

void
pamac_transaction_ask_import_key (PamacTransaction* self,
                                  const gchar* pkgname,
                                  const gchar* key,
                                  const gchar* owner,
                                  GAsyncReadyCallback _callback_,
                                  gpointer _user_data_)
{
	PamacTransactionClass* _klass_;
	_klass_ = PAMAC_TRANSACTION_GET_CLASS (self);
	if (_klass_->ask_import_key) {
		_klass_->ask_import_key (self, pkgname, key, owner, _callback_, _user_data_);
	}
}

gboolean
pamac_transaction_ask_import_key_finish (PamacTransaction* self,
                                         GAsyncResult* _res_)
{
	PamacTransactionClass* _klass_;
	_klass_ = PAMAC_TRANSACTION_GET_CLASS (self);
	if (_klass_->ask_import_key_finish) {
		return _klass_->ask_import_key_finish (self, _res_);
	}
	return FALSE;
}

static void
pamac_transaction_get_build_files_async_data_free (gpointer _data)
{
	PamacTransactionGetBuildFilesAsyncData* _data_;
	_data_ = _data;
	_g_free0 (_data_->pkgname);
	_g_ptr_array_unref0 (_data_->result);
	_g_object_unref0 (_data_->self);
	g_slice_free (PamacTransactionGetBuildFilesAsyncData, _data_);
}

void
pamac_transaction_get_build_files_async (PamacTransaction* self,
                                         const gchar* pkgname,
                                         GAsyncReadyCallback _callback_,
                                         gpointer _user_data_)
{
	PamacTransactionGetBuildFilesAsyncData* _data_;
	PamacTransaction* _tmp0_;
	gchar* _tmp1_;
	g_return_if_fail (self != NULL);
	g_return_if_fail (pkgname != NULL);
	_data_ = g_slice_new0 (PamacTransactionGetBuildFilesAsyncData);
	_data_->_async_result = g_task_new (G_OBJECT (self), NULL, _callback_, _user_data_);
	g_task_set_task_data (_data_->_async_result, _data_, pamac_transaction_get_build_files_async_data_free);
	_tmp0_ = _g_object_ref0 (self);
	_data_->self = _tmp0_;
	_tmp1_ = g_strdup (pkgname);
	_g_free0 (_data_->pkgname);
	_data_->pkgname = _tmp1_;
	pamac_transaction_get_build_files_async_co (_data_);
}

GPtrArray*
pamac_transaction_get_build_files_finish (PamacTransaction* self,
                                          GAsyncResult* _res_)
{
	GPtrArray* result;
	PamacTransactionGetBuildFilesAsyncData* _data_;
	_data_ = g_task_propagate_pointer (G_TASK (_res_), NULL);
	result = _data_->result;
	_data_->result = NULL;
	return result;
}

static void
pamac_transaction_get_build_files_async_ready (GObject* source_object,
                                               GAsyncResult* _res_,
                                               gpointer _user_data_)
{
	PamacTransactionGetBuildFilesAsyncData* _data_;
	_data_ = _user_data_;
	_data_->_source_object_ = source_object;
	_data_->_res_ = _res_;
	pamac_transaction_get_build_files_async_co (_data_);
}

static gboolean
string_contains (const gchar* self,
                 const gchar* needle)
{
	gchar* _tmp0_;
	gboolean result;
	g_return_val_if_fail (self != NULL, FALSE);
	g_return_val_if_fail (needle != NULL, FALSE);
	_tmp0_ = strstr ((gchar*) self, (gchar*) needle);
	result = _tmp0_ != NULL;
	return result;
}

static gboolean
pamac_transaction_get_build_files_async_co (PamacTransactionGetBuildFilesAsyncData* _data_)
{
	switch (_data_->_state_) {
		case 0:
		goto _state_0;
		case 1:
		goto _state_1;
		case 2:
		goto _state_2;
		default:
		g_assert_not_reached ();
	}
	_state_0:
	_data_->_tmp0_ = _data_->self->priv->config;
	_data_->_tmp1_ = pamac_config_get_support_aur (_data_->_tmp0_);
	_data_->_tmp2_ = _data_->_tmp1_;
	if (!_data_->_tmp2_) {
		_data_->_tmp3_ = g_ptr_array_new_full ((guint) 0, _g_free0_);
		_data_->result = _data_->_tmp3_;
		g_task_return_pointer (_data_->_async_result, _data_, NULL);
		if (_data_->_state_ != 0) {
			while (!g_task_get_completed (_data_->_async_result)) {
				g_main_context_iteration (g_task_get_context (_data_->_async_result), TRUE);
			}
		}
		g_object_unref (_data_->_async_result);
		return FALSE;
	}
	_data_->_tmp4_ = _data_->self->priv->_database;
	_data_->_tmp5_ = pamac_database_get_real_aur_build_dir (_data_->_tmp4_);
	_data_->real_aur_build_dir = _data_->_tmp5_;
	_data_->_tmp6_ = _data_->real_aur_build_dir;
	_data_->_tmp7_ = g_build_filename (_data_->_tmp6_, _data_->pkgname, NULL);
	_data_->pkgdir_name = _data_->_tmp7_;
	_data_->_tmp8_ = g_ptr_array_new_full ((guint) 0, _g_free0_);
	_data_->files = _data_->_tmp8_;
	_data_->_tmp9_ = _data_->files;
	_data_->_tmp10_ = _data_->pkgdir_name;
	_data_->_tmp11_ = g_build_filename (_data_->_tmp10_, "PKGBUILD", NULL);
	g_ptr_array_add (_data_->_tmp9_, _data_->_tmp11_);
	_data_->_tmp12_ = _data_->pkgdir_name;
	_data_->_tmp13_ = g_build_filename (_data_->_tmp12_, ".SRCINFO", NULL);
	_data_->_tmp14_ = _data_->_tmp13_;
	_data_->_tmp15_ = g_file_new_for_path (_data_->_tmp14_);
	_data_->_tmp16_ = _data_->_tmp15_;
	_g_free0 (_data_->_tmp14_);
	_data_->srcinfo = _data_->_tmp16_;
	{
		_data_->_tmp18_ = _data_->srcinfo;
		_data_->_state_ = 1;
		g_file_read_async (_data_->_tmp18_, G_PRIORITY_DEFAULT, NULL, pamac_transaction_get_build_files_async_ready, _data_);
		return FALSE;
		_state_1:
		_data_->_tmp19_ = g_file_read_finish (_data_->_tmp18_, _data_->_res_, &_data_->_inner_error0_);
		_data_->_tmp17_ = _data_->_tmp19_;
		if (G_UNLIKELY (_data_->_inner_error0_ != NULL)) {
			goto __catch0_g_error;
		}
		_data_->_tmp20_ = g_data_input_stream_new ((GInputStream*) _data_->_tmp17_);
		_data_->dis = _data_->_tmp20_;
		while (TRUE) {
			_data_->_tmp22_ = _data_->dis;
			_data_->_state_ = 2;
			g_data_input_stream_read_line_async (_data_->_tmp22_, G_PRIORITY_DEFAULT, NULL, pamac_transaction_get_build_files_async_ready, _data_);
			return FALSE;
			_state_2:
			_data_->_tmp23_ = g_data_input_stream_read_line_finish (_data_->_tmp22_, _data_->_res_, NULL, &_data_->_inner_error0_);
			_data_->_tmp21_ = _data_->_tmp23_;
			if (G_UNLIKELY (_data_->_inner_error0_ != NULL)) {
				_g_free0 (_data_->line);
				_g_object_unref0 (_data_->dis);
				_g_object_unref0 (_data_->_tmp17_);
				goto __catch0_g_error;
			}
			_data_->_tmp24_ = _data_->_tmp21_;
			_data_->_tmp21_ = NULL;
			_g_free0 (_data_->line);
			_data_->line = _data_->_tmp24_;
			_data_->_tmp25_ = _data_->line;
			if (!(_data_->_tmp25_ != NULL)) {
				_g_free0 (_data_->_tmp21_);
				break;
			}
			_data_->_tmp26_ = _data_->line;
			if (string_contains (_data_->_tmp26_, "source = ")) {
				_data_->_tmp27_ = _data_->line;
				_data_->_tmp29_ = _data_->_tmp28_ = g_strsplit (_data_->_tmp27_, " = ", 2);
				_data_->_tmp30_ = _data_->_tmp29_;
				_data_->_tmp30__length1 = _vala_array_length (_data_->_tmp28_);
				_data_->_tmp31_ = _data_->_tmp30_[1];
				_data_->_tmp32_ = g_strdup (_data_->_tmp31_);
				_data_->_tmp33_ = _data_->_tmp32_;
				_data_->_tmp30_ = (_vala_array_free (_data_->_tmp30_, _data_->_tmp30__length1, (GDestroyNotify) g_free), NULL);
				_data_->source = _data_->_tmp33_;
				_data_->_tmp34_ = _data_->source;
				if (!string_contains (_data_->_tmp34_, "://")) {
					_data_->_tmp35_ = _data_->pkgdir_name;
					_data_->_tmp36_ = _data_->source;
					_data_->_tmp37_ = g_build_filename (_data_->_tmp35_, _data_->_tmp36_, NULL);
					_data_->source_path = _data_->_tmp37_;
					_data_->_tmp38_ = _data_->source_path;
					_data_->_tmp39_ = g_file_new_for_path (_data_->_tmp38_);
					_data_->source_file = _data_->_tmp39_;
					_data_->_tmp40_ = _data_->source_file;
					if (g_file_query_exists (_data_->_tmp40_, NULL)) {
						_data_->_tmp41_ = _data_->files;
						_data_->_tmp42_ = _data_->source_path;
						_data_->source_path = NULL;
						g_ptr_array_add (_data_->_tmp41_, _data_->_tmp42_);
					}
					_g_object_unref0 (_data_->source_file);
					_g_free0 (_data_->source_path);
				}
				_g_free0 (_data_->source);
			} else {
				_data_->_tmp43_ = _data_->line;
				if (string_contains (_data_->_tmp43_, "install = ")) {
					_data_->_tmp44_ = _data_->line;
					_data_->_tmp46_ = _data_->_tmp45_ = g_strsplit (_data_->_tmp44_, " = ", 2);
					_data_->_tmp47_ = _data_->_tmp46_;
					_data_->_tmp47__length1 = _vala_array_length (_data_->_tmp45_);
					_data_->_tmp48_ = _data_->_tmp47_[1];
					_data_->_tmp49_ = g_strdup (_data_->_tmp48_);
					_data_->_tmp50_ = _data_->_tmp49_;
					_data_->_tmp47_ = (_vala_array_free (_data_->_tmp47_, _data_->_tmp47__length1, (GDestroyNotify) g_free), NULL);
					_data_->install = _data_->_tmp50_;
					_data_->_tmp51_ = _data_->pkgdir_name;
					_data_->_tmp52_ = _data_->install;
					_data_->_tmp53_ = g_build_filename (_data_->_tmp51_, _data_->_tmp52_, NULL);
					_data_->install_path = _data_->_tmp53_;
					_data_->_tmp54_ = _data_->install_path;
					_data_->_tmp55_ = g_file_new_for_path (_data_->_tmp54_);
					_data_->install_file = _data_->_tmp55_;
					_data_->_tmp56_ = _data_->install_file;
					if (g_file_query_exists (_data_->_tmp56_, NULL)) {
						_data_->_tmp57_ = _data_->files;
						_data_->_tmp58_ = _data_->install_path;
						_data_->install_path = NULL;
						g_ptr_array_add (_data_->_tmp57_, _data_->_tmp58_);
					}
					_g_object_unref0 (_data_->install_file);
					_g_free0 (_data_->install_path);
					_g_free0 (_data_->install);
				}
			}
			_g_free0 (_data_->_tmp21_);
		}
		_g_free0 (_data_->line);
		_g_object_unref0 (_data_->dis);
		_g_object_unref0 (_data_->_tmp17_);
	}
	goto __finally0;
	__catch0_g_error:
	{
		_data_->e = _data_->_inner_error0_;
		_data_->_inner_error0_ = NULL;
		_data_->_tmp59_ = _data_->e;
		_data_->_tmp60_ = _data_->_tmp59_->message;
		g_warning ("transaction.vala:268: %s", _data_->_tmp60_);
		_g_error_free0 (_data_->e);
	}
	__finally0:
	if (G_UNLIKELY (_data_->_inner_error0_ != NULL)) {
		_g_object_unref0 (_data_->srcinfo);
		_g_ptr_array_unref0 (_data_->files);
		_g_free0 (_data_->pkgdir_name);
		g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _data_->_inner_error0_->message, g_quark_to_string (_data_->_inner_error0_->domain), _data_->_inner_error0_->code);
		g_clear_error (&_data_->_inner_error0_);
		g_object_unref (_data_->_async_result);
		return FALSE;
	}
	_data_->result = _data_->files;
	_g_object_unref0 (_data_->srcinfo);
	_g_free0 (_data_->pkgdir_name);
	g_task_return_pointer (_data_->_async_result, _data_, NULL);
	if (_data_->_state_ != 0) {
		while (!g_task_get_completed (_data_->_async_result)) {
			g_main_context_iteration (g_task_get_context (_data_->_async_result), TRUE);
		}
	}
	g_object_unref (_data_->_async_result);
	return FALSE;
}

static void
pamac_transaction_real_choose_optdeps_data_free (gpointer _data)
{
	PamacTransactionChooseOptdepsData* _data_;
	_data_ = _data;
	_g_free0 (_data_->pkgname);
	_g_ptr_array_unref0 (_data_->optdeps);
	_g_ptr_array_unref0 (_data_->result);
	_g_object_unref0 (_data_->self);
	g_slice_free (PamacTransactionChooseOptdepsData, _data_);
}

static void
pamac_transaction_real_choose_optdeps (PamacTransaction* self,
                                       const gchar* pkgname,
                                       GPtrArray* optdeps,
                                       GAsyncReadyCallback _callback_,
                                       gpointer _user_data_)
{
	PamacTransactionChooseOptdepsData* _data_;
	PamacTransaction* _tmp0_;
	gchar* _tmp1_;
	GPtrArray* _tmp2_;
	g_return_if_fail (pkgname != NULL);
	g_return_if_fail (optdeps != NULL);
	_data_ = g_slice_new0 (PamacTransactionChooseOptdepsData);
	_data_->_async_result = g_task_new (G_OBJECT (self), NULL, _callback_, _user_data_);
	g_task_set_task_data (_data_->_async_result, _data_, pamac_transaction_real_choose_optdeps_data_free);
	_tmp0_ = _g_object_ref0 (self);
	_data_->self = _tmp0_;
	_tmp1_ = g_strdup (pkgname);
	_g_free0 (_data_->pkgname);
	_data_->pkgname = _tmp1_;
	_tmp2_ = _g_ptr_array_ref0 (optdeps);
	_g_ptr_array_unref0 (_data_->optdeps);
	_data_->optdeps = _tmp2_;
	pamac_transaction_real_choose_optdeps_co (_data_);
}

static GPtrArray*
pamac_transaction_real_choose_optdeps_finish (PamacTransaction* self,
                                              GAsyncResult* _res_)
{
	GPtrArray* result;
	PamacTransactionChooseOptdepsData* _data_;
	_data_ = g_task_propagate_pointer (G_TASK (_res_), NULL);
	result = _data_->result;
	_data_->result = NULL;
	return result;
}

static gboolean
pamac_transaction_real_choose_optdeps_co (PamacTransactionChooseOptdepsData* _data_)
{
	switch (_data_->_state_) {
		case 0:
		goto _state_0;
		default:
		g_assert_not_reached ();
	}
	_state_0:
	_data_->_tmp0_ = g_ptr_array_new_full ((guint) 0, _g_free0_);
	_data_->result = _data_->_tmp0_;
	g_task_return_pointer (_data_->_async_result, _data_, NULL);
	if (_data_->_state_ != 0) {
		while (!g_task_get_completed (_data_->_async_result)) {
			g_main_context_iteration (g_task_get_context (_data_->_async_result), TRUE);
		}
	}
	g_object_unref (_data_->_async_result);
	return FALSE;
}

void
pamac_transaction_choose_optdeps (PamacTransaction* self,
                                  const gchar* pkgname,
                                  GPtrArray* optdeps,
                                  GAsyncReadyCallback _callback_,
                                  gpointer _user_data_)
{
	PamacTransactionClass* _klass_;
	_klass_ = PAMAC_TRANSACTION_GET_CLASS (self);
	if (_klass_->choose_optdeps) {
		_klass_->choose_optdeps (self, pkgname, optdeps, _callback_, _user_data_);
	}
}

GPtrArray*
pamac_transaction_choose_optdeps_finish (PamacTransaction* self,
                                         GAsyncResult* _res_)
{
	PamacTransactionClass* _klass_;
	_klass_ = PAMAC_TRANSACTION_GET_CLASS (self);
	if (_klass_->choose_optdeps_finish) {
		return _klass_->choose_optdeps_finish (self, _res_);
	}
	return NULL;
}

static void
pamac_transaction_real_choose_provider_data_free (gpointer _data)
{
	PamacTransactionChooseProviderData* _data_;
	_data_ = _data;
	_g_free0 (_data_->depend);
	_g_ptr_array_unref0 (_data_->providers);
	_g_object_unref0 (_data_->self);
	g_slice_free (PamacTransactionChooseProviderData, _data_);
}

static void
pamac_transaction_real_choose_provider (PamacTransaction* self,
                                        const gchar* depend,
                                        GPtrArray* providers,
                                        GAsyncReadyCallback _callback_,
                                        gpointer _user_data_)
{
	PamacTransactionChooseProviderData* _data_;
	PamacTransaction* _tmp0_;
	gchar* _tmp1_;
	GPtrArray* _tmp2_;
	g_return_if_fail (depend != NULL);
	g_return_if_fail (providers != NULL);
	_data_ = g_slice_new0 (PamacTransactionChooseProviderData);
	_data_->_async_result = g_task_new (G_OBJECT (self), NULL, _callback_, _user_data_);
	g_task_set_task_data (_data_->_async_result, _data_, pamac_transaction_real_choose_provider_data_free);
	_tmp0_ = _g_object_ref0 (self);
	_data_->self = _tmp0_;
	_tmp1_ = g_strdup (depend);
	_g_free0 (_data_->depend);
	_data_->depend = _tmp1_;
	_tmp2_ = _g_ptr_array_ref0 (providers);
	_g_ptr_array_unref0 (_data_->providers);
	_data_->providers = _tmp2_;
	pamac_transaction_real_choose_provider_co (_data_);
}

static gint
pamac_transaction_real_choose_provider_finish (PamacTransaction* self,
                                               GAsyncResult* _res_)
{
	gint result;
	PamacTransactionChooseProviderData* _data_;
	_data_ = g_task_propagate_pointer (G_TASK (_res_), NULL);
	result = _data_->result;
	return result;
}

static gboolean
pamac_transaction_real_choose_provider_co (PamacTransactionChooseProviderData* _data_)
{
	switch (_data_->_state_) {
		case 0:
		goto _state_0;
		default:
		g_assert_not_reached ();
	}
	_state_0:
	_data_->result = 0;
	g_task_return_pointer (_data_->_async_result, _data_, NULL);
	if (_data_->_state_ != 0) {
		while (!g_task_get_completed (_data_->_async_result)) {
			g_main_context_iteration (g_task_get_context (_data_->_async_result), TRUE);
		}
	}
	g_object_unref (_data_->_async_result);
	return FALSE;
}

void
pamac_transaction_choose_provider (PamacTransaction* self,
                                   const gchar* depend,
                                   GPtrArray* providers,
                                   GAsyncReadyCallback _callback_,
                                   gpointer _user_data_)
{
	PamacTransactionClass* _klass_;
	_klass_ = PAMAC_TRANSACTION_GET_CLASS (self);
	if (_klass_->choose_provider) {
		_klass_->choose_provider (self, depend, providers, _callback_, _user_data_);
	}
}

gint
pamac_transaction_choose_provider_finish (PamacTransaction* self,
                                          GAsyncResult* _res_)
{
	PamacTransactionClass* _klass_;
	_klass_ = PAMAC_TRANSACTION_GET_CLASS (self);
	if (_klass_->choose_provider_finish) {
		return _klass_->choose_provider_finish (self, _res_);
	}
	return -1;
}

static void
pamac_transaction_real_ask_snap_install_classic_data_free (gpointer _data)
{
	PamacTransactionAskSnapInstallClassicData* _data_;
	_data_ = _data;
	_g_free0 (_data_->name);
	_g_object_unref0 (_data_->self);
	g_slice_free (PamacTransactionAskSnapInstallClassicData, _data_);
}

static void
pamac_transaction_real_ask_snap_install_classic (PamacTransaction* self,
                                                 const gchar* name,
                                                 GAsyncReadyCallback _callback_,
                                                 gpointer _user_data_)
{
	PamacTransactionAskSnapInstallClassicData* _data_;
	PamacTransaction* _tmp0_;
	gchar* _tmp1_;
	g_return_if_fail (name != NULL);
	_data_ = g_slice_new0 (PamacTransactionAskSnapInstallClassicData);
	_data_->_async_result = g_task_new (G_OBJECT (self), NULL, _callback_, _user_data_);
	g_task_set_task_data (_data_->_async_result, _data_, pamac_transaction_real_ask_snap_install_classic_data_free);
	_tmp0_ = _g_object_ref0 (self);
	_data_->self = _tmp0_;
	_tmp1_ = g_strdup (name);
	_g_free0 (_data_->name);
	_data_->name = _tmp1_;
	pamac_transaction_real_ask_snap_install_classic_co (_data_);
}

static gboolean
pamac_transaction_real_ask_snap_install_classic_finish (PamacTransaction* self,
                                                        GAsyncResult* _res_)
{
	gboolean result;
	PamacTransactionAskSnapInstallClassicData* _data_;
	_data_ = g_task_propagate_pointer (G_TASK (_res_), NULL);
	result = _data_->result;
	return result;
}

static gboolean
pamac_transaction_real_ask_snap_install_classic_co (PamacTransactionAskSnapInstallClassicData* _data_)
{
	switch (_data_->_state_) {
		case 0:
		goto _state_0;
		default:
		g_assert_not_reached ();
	}
	_state_0:
	_data_->result = FALSE;
	g_task_return_pointer (_data_->_async_result, _data_, NULL);
	if (_data_->_state_ != 0) {
		while (!g_task_get_completed (_data_->_async_result)) {
			g_main_context_iteration (g_task_get_context (_data_->_async_result), TRUE);
		}
	}
	g_object_unref (_data_->_async_result);
	return FALSE;
}

void
pamac_transaction_ask_snap_install_classic (PamacTransaction* self,
                                            const gchar* name,
                                            GAsyncReadyCallback _callback_,
                                            gpointer _user_data_)
{
	PamacTransactionClass* _klass_;
	_klass_ = PAMAC_TRANSACTION_GET_CLASS (self);
	if (_klass_->ask_snap_install_classic) {
		_klass_->ask_snap_install_classic (self, name, _callback_, _user_data_);
	}
}

gboolean
pamac_transaction_ask_snap_install_classic_finish (PamacTransaction* self,
                                                   GAsyncResult* _res_)
{
	PamacTransactionClass* _klass_;
	_klass_ = PAMAC_TRANSACTION_GET_CLASS (self);
	if (_klass_->ask_snap_install_classic_finish) {
		return _klass_->ask_snap_install_classic_finish (self, _res_);
	}
	return FALSE;
}

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

void
pamac_transaction_get_authorization_async (PamacTransaction* self,
                                           GAsyncReadyCallback _callback_,
                                           gpointer _user_data_)
{
	PamacTransactionGetAuthorizationAsyncData* _data_;
	PamacTransaction* _tmp0_;
	g_return_if_fail (self != NULL);
	_data_ = g_slice_new0 (PamacTransactionGetAuthorizationAsyncData);
	_data_->_async_result = g_task_new (G_OBJECT (self), NULL, _callback_, _user_data_);
	g_task_set_task_data (_data_->_async_result, _data_, pamac_transaction_get_authorization_async_data_free);
	_tmp0_ = _g_object_ref0 (self);
	_data_->self = _tmp0_;
	pamac_transaction_get_authorization_async_co (_data_);
}

gboolean
pamac_transaction_get_authorization_finish (PamacTransaction* self,
                                            GAsyncResult* _res_)
{
	gboolean result;
	PamacTransactionGetAuthorizationAsyncData* _data_;
	_data_ = g_task_propagate_pointer (G_TASK (_res_), NULL);
	result = _data_->result;
	return result;
}

static void
pamac_transaction_get_authorization_async_ready (GObject* source_object,
                                                 GAsyncResult* _res_,
                                                 gpointer _user_data_)
{
	PamacTransactionGetAuthorizationAsyncData* _data_;
	_data_ = _user_data_;
	_data_->_source_object_ = source_object;
	_data_->_res_ = _res_;
	pamac_transaction_get_authorization_async_co (_data_);
}

static gboolean
pamac_transaction_get_authorization_async_co (PamacTransactionGetAuthorizationAsyncData* _data_)
{
	switch (_data_->_state_) {
		case 0:
		goto _state_0;
		case 1:
		goto _state_1;
		default:
		g_assert_not_reached ();
	}
	_state_0:
	{
		_data_->_tmp1_ = _data_->self->priv->transaction_interface;
		_data_->_state_ = 1;
		pamac_transaction_interface_get_authorization (_data_->_tmp1_, pamac_transaction_get_authorization_async_ready, _data_);
		return FALSE;
		_state_1:
		_data_->_tmp0_ = pamac_transaction_interface_get_authorization_finish (_data_->_tmp1_, _data_->_res_, &_data_->_inner_error0_);
		if (G_UNLIKELY (_data_->_inner_error0_ != NULL)) {
			goto __catch0_g_error;
		}
		_data_->result = _data_->_tmp0_;
		g_task_return_pointer (_data_->_async_result, _data_, NULL);
		if (_data_->_state_ != 0) {
			while (!g_task_get_completed (_data_->_async_result)) {
				g_main_context_iteration (g_task_get_context (_data_->_async_result), TRUE);
			}
		}
		g_object_unref (_data_->_async_result);
		return FALSE;
	}
	goto __finally0;
	__catch0_g_error:
	{
		_data_->e = _data_->_inner_error0_;
		_data_->_inner_error0_ = NULL;
		_data_->_tmp2_ = g_ptr_array_new_full ((guint) 1, _g_free0_);
		_data_->details = _data_->_tmp2_;
		_data_->_tmp3_ = _data_->details;
		_data_->_tmp4_ = _data_->e;
		_data_->_tmp5_ = _data_->_tmp4_->message;
		_data_->_tmp6_ = g_strdup_printf ("get_authorization: %s", _data_->_tmp5_);
		g_ptr_array_add (_data_->_tmp3_, _data_->_tmp6_);
		_data_->_tmp7_ = _data_->details;
		g_signal_emit (_data_->self, pamac_transaction_signals[PAMAC_TRANSACTION_EMIT_ERROR_SIGNAL], 0, "Daemon Error", _data_->_tmp7_);
		_g_ptr_array_unref0 (_data_->details);
		_g_error_free0 (_data_->e);
	}
	__finally0:
	if (G_UNLIKELY (_data_->_inner_error0_ != NULL)) {
		g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _data_->_inner_error0_->message, g_quark_to_string (_data_->_inner_error0_->domain), _data_->_inner_error0_->code);
		g_clear_error (&_data_->_inner_error0_);
		g_object_unref (_data_->_async_result);
		return FALSE;
	}
	_data_->result = FALSE;
	g_task_return_pointer (_data_->_async_result, _data_, NULL);
	if (_data_->_state_ != 0) {
		while (!g_task_get_completed (_data_->_async_result)) {
			g_main_context_iteration (g_task_get_context (_data_->_async_result), TRUE);
		}
	}
	g_object_unref (_data_->_async_result);
	return FALSE;
}

void
pamac_transaction_remove_authorization (PamacTransaction* self)
{
	GError* _inner_error0_ = NULL;
	g_return_if_fail (self != NULL);
	{
		PamacTransactionInterface* _tmp0_;
		_tmp0_ = self->priv->transaction_interface;
		pamac_transaction_interface_remove_authorization (_tmp0_, &_inner_error0_);
		if (G_UNLIKELY (_inner_error0_ != NULL)) {
			goto __catch0_g_error;
		}
	}
	goto __finally0;
	__catch0_g_error:
	{
		GError* e = NULL;
		GPtrArray* details = NULL;
		GPtrArray* _tmp1_;
		GPtrArray* _tmp2_;
		GError* _tmp3_;
		const gchar* _tmp4_;
		gchar* _tmp5_;
		GPtrArray* _tmp6_;
		e = _inner_error0_;
		_inner_error0_ = NULL;
		_tmp1_ = g_ptr_array_new_full ((guint) 1, _g_free0_);
		details = _tmp1_;
		_tmp2_ = details;
		_tmp3_ = e;
		_tmp4_ = _tmp3_->message;
		_tmp5_ = g_strdup_printf ("remove_authorization: %s", _tmp4_);
		g_ptr_array_add (_tmp2_, _tmp5_);
		_tmp6_ = details;
		g_signal_emit (self, pamac_transaction_signals[PAMAC_TRANSACTION_EMIT_ERROR_SIGNAL], 0, "Daemon Error", _tmp6_);
		_g_ptr_array_unref0 (details);
		_g_error_free0 (e);
	}
	__finally0:
	if (G_UNLIKELY (_inner_error0_ != NULL)) {
		g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error0_->message, g_quark_to_string (_inner_error0_->domain), _inner_error0_->code);
		g_clear_error (&_inner_error0_);
		return;
	}
}

static void
pamac_transaction_generate_mirrors_list_async_data_free (gpointer _data)
{
	PamacTransactionGenerateMirrorsListAsyncData* _data_;
	_data_ = _data;
	_g_free0 (_data_->country);
	_g_object_unref0 (_data_->self);
	g_slice_free (PamacTransactionGenerateMirrorsListAsyncData, _data_);
}

void
pamac_transaction_generate_mirrors_list_async (PamacTransaction* self,
                                               const gchar* country,
                                               GAsyncReadyCallback _callback_,
                                               gpointer _user_data_)
{
	PamacTransactionGenerateMirrorsListAsyncData* _data_;
	PamacTransaction* _tmp0_;
	gchar* _tmp1_;
	g_return_if_fail (self != NULL);
	g_return_if_fail (country != NULL);
	_data_ = g_slice_new0 (PamacTransactionGenerateMirrorsListAsyncData);
	_data_->_async_result = g_task_new (G_OBJECT (self), NULL, _callback_, _user_data_);
	g_task_set_task_data (_data_->_async_result, _data_, pamac_transaction_generate_mirrors_list_async_data_free);
	_tmp0_ = _g_object_ref0 (self);
	_data_->self = _tmp0_;
	_tmp1_ = g_strdup (country);
	_g_free0 (_data_->country);
	_data_->country = _tmp1_;
	pamac_transaction_generate_mirrors_list_async_co (_data_);
}

void
pamac_transaction_generate_mirrors_list_finish (PamacTransaction* self,
                                                GAsyncResult* _res_)
{
	PamacTransactionGenerateMirrorsListAsyncData* _data_;
	_data_ = g_task_propagate_pointer (G_TASK (_res_), NULL);
}

static void
_pamac_transaction_on_generate_mirrors_list_data_pamac_transaction_interface_generate_mirrors_list_data (PamacTransactionInterface* _sender,
                                                                                                         const gchar* line,
                                                                                                         gpointer self)
{
	pamac_transaction_on_generate_mirrors_list_data ((PamacTransaction*) self, line);
}

static void
pamac_transaction_generate_mirrors_list_async_ready (GObject* source_object,
                                                     GAsyncResult* _res_,
                                                     gpointer _user_data_)
{
	PamacTransactionGenerateMirrorsListAsyncData* _data_;
	_data_ = _user_data_;
	_data_->_source_object_ = source_object;
	_data_->_res_ = _res_;
	pamac_transaction_generate_mirrors_list_async_co (_data_);
}

static gboolean
pamac_transaction_generate_mirrors_list_async_co (PamacTransactionGenerateMirrorsListAsyncData* _data_)
{
	switch (_data_->_state_) {
		case 0:
		goto _state_0;
		case 1:
		goto _state_1;
		default:
		g_assert_not_reached ();
	}
	_state_0:
	_data_->_tmp0_ = g_strconcat (g_dgettext (NULL, "Refreshing mirrors list"), "...", NULL);
	_data_->_tmp1_ = _data_->_tmp0_;
	g_signal_emit (_data_->self, pamac_transaction_signals[PAMAC_TRANSACTION_EMIT_ACTION_SIGNAL], 0, _data_->_tmp1_);
	_g_free0 (_data_->_tmp1_);
	g_signal_emit (_data_->self, pamac_transaction_signals[PAMAC_TRANSACTION_IMPORTANT_DETAILS_OUTPOUT_SIGNAL], 0, FALSE);
	_data_->_tmp2_ = _data_->self->priv->transaction_interface;
	g_signal_connect_object (_data_->_tmp2_, "generate-mirrors-list-data", (GCallback) _pamac_transaction_on_generate_mirrors_list_data_pamac_transaction_interface_generate_mirrors_list_data, _data_->self, 0);
	{
		_data_->_tmp3_ = _data_->self->priv->transaction_interface;
		_data_->_state_ = 1;
		pamac_transaction_interface_generate_mirrors_list (_data_->_tmp3_, _data_->country, pamac_transaction_generate_mirrors_list_async_ready, _data_);
		return FALSE;
		_state_1:
		pamac_transaction_interface_generate_mirrors_list_finish (_data_->_tmp3_, _data_->_res_, &_data_->_inner_error0_);
		if (G_UNLIKELY (_data_->_inner_error0_ != NULL)) {
			goto __catch0_g_error;
		}
	}
	goto __finally0;
	__catch0_g_error:
	{
		_data_->e = _data_->_inner_error0_;
		_data_->_inner_error0_ = NULL;
		_data_->_tmp4_ = g_ptr_array_new_full ((guint) 1, _g_free0_);
		_data_->details = _data_->_tmp4_;
		_data_->_tmp5_ = _data_->details;
		_data_->_tmp6_ = _data_->e;
		_data_->_tmp7_ = _data_->_tmp6_->message;
		_data_->_tmp8_ = g_strdup_printf ("generate_mirrors_list: %s", _data_->_tmp7_);
		g_ptr_array_add (_data_->_tmp5_, _data_->_tmp8_);
		_data_->_tmp9_ = _data_->details;
		g_signal_emit (_data_->self, pamac_transaction_signals[PAMAC_TRANSACTION_EMIT_ERROR_SIGNAL], 0, "Daemon Error", _data_->_tmp9_);
		_g_ptr_array_unref0 (_data_->details);
		_g_error_free0 (_data_->e);
	}
	__finally0:
	if (G_UNLIKELY (_data_->_inner_error0_ != NULL)) {
		g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _data_->_inner_error0_->message, g_quark_to_string (_data_->_inner_error0_->domain), _data_->_inner_error0_->code);
		g_clear_error (&_data_->_inner_error0_);
		g_object_unref (_data_->_async_result);
		return FALSE;
	}
	_data_->_tmp10_ = _data_->self->priv->transaction_interface;
	g_signal_parse_name ("generate-mirrors-list-data", PAMAC_TYPE_TRANSACTION_INTERFACE, &_data_->_tmp11_, NULL, FALSE);
	g_signal_handlers_disconnect_matched (_data_->_tmp10_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _data_->_tmp11_, 0, NULL, (GCallback) _pamac_transaction_on_generate_mirrors_list_data_pamac_transaction_interface_generate_mirrors_list_data, _data_->self);
	_data_->_tmp12_ = _data_->self->priv->_database;
	pamac_database_refresh (_data_->_tmp12_);
	g_task_return_pointer (_data_->_async_result, _data_, NULL);
	if (_data_->_state_ != 0) {
		while (!g_task_get_completed (_data_->_async_result)) {
			g_main_context_iteration (g_task_get_context (_data_->_async_result), TRUE);
		}
	}
	g_object_unref (_data_->_async_result);
	return FALSE;
}

static void
pamac_transaction_on_generate_mirrors_list_data (PamacTransaction* self,
                                                 const gchar* line)
{
	g_return_if_fail (self != NULL);
	g_return_if_fail (line != NULL);
	g_signal_emit (self, pamac_transaction_signals[PAMAC_TRANSACTION_EMIT_SCRIPT_OUTPUT_SIGNAL], 0, line);
}

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

void
pamac_transaction_clean_cache_async (PamacTransaction* self,
                                     GAsyncReadyCallback _callback_,
                                     gpointer _user_data_)
{
	PamacTransactionCleanCacheAsyncData* _data_;
	PamacTransaction* _tmp0_;
	g_return_if_fail (self != NULL);
	_data_ = g_slice_new0 (PamacTransactionCleanCacheAsyncData);
	_data_->_async_result = g_task_new (G_OBJECT (self), NULL, _callback_, _user_data_);
	g_task_set_task_data (_data_->_async_result, _data_, pamac_transaction_clean_cache_async_data_free);
	_tmp0_ = _g_object_ref0 (self);
	_data_->self = _tmp0_;
	pamac_transaction_clean_cache_async_co (_data_);
}

void
pamac_transaction_clean_cache_finish (PamacTransaction* self,
                                      GAsyncResult* _res_)
{
	PamacTransactionCleanCacheAsyncData* _data_;
	_data_ = g_task_propagate_pointer (G_TASK (_res_), NULL);
}

static void
pamac_transaction_clean_cache_async_ready (GObject* source_object,
                                           GAsyncResult* _res_,
                                           gpointer _user_data_)
{
	PamacTransactionCleanCacheAsyncData* _data_;
	_data_ = _user_data_;
	_data_->_source_object_ = source_object;
	_data_->_res_ = _res_;
	pamac_transaction_clean_cache_async_co (_data_);
}

static gboolean
pamac_transaction_clean_cache_async_co (PamacTransactionCleanCacheAsyncData* _data_)
{
	switch (_data_->_state_) {
		case 0:
		goto _state_0;
		case 1:
		goto _state_1;
		case 2:
		goto _state_2;
		default:
		g_assert_not_reached ();
	}
	_state_0:
	_data_->_tmp0_ = _data_->self->priv->_database;
	_data_->_state_ = 1;
	pamac_database_get_clean_cache_details_async (_data_->_tmp0_, pamac_transaction_clean_cache_async_ready, _data_);
	return FALSE;
	_state_1:
	_data_->_tmp1_ = pamac_database_get_clean_cache_details_finish (_data_->_tmp0_, _data_->_res_);
	_data_->details = _data_->_tmp1_;
	_data_->_tmp2_ = _data_->details;
	g_hash_table_iter_init (&_data_->iter, _data_->_tmp2_);
	_data_->_tmp3_ = _data_->details;
	_data_->_tmp4_ = g_hash_table_size (_data_->_tmp3_);
	_data_->_tmp5_ = _data_->_tmp4_;
	_data_->_tmp6_ = g_ptr_array_new_full (_data_->_tmp5_, _g_free0_);
	_data_->array = _data_->_tmp6_;
	while (TRUE) {
		_data_->_tmp7_ = NULL;
		_data_->_tmp8_ = g_hash_table_iter_next (&_data_->iter, (gpointer*) (&_data_->_tmp7_), (gpointer*) NULL);
		_data_->name = (const gchar*) _data_->_tmp7_;
		if (!_data_->_tmp8_) {
			break;
		}
		_data_->_tmp9_ = _data_->array;
		_data_->_tmp10_ = _data_->name;
		_data_->_tmp11_ = g_strdup (_data_->_tmp10_);
		g_ptr_array_add (_data_->_tmp9_, _data_->_tmp11_);
	}
	{
		_data_->_tmp12_ = _data_->self->priv->transaction_interface;
		_data_->_tmp13_ = _data_->array;
		_data_->_state_ = 2;
		pamac_transaction_interface_clean_cache (_data_->_tmp12_, _data_->_tmp13_, pamac_transaction_clean_cache_async_ready, _data_);
		return FALSE;
		_state_2:
		pamac_transaction_interface_clean_cache_finish (_data_->_tmp12_, _data_->_res_, &_data_->_inner_error0_);
		if (G_UNLIKELY (_data_->_inner_error0_ != NULL)) {
			goto __catch0_g_error;
		}
	}
	goto __finally0;
	__catch0_g_error:
	{
		_data_->e = _data_->_inner_error0_;
		_data_->_inner_error0_ = NULL;
		_data_->_tmp14_ = g_ptr_array_new_full ((guint) 1, _g_free0_);
		_data_->error_details = _data_->_tmp14_;
		_data_->_tmp15_ = _data_->error_details;
		_data_->_tmp16_ = _data_->e;
		_data_->_tmp17_ = _data_->_tmp16_->message;
		_data_->_tmp18_ = g_strdup_printf ("clean_cache: %s", _data_->_tmp17_);
		g_ptr_array_add (_data_->_tmp15_, _data_->_tmp18_);
		_data_->_tmp19_ = _data_->error_details;
		g_signal_emit (_data_->self, pamac_transaction_signals[PAMAC_TRANSACTION_EMIT_ERROR_SIGNAL], 0, "Daemon Error", _data_->_tmp19_);
		_g_ptr_array_unref0 (_data_->error_details);
		_g_error_free0 (_data_->e);
	}
	__finally0:
	if (G_UNLIKELY (_data_->_inner_error0_ != NULL)) {
		_g_ptr_array_unref0 (_data_->array);
		_g_hash_table_unref0 (_data_->details);
		g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _data_->_inner_error0_->message, g_quark_to_string (_data_->_inner_error0_->domain), _data_->_inner_error0_->code);
		g_clear_error (&_data_->_inner_error0_);
		g_object_unref (_data_->_async_result);
		return FALSE;
	}
	_g_ptr_array_unref0 (_data_->array);
	_g_hash_table_unref0 (_data_->details);
	g_task_return_pointer (_data_->_async_result, _data_, NULL);
	if (_data_->_state_ != 0) {
		while (!g_task_get_completed (_data_->_async_result)) {
			g_main_context_iteration (g_task_get_context (_data_->_async_result), TRUE);
		}
	}
	g_object_unref (_data_->_async_result);
	return FALSE;
}

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

void
pamac_transaction_clean_build_files_async (PamacTransaction* self,
                                           GAsyncReadyCallback _callback_,
                                           gpointer _user_data_)
{
	PamacTransactionCleanBuildFilesAsyncData* _data_;
	PamacTransaction* _tmp0_;
	g_return_if_fail (self != NULL);
	_data_ = g_slice_new0 (PamacTransactionCleanBuildFilesAsyncData);
	_data_->_async_result = g_task_new (G_OBJECT (self), NULL, _callback_, _user_data_);
	g_task_set_task_data (_data_->_async_result, _data_, pamac_transaction_clean_build_files_async_data_free);
	_tmp0_ = _g_object_ref0 (self);
	_data_->self = _tmp0_;
	pamac_transaction_clean_build_files_async_co (_data_);
}

void
pamac_transaction_clean_build_files_finish (PamacTransaction* self,
                                            GAsyncResult* _res_)
{
	PamacTransactionCleanBuildFilesAsyncData* _data_;
	_data_ = g_task_propagate_pointer (G_TASK (_res_), NULL);
}

static void
pamac_transaction_clean_build_files_async_ready (GObject* source_object,
                                                 GAsyncResult* _res_,
                                                 gpointer _user_data_)
{
	PamacTransactionCleanBuildFilesAsyncData* _data_;
	_data_ = _user_data_;
	_data_->_source_object_ = source_object;
	_data_->_res_ = _res_;
	pamac_transaction_clean_build_files_async_co (_data_);
}

static gboolean
pamac_transaction_clean_build_files_async_co (PamacTransactionCleanBuildFilesAsyncData* _data_)
{
	switch (_data_->_state_) {
		case 0:
		goto _state_0;
		case 1:
		goto _state_1;
		default:
		g_assert_not_reached ();
	}
	_state_0:
	_data_->_tmp0_ = _data_->self->priv->config;
	_data_->_tmp1_ = pamac_config_get_support_aur (_data_->_tmp0_);
	_data_->_tmp2_ = _data_->_tmp1_;
	if (!_data_->_tmp2_) {
		g_task_return_pointer (_data_->_async_result, _data_, NULL);
		if (_data_->_state_ != 0) {
			while (!g_task_get_completed (_data_->_async_result)) {
				g_main_context_iteration (g_task_get_context (_data_->_async_result), TRUE);
			}
		}
		g_object_unref (_data_->_async_result);
		return FALSE;
	}
	_data_->_tmp3_ = _data_->self->priv->_database;
	_data_->_tmp4_ = pamac_database_get_real_aur_build_dir (_data_->_tmp3_);
	_data_->real_aur_build_dir = _data_->_tmp4_;
	{
		_data_->_tmp5_ = _data_->self->priv->transaction_interface;
		_data_->_tmp6_ = _data_->real_aur_build_dir;
		_data_->_state_ = 1;
		pamac_transaction_interface_clean_build_files (_data_->_tmp5_, _data_->_tmp6_, pamac_transaction_clean_build_files_async_ready, _data_);
		return FALSE;
		_state_1:
		pamac_transaction_interface_clean_build_files_finish (_data_->_tmp5_, _data_->_res_, &_data_->_inner_error0_);
		if (G_UNLIKELY (_data_->_inner_error0_ != NULL)) {
			goto __catch0_g_error;
		}
	}
	goto __finally0;
	__catch0_g_error:
	{
		_data_->e = _data_->_inner_error0_;
		_data_->_inner_error0_ = NULL;
		_data_->_tmp7_ = g_ptr_array_new_full ((guint) 1, _g_free0_);
		_data_->details = _data_->_tmp7_;
		_data_->_tmp8_ = _data_->details;
		_data_->_tmp9_ = _data_->e;
		_data_->_tmp10_ = _data_->_tmp9_->message;
		_data_->_tmp11_ = g_strdup_printf ("clean_build_files: %s", _data_->_tmp10_);
		g_ptr_array_add (_data_->_tmp8_, _data_->_tmp11_);
		_data_->_tmp12_ = _data_->details;
		g_signal_emit (_data_->self, pamac_transaction_signals[PAMAC_TRANSACTION_EMIT_ERROR_SIGNAL], 0, "Daemon Error", _data_->_tmp12_);
		_g_ptr_array_unref0 (_data_->details);
		_g_error_free0 (_data_->e);
	}
	__finally0:
	if (G_UNLIKELY (_data_->_inner_error0_ != NULL)) {
		g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _data_->_inner_error0_->message, g_quark_to_string (_data_->_inner_error0_->domain), _data_->_inner_error0_->code);
		g_clear_error (&_data_->_inner_error0_);
		g_object_unref (_data_->_async_result);
		return FALSE;
	}
	g_task_return_pointer (_data_->_async_result, _data_, NULL);
	if (_data_->_state_ != 0) {
		while (!g_task_get_completed (_data_->_async_result)) {
			g_main_context_iteration (g_task_get_context (_data_->_async_result), TRUE);
		}
	}
	g_object_unref (_data_->_async_result);
	return FALSE;
}

static void
pamac_transaction_set_pkgreason_async_data_free (gpointer _data)
{
	PamacTransactionSetPkgreasonAsyncData* _data_;
	_data_ = _data;
	_g_free0 (_data_->pkgname);
	_g_object_unref0 (_data_->self);
	g_slice_free (PamacTransactionSetPkgreasonAsyncData, _data_);
}

void
pamac_transaction_set_pkgreason_async (PamacTransaction* self,
                                       const gchar* pkgname,
                                       guint reason,
                                       GAsyncReadyCallback _callback_,
                                       gpointer _user_data_)
{
	PamacTransactionSetPkgreasonAsyncData* _data_;
	PamacTransaction* _tmp0_;
	gchar* _tmp1_;
	g_return_if_fail (self != NULL);
	g_return_if_fail (pkgname != NULL);
	_data_ = g_slice_new0 (PamacTransactionSetPkgreasonAsyncData);
	_data_->_async_result = g_task_new (G_OBJECT (self), NULL, _callback_, _user_data_);
	g_task_set_task_data (_data_->_async_result, _data_, pamac_transaction_set_pkgreason_async_data_free);
	_tmp0_ = _g_object_ref0 (self);
	_data_->self = _tmp0_;
	_tmp1_ = g_strdup (pkgname);
	_g_free0 (_data_->pkgname);
	_data_->pkgname = _tmp1_;
	_data_->reason = reason;
	pamac_transaction_set_pkgreason_async_co (_data_);
}

gboolean
pamac_transaction_set_pkgreason_finish (PamacTransaction* self,
                                        GAsyncResult* _res_)
{
	gboolean result;
	PamacTransactionSetPkgreasonAsyncData* _data_;
	_data_ = g_task_propagate_pointer (G_TASK (_res_), NULL);
	result = _data_->result;
	return result;
}

static void
pamac_transaction_set_pkgreason_async_ready (GObject* source_object,
                                             GAsyncResult* _res_,
                                             gpointer _user_data_)
{
	PamacTransactionSetPkgreasonAsyncData* _data_;
	_data_ = _user_data_;
	_data_->_source_object_ = source_object;
	_data_->_res_ = _res_;
	pamac_transaction_set_pkgreason_async_co (_data_);
}

static gboolean
pamac_transaction_set_pkgreason_async_co (PamacTransactionSetPkgreasonAsyncData* _data_)
{
	switch (_data_->_state_) {
		case 0:
		goto _state_0;
		case 1:
		goto _state_1;
		default:
		g_assert_not_reached ();
	}
	_state_0:
	_data_->success = FALSE;
	{
		_data_->_tmp1_ = _data_->self->priv->transaction_interface;
		_data_->_state_ = 1;
		pamac_transaction_interface_set_pkgreason (_data_->_tmp1_, _data_->pkgname, _data_->reason, pamac_transaction_set_pkgreason_async_ready, _data_);
		return FALSE;
		_state_1:
		_data_->_tmp0_ = pamac_transaction_interface_set_pkgreason_finish (_data_->_tmp1_, _data_->_res_, &_data_->_inner_error0_);
		if (G_UNLIKELY (_data_->_inner_error0_ != NULL)) {
			goto __catch0_g_error;
		}
		_data_->success = _data_->_tmp0_;
	}
	goto __finally0;
	__catch0_g_error:
	{
		_data_->e = _data_->_inner_error0_;
		_data_->_inner_error0_ = NULL;
		_data_->_tmp2_ = g_ptr_array_new_full ((guint) 1, _g_free0_);
		_data_->details = _data_->_tmp2_;
		_data_->_tmp3_ = _data_->details;
		_data_->_tmp4_ = _data_->e;
		_data_->_tmp5_ = _data_->_tmp4_->message;
		_data_->_tmp6_ = g_strdup_printf ("set_pkgreason: %s", _data_->_tmp5_);
		g_ptr_array_add (_data_->_tmp3_, _data_->_tmp6_);
		_data_->_tmp7_ = _data_->details;
		g_signal_emit (_data_->self, pamac_transaction_signals[PAMAC_TRANSACTION_EMIT_ERROR_SIGNAL], 0, "Daemon Error", _data_->_tmp7_);
		_g_ptr_array_unref0 (_data_->details);
		_g_error_free0 (_data_->e);
	}
	__finally0:
	if (G_UNLIKELY (_data_->_inner_error0_ != NULL)) {
		g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _data_->_inner_error0_->message, g_quark_to_string (_data_->_inner_error0_->domain), _data_->_inner_error0_->code);
		g_clear_error (&_data_->_inner_error0_);
		g_object_unref (_data_->_async_result);
		return FALSE;
	}
	_data_->_tmp8_ = _data_->self->priv->_database;
	pamac_database_refresh (_data_->_tmp8_);
	_data_->result = _data_->success;
	g_task_return_pointer (_data_->_async_result, _data_, NULL);
	if (_data_->_state_ != 0) {
		while (!g_task_get_completed (_data_->_async_result)) {
			g_main_context_iteration (g_task_get_context (_data_->_async_result), TRUE);
		}
	}
	g_object_unref (_data_->_async_result);
	return FALSE;
}

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

void
pamac_transaction_download_updates_async (PamacTransaction* self,
                                          GAsyncReadyCallback _callback_,
                                          gpointer _user_data_)
{
	PamacTransactionDownloadUpdatesAsyncData* _data_;
	PamacTransaction* _tmp0_;
	g_return_if_fail (self != NULL);
	_data_ = g_slice_new0 (PamacTransactionDownloadUpdatesAsyncData);
	_data_->_async_result = g_task_new (G_OBJECT (self), NULL, _callback_, _user_data_);
	g_task_set_task_data (_data_->_async_result, _data_, pamac_transaction_download_updates_async_data_free);
	_tmp0_ = _g_object_ref0 (self);
	_data_->self = _tmp0_;
	pamac_transaction_download_updates_async_co (_data_);
}

gboolean
pamac_transaction_download_updates_finish (PamacTransaction* self,
                                           GAsyncResult* _res_)
{
	gboolean result;
	PamacTransactionDownloadUpdatesAsyncData* _data_;
	_data_ = g_task_propagate_pointer (G_TASK (_res_), NULL);
	result = _data_->result;
	return result;
}

static void
pamac_transaction_download_updates_async_ready (GObject* source_object,
                                                GAsyncResult* _res_,
                                                gpointer _user_data_)
{
	PamacTransactionDownloadUpdatesAsyncData* _data_;
	_data_ = _user_data_;
	_data_->_source_object_ = source_object;
	_data_->_res_ = _res_;
	pamac_transaction_download_updates_async_co (_data_);
}

static gboolean
pamac_transaction_download_updates_async_co (PamacTransactionDownloadUpdatesAsyncData* _data_)
{
	switch (_data_->_state_) {
		case 0:
		goto _state_0;
		case 1:
		goto _state_1;
		default:
		g_assert_not_reached ();
	}
	_state_0:
	_data_->success = FALSE;
	{
		_data_->_tmp1_ = _data_->self->priv->transaction_interface;
		_data_->_state_ = 1;
		pamac_transaction_interface_download_updates (_data_->_tmp1_, pamac_transaction_download_updates_async_ready, _data_);
		return FALSE;
		_state_1:
		_data_->_tmp0_ = pamac_transaction_interface_download_updates_finish (_data_->_tmp1_, _data_->_res_, &_data_->_inner_error0_);
		if (G_UNLIKELY (_data_->_inner_error0_ != NULL)) {
			goto __catch0_g_error;
		}
		_data_->success = _data_->_tmp0_;
	}
	goto __finally0;
	__catch0_g_error:
	{
		_data_->e = _data_->_inner_error0_;
		_data_->_inner_error0_ = NULL;
		_data_->_tmp2_ = g_ptr_array_new_full ((guint) 1, _g_free0_);
		_data_->details = _data_->_tmp2_;
		_data_->_tmp3_ = _data_->details;
		_data_->_tmp4_ = _data_->e;
		_data_->_tmp5_ = _data_->_tmp4_->message;
		_data_->_tmp6_ = g_strdup_printf ("download_updates: %s", _data_->_tmp5_);
		g_ptr_array_add (_data_->_tmp3_, _data_->_tmp6_);
		_data_->_tmp7_ = _data_->details;
		g_signal_emit (_data_->self, pamac_transaction_signals[PAMAC_TRANSACTION_EMIT_ERROR_SIGNAL], 0, "Daemon Error", _data_->_tmp7_);
		_g_ptr_array_unref0 (_data_->details);
		_g_error_free0 (_data_->e);
	}
	__finally0:
	if (G_UNLIKELY (_data_->_inner_error0_ != NULL)) {
		g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _data_->_inner_error0_->message, g_quark_to_string (_data_->_inner_error0_->domain), _data_->_inner_error0_->code);
		g_clear_error (&_data_->_inner_error0_);
		g_object_unref (_data_->_async_result);
		return FALSE;
	}
	_data_->result = _data_->success;
	g_task_return_pointer (_data_->_async_result, _data_, NULL);
	if (_data_->_state_ != 0) {
		while (!g_task_get_completed (_data_->_async_result)) {
			g_main_context_iteration (g_task_get_context (_data_->_async_result), TRUE);
		}
	}
	g_object_unref (_data_->_async_result);
	return FALSE;
}

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

static void
pamac_transaction_compute_aur_build_list (PamacTransaction* self,
                                          GAsyncReadyCallback _callback_,
                                          gpointer _user_data_)
{
	PamacTransactionComputeAurBuildListData* _data_;
	PamacTransaction* _tmp0_;
	g_return_if_fail (self != NULL);
	_data_ = g_slice_new0 (PamacTransactionComputeAurBuildListData);
	_data_->_async_result = g_task_new (G_OBJECT (self), NULL, _callback_, _user_data_);
	g_task_set_task_data (_data_->_async_result, _data_, pamac_transaction_compute_aur_build_list_data_free);
	_tmp0_ = _g_object_ref0 (self);
	_data_->self = _tmp0_;
	pamac_transaction_compute_aur_build_list_co (_data_);
}

static gboolean
pamac_transaction_compute_aur_build_list_finish (PamacTransaction* self,
                                                 GAsyncResult* _res_)
{
	gboolean result;
	PamacTransactionComputeAurBuildListData* _data_;
	_data_ = g_task_propagate_pointer (G_TASK (_res_), NULL);
	result = _data_->result;
	return result;
}

static void
pamac_transaction_compute_aur_build_list_ready (GObject* source_object,
                                                GAsyncResult* _res_,
                                                gpointer _user_data_)
{
	PamacTransactionComputeAurBuildListData* _data_;
	_data_ = _user_data_;
	_data_->_source_object_ = source_object;
	_data_->_res_ = _res_;
	pamac_transaction_compute_aur_build_list_co (_data_);
}

static gboolean
pamac_transaction_compute_aur_build_list_co (PamacTransactionComputeAurBuildListData* _data_)
{
	switch (_data_->_state_) {
		case 0:
		goto _state_0;
		case 1:
		goto _state_1;
		default:
		g_assert_not_reached ();
	}
	_state_0:
	_data_->self->priv->building = TRUE;
	_data_->_tmp0_ = _data_->self->priv->build_cancellable;
	g_cancellable_reset (_data_->_tmp0_);
	g_signal_emit (_data_->self, pamac_transaction_signals[PAMAC_TRANSACTION_START_BUILDING_SIGNAL], 0);
	_data_->_state_ = 1;
	pamac_transaction_compute_aur_build_list_real (_data_->self, pamac_transaction_compute_aur_build_list_ready, _data_);
	return FALSE;
	_state_1:
	_data_->success = pamac_transaction_compute_aur_build_list_real_finish (_data_->self, _data_->_res_);
	g_signal_emit (_data_->self, pamac_transaction_signals[PAMAC_TRANSACTION_STOP_BUILDING_SIGNAL], 0);
	_data_->self->priv->building = FALSE;
	_data_->_tmp1_ = _data_->self->priv->build_cancellable;
	if (g_cancellable_is_cancelled (_data_->_tmp1_)) {
		g_signal_emit (_data_->self, pamac_transaction_signals[PAMAC_TRANSACTION_EMIT_SCRIPT_OUTPUT_SIGNAL], 0, "");
		_data_->_tmp2_ = g_strconcat (g_dgettext (NULL, "Transaction cancelled"), ".", NULL);
		_data_->_tmp3_ = _data_->_tmp2_;
		g_signal_emit (_data_->self, pamac_transaction_signals[PAMAC_TRANSACTION_EMIT_ACTION_SIGNAL], 0, _data_->_tmp3_);
		_g_free0 (_data_->_tmp3_);
	}
	_data_->result = _data_->success;
	g_task_return_pointer (_data_->_async_result, _data_, NULL);
	if (_data_->_state_ != 0) {
		while (!g_task_get_completed (_data_->_async_result)) {
			g_main_context_iteration (g_task_get_context (_data_->_async_result), TRUE);
		}
	}
	g_object_unref (_data_->_async_result);
	return FALSE;
}

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

static void
pamac_transaction_launch_subprocess (PamacTransaction* self,
                                     gchar** cmds,
                                     gint cmds_length1,
                                     GAsyncReadyCallback _callback_,
                                     gpointer _user_data_)
{
	PamacTransactionLaunchSubprocessData* _data_;
	PamacTransaction* _tmp0_;
	g_return_if_fail (self != NULL);
	_data_ = g_slice_new0 (PamacTransactionLaunchSubprocessData);
	_data_->_async_result = g_task_new (G_OBJECT (self), NULL, _callback_, _user_data_);
	g_task_set_task_data (_data_->_async_result, _data_, pamac_transaction_launch_subprocess_data_free);
	_tmp0_ = _g_object_ref0 (self);
	_data_->self = _tmp0_;
	_data_->cmds = cmds;
	_data_->cmds_length1 = cmds_length1;
	pamac_transaction_launch_subprocess_co (_data_);
}

static gint
pamac_transaction_launch_subprocess_finish (PamacTransaction* self,
                                            GAsyncResult* _res_)
{
	gint result;
	PamacTransactionLaunchSubprocessData* _data_;
	_data_ = g_task_propagate_pointer (G_TASK (_res_), NULL);
	result = _data_->result;
	return result;
}

static void
pamac_transaction_launch_subprocess_ready (GObject* source_object,
                                           GAsyncResult* _res_,
                                           gpointer _user_data_)
{
	PamacTransactionLaunchSubprocessData* _data_;
	_data_ = _user_data_;
	_data_->_source_object_ = source_object;
	_data_->_res_ = _res_;
	pamac_transaction_launch_subprocess_co (_data_);
}

static gboolean
pamac_transaction_launch_subprocess_co (PamacTransactionLaunchSubprocessData* _data_)
{
	switch (_data_->_state_) {
		case 0:
		goto _state_0;
		case 1:
		goto _state_1;
		default:
		g_assert_not_reached ();
	}
	_state_0:
	_data_->status = 1;
	{
		_data_->_tmp0_ = g_subprocess_newv (_data_->cmds, G_SUBPROCESS_FLAGS_NONE, &_data_->_inner_error0_);
		_data_->process = _data_->_tmp0_;
		if (G_UNLIKELY (_data_->_inner_error0_ != NULL)) {
			goto __catch0_g_error;
		}
		_data_->_tmp1_ = _data_->process;
		_data_->_state_ = 1;
		g_subprocess_wait_async (_data_->_tmp1_, NULL, pamac_transaction_launch_subprocess_ready, _data_);
		return FALSE;
		_state_1:
		g_subprocess_wait_finish (_data_->_tmp1_, _data_->_res_, &_data_->_inner_error0_);
		if (G_UNLIKELY (_data_->_inner_error0_ != NULL)) {
			_g_object_unref0 (_data_->process);
			goto __catch0_g_error;
		}
		_data_->_tmp2_ = _data_->process;
		if (g_subprocess_get_if_exited (_data_->_tmp2_)) {
			_data_->_tmp3_ = _data_->process;
			_data_->status = g_subprocess_get_exit_status (_data_->_tmp3_);
		}
		_g_object_unref0 (_data_->process);
	}
	goto __finally0;
	__catch0_g_error:
	{
		_data_->e = _data_->_inner_error0_;
		_data_->_inner_error0_ = NULL;
		_data_->_tmp4_ = g_ptr_array_new_full ((guint) 1, _g_free0_);
		_data_->details = _data_->_tmp4_;
		_data_->_tmp5_ = _data_->details;
		_data_->_tmp6_ = _data_->e;
		_data_->_tmp7_ = _data_->_tmp6_->message;
		_data_->_tmp8_ = g_strdup (_data_->_tmp7_);
		g_ptr_array_add (_data_->_tmp5_, _data_->_tmp8_);
		_data_->_tmp9_ = _data_->details;
		g_signal_emit (_data_->self, pamac_transaction_signals[PAMAC_TRANSACTION_EMIT_ERROR_SIGNAL], 0, g_dgettext (NULL, "Failed to prepare transaction"), _data_->_tmp9_);
		_g_ptr_array_unref0 (_data_->details);
		_g_error_free0 (_data_->e);
	}
	__finally0:
	if (G_UNLIKELY (_data_->_inner_error0_ != NULL)) {
		g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _data_->_inner_error0_->message, g_quark_to_string (_data_->_inner_error0_->domain), _data_->_inner_error0_->code);
		g_clear_error (&_data_->_inner_error0_);
		g_object_unref (_data_->_async_result);
		return FALSE;
	}
	_data_->result = _data_->status;
	g_task_return_pointer (_data_->_async_result, _data_, NULL);
	if (_data_->_state_ != 0) {
		while (!g_task_get_completed (_data_->_async_result)) {
			g_main_context_iteration (g_task_get_context (_data_->_async_result), TRUE);
		}
	}
	g_object_unref (_data_->_async_result);
	return FALSE;
}

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

static void
pamac_transaction_compute_aur_build_list_real (PamacTransaction* self,
                                               GAsyncReadyCallback _callback_,
                                               gpointer _user_data_)
{
	PamacTransactionComputeAurBuildListRealData* _data_;
	PamacTransaction* _tmp0_;
	g_return_if_fail (self != NULL);
	_data_ = g_slice_new0 (PamacTransactionComputeAurBuildListRealData);
	_data_->_async_result = g_task_new (G_OBJECT (self), NULL, _callback_, _user_data_);
	g_task_set_task_data (_data_->_async_result, _data_, pamac_transaction_compute_aur_build_list_real_data_free);
	_tmp0_ = _g_object_ref0 (self);
	_data_->self = _tmp0_;
	pamac_transaction_compute_aur_build_list_real_co (_data_);
}

static gboolean
pamac_transaction_compute_aur_build_list_real_finish (PamacTransaction* self,
                                                      GAsyncResult* _res_)
{
	gboolean result;
	PamacTransactionComputeAurBuildListRealData* _data_;
	_data_ = g_task_propagate_pointer (G_TASK (_res_), NULL);
	result = _data_->result;
	return result;
}

static void
pamac_transaction_compute_aur_build_list_real_ready (GObject* source_object,
                                                     GAsyncResult* _res_,
                                                     gpointer _user_data_)
{
	PamacTransactionComputeAurBuildListRealData* _data_;
	_data_ = _user_data_;
	_data_->_source_object_ = source_object;
	_data_->_res_ = _res_;
	pamac_transaction_compute_aur_build_list_real_co (_data_);
}

static gconstpointer
_vala_hash_set_next_value (GHashTableIter *self)
{
	void* vi = NULL;
	GHashTableIter* htp = NULL;
	void* _tmp0_;
	gconstpointer value = NULL;
	gconstpointer _tmp1_ = NULL;
	gconstpointer _tmp2_ = NULL;
	gboolean _tmp3_;
	gconstpointer result;
	vi = &(*self);
	_tmp0_ = vi;
	htp = _tmp0_;
	_tmp3_ = g_hash_table_iter_next (htp, (gpointer*) (&_tmp2_), (gpointer*) NULL);
	value = _tmp2_;
	if (_tmp3_) {
		gconstpointer _tmp4_;
		_tmp4_ = value;
		_tmp1_ = _tmp4_;
	} else {
		_tmp1_ = NULL;
	}
	result = _tmp1_;
	return result;
}

static gint
vala_g_ptr_array_get_length (GPtrArray* self)
{
	gint result;
	g_return_val_if_fail (self != NULL, 0);
	result = (gint) self->len;
	return result;
}

static gboolean
pamac_transaction_compute_aur_build_list_real_co (PamacTransactionComputeAurBuildListRealData* _data_)
{
	switch (_data_->_state_) {
		case 0:
		goto _state_0;
		case 1:
		goto _state_1;
		case 2:
		goto _state_2;
		case 3:
		goto _state_3;
		case 4:
		goto _state_4;
		case 5:
		goto _state_5;
		default:
		g_assert_not_reached ();
	}
	_state_0:
	_data_->_tmp0_ = g_strdup ("mkdir");
	_data_->_tmp1_ = g_strdup ("-p");
	_data_->_tmp2_ = _data_->self->priv->aurdb_path;
	_data_->_tmp3_ = g_strdup (_data_->_tmp2_);
	_data_->_tmp4_ = g_new0 (gchar*, 3 + 1);
	_data_->_tmp4_[0] = _data_->_tmp0_;
	_data_->_tmp4_[1] = _data_->_tmp1_;
	_data_->_tmp4_[2] = _data_->_tmp3_;
	_data_->_tmp5_ = _data_->_tmp4_;
	_data_->_tmp5__length1 = 3;
	_data_->_state_ = 1;
	pamac_transaction_launch_subprocess (_data_->self, _data_->_tmp5_, (gint) 3, pamac_transaction_compute_aur_build_list_real_ready, _data_);
	return FALSE;
	_state_1:
	pamac_transaction_launch_subprocess_finish (_data_->self, _data_->_res_);
	_data_->_tmp5_ = (_vala_array_free (_data_->_tmp5_, _data_->_tmp5__length1, (GDestroyNotify) g_free), NULL);
	_data_->_tmp6_ = _data_->self->priv->aur_desc_list;
	g_hash_table_remove_all (_data_->_tmp6_);
	_data_->_tmp7_ = _data_->self->priv->already_checked_aur_dep;
	g_hash_table_remove_all (_data_->_tmp7_);
	_data_->_tmp8_ = g_ptr_array_new_full ((guint) 0, _g_free0_);
	_data_->to_build_array = _data_->_tmp8_;
	{
		_data_->_tmp9_ = _data_->self->priv->to_build;
		memset (&_data_->_tmp10_, 0, sizeof (GHashTableIter));
		g_hash_table_iter_init (&_data_->_tmp10_, _data_->_tmp9_);
		_data_->_pkgname_it = _data_->_tmp10_;
		while (TRUE) {
			_data_->_tmp11_ = _vala_hash_set_next_value (&_data_->_pkgname_it);
			_data_->pkgname = (const gchar*) _data_->_tmp11_;
			_data_->_tmp12_ = _data_->pkgname;
			if (!(_data_->_tmp12_ != NULL)) {
				break;
			}
			_data_->_tmp13_ = _data_->to_build_array;
			_data_->_tmp14_ = _data_->pkgname;
			_data_->_tmp15_ = g_strdup (_data_->_tmp14_);
			g_ptr_array_add (_data_->_tmp13_, _data_->_tmp15_);
		}
	}
	_data_->_tmp16_ = _data_->to_build_array;
	_data_->_state_ = 2;
	pamac_transaction_check_aur_dep_list (_data_->self, _data_->_tmp16_, pamac_transaction_compute_aur_build_list_real_ready, _data_);
	return FALSE;
	_state_2:
	_data_->success = pamac_transaction_check_aur_dep_list_finish (_data_->self, _data_->_res_);
	if (_data_->success) {
		_data_->_tmp18_ = _data_->self->priv->aur_desc_list;
		_data_->_tmp19_ = g_hash_table_size (_data_->_tmp18_);
		_data_->_tmp20_ = _data_->_tmp19_;
		_data_->_tmp17_ = _data_->_tmp20_ > ((guint) 0);
	} else {
		_data_->_tmp17_ = FALSE;
	}
	if (_data_->_tmp17_) {
		_data_->_tmp21_ = _data_->self->priv->tmp_path;
		_data_->_tmp22_ = g_strdup_printf ("%s/pamac_aur.db", _data_->_tmp21_);
		_data_->tmp_aurdb_path = _data_->_tmp22_;
		_data_->_tmp23_ = g_strdup ("rm");
		_data_->_tmp24_ = g_strdup ("-f");
		_data_->_tmp25_ = _data_->tmp_aurdb_path;
		_data_->_tmp26_ = g_strdup (_data_->_tmp25_);
		_data_->_tmp27_ = g_new0 (gchar*, 3 + 1);
		_data_->_tmp27_[0] = _data_->_tmp23_;
		_data_->_tmp27_[1] = _data_->_tmp24_;
		_data_->_tmp27_[2] = _data_->_tmp26_;
		_data_->_tmp28_ = _data_->_tmp27_;
		_data_->_tmp28__length1 = 3;
		_data_->_state_ = 3;
		pamac_transaction_launch_subprocess (_data_->self, _data_->_tmp28_, (gint) 3, pamac_transaction_compute_aur_build_list_real_ready, _data_);
		return FALSE;
		_state_3:
		pamac_transaction_launch_subprocess_finish (_data_->self, _data_->_res_);
		_data_->_tmp28_ = (_vala_array_free (_data_->_tmp28_, _data_->_tmp28__length1, (GDestroyNotify) g_free), NULL);
		_data_->_tmp29_ = _data_->self->priv->aur_desc_list;
		_data_->_tmp30_ = g_hash_table_size (_data_->_tmp29_);
		_data_->_tmp31_ = _data_->_tmp30_;
		_data_->_tmp32_ = g_ptr_array_new_full (5 + _data_->_tmp31_, _g_free0_);
		_data_->cmdline = _data_->_tmp32_;
		_data_->_tmp33_ = _data_->cmdline;
		_data_->_tmp34_ = g_strdup ("bsdtar");
		g_ptr_array_add (_data_->_tmp33_, _data_->_tmp34_);
		_data_->_tmp35_ = _data_->cmdline;
		_data_->_tmp36_ = g_strdup ("-cf");
		g_ptr_array_add (_data_->_tmp35_, _data_->_tmp36_);
		_data_->_tmp37_ = _data_->cmdline;
		_data_->_tmp38_ = _data_->tmp_aurdb_path;
		_data_->_tmp39_ = g_strdup (_data_->_tmp38_);
		g_ptr_array_add (_data_->_tmp37_, _data_->_tmp39_);
		_data_->_tmp40_ = _data_->cmdline;
		_data_->_tmp41_ = g_strdup ("-C");
		g_ptr_array_add (_data_->_tmp40_, _data_->_tmp41_);
		_data_->_tmp42_ = _data_->cmdline;
		_data_->_tmp43_ = _data_->self->priv->aurdb_path;
		_data_->_tmp44_ = g_strdup (_data_->_tmp43_);
		g_ptr_array_add (_data_->_tmp42_, _data_->_tmp44_);
		{
			_data_->_tmp45_ = _data_->self->priv->aur_desc_list;
			memset (&_data_->_tmp46_, 0, sizeof (GHashTableIter));
			g_hash_table_iter_init (&_data_->_tmp46_, _data_->_tmp45_);
			_data_->_name_version_it = _data_->_tmp46_;
			while (TRUE) {
				_data_->_tmp47_ = _vala_hash_set_next_value (&_data_->_name_version_it);
				_data_->name_version = (const gchar*) _data_->_tmp47_;
				_data_->_tmp48_ = _data_->name_version;
				if (!(_data_->_tmp48_ != NULL)) {
					break;
				}
				_data_->_tmp49_ = _data_->cmdline;
				_data_->_tmp50_ = _data_->name_version;
				_data_->_tmp51_ = g_strdup (_data_->_tmp50_);
				g_ptr_array_add (_data_->_tmp49_, _data_->_tmp51_);
			}
		}
		_data_->_tmp52_ = _data_->cmdline;
		_data_->_tmp53_ = _data_->cmdline;
		_data_->_tmp54_ = vala_g_ptr_array_get_length (_data_->_tmp53_);
		_data_->_tmp55_ = _data_->_tmp54_;
		g_ptr_array_set_size (_data_->_tmp52_, _data_->_tmp55_ + 1);
		_data_->_tmp56_ = _data_->cmdline;
		_data_->_tmp57_ = _data_->_tmp56_->pdata;
		_data_->_tmp57__length1 = _data_->_tmp56_->len;
		_data_->_state_ = 4;
		pamac_transaction_launch_subprocess (_data_->self, _data_->_tmp57_, (gint) _data_->_tmp57__length1, pamac_transaction_compute_aur_build_list_real_ready, _data_);
		return FALSE;
		_state_4:
		_data_->ret = pamac_transaction_launch_subprocess_finish (_data_->self, _data_->_res_);
		if (_data_->ret == 0) {
			_data_->_tmp58_ = g_strdup ("rm");
			_data_->_tmp59_ = g_strdup ("-rf");
			_data_->_tmp60_ = _data_->self->priv->aurdb_path;
			_data_->_tmp61_ = g_strdup (_data_->_tmp60_);
			_data_->_tmp62_ = g_new0 (gchar*, 3 + 1);
			_data_->_tmp62_[0] = _data_->_tmp58_;
			_data_->_tmp62_[1] = _data_->_tmp59_;
			_data_->_tmp62_[2] = _data_->_tmp61_;
			_data_->_tmp63_ = _data_->_tmp62_;
			_data_->_tmp63__length1 = 3;
			_data_->_state_ = 5;
			pamac_transaction_launch_subprocess (_data_->self, _data_->_tmp63_, (gint) 3, pamac_transaction_compute_aur_build_list_real_ready, _data_);
			return FALSE;
			_state_5:
			pamac_transaction_launch_subprocess_finish (_data_->self, _data_->_res_);
			_data_->_tmp63_ = (_vala_array_free (_data_->_tmp63_, _data_->_tmp63__length1, (GDestroyNotify) g_free), NULL);
		} else {
			_data_->success = FALSE;
		}
		_g_ptr_array_unref0 (_data_->cmdline);
		_g_free0 (_data_->tmp_aurdb_path);
	}
	_data_->result = _data_->success;
	_g_ptr_array_unref0 (_data_->to_build_array);
	g_task_return_pointer (_data_->_async_result, _data_, NULL);
	if (_data_->_state_ != 0) {
		while (!g_task_get_completed (_data_->_async_result)) {
			g_main_context_iteration (g_task_get_context (_data_->_async_result), TRUE);
		}
	}
	g_object_unref (_data_->_async_result);
	return FALSE;
}

static void
pamac_transaction_check_aur_dep_list_data_free (gpointer _data)
{
	PamacTransactionCheckAurDepListData* _data_;
	_data_ = _data;
	_g_ptr_array_unref0 (_data_->pkgnames);
	_g_object_unref0 (_data_->self);
	g_slice_free (PamacTransactionCheckAurDepListData, _data_);
}

static void
pamac_transaction_check_aur_dep_list (PamacTransaction* self,
                                      GPtrArray* pkgnames,
                                      GAsyncReadyCallback _callback_,
                                      gpointer _user_data_)
{
	PamacTransactionCheckAurDepListData* _data_;
	PamacTransaction* _tmp0_;
	GPtrArray* _tmp1_;
	g_return_if_fail (self != NULL);
	g_return_if_fail (pkgnames != NULL);
	_data_ = g_slice_new0 (PamacTransactionCheckAurDepListData);
	_data_->_async_result = g_task_new (G_OBJECT (self), NULL, _callback_, _user_data_);
	g_task_set_task_data (_data_->_async_result, _data_, pamac_transaction_check_aur_dep_list_data_free);
	_tmp0_ = _g_object_ref0 (self);
	_data_->self = _tmp0_;
	_tmp1_ = _g_ptr_array_ref0 (pkgnames);
	_g_ptr_array_unref0 (_data_->pkgnames);
	_data_->pkgnames = _tmp1_;
	pamac_transaction_check_aur_dep_list_co (_data_);
}

static gboolean
pamac_transaction_check_aur_dep_list_finish (PamacTransaction* self,
                                             GAsyncResult* _res_)
{
	gboolean result;
	PamacTransactionCheckAurDepListData* _data_;
	_data_ = g_task_propagate_pointer (G_TASK (_res_), NULL);
	result = _data_->result;
	return result;
}

static void
pamac_transaction_check_aur_dep_list_ready (GObject* source_object,
                                            GAsyncResult* _res_,
                                            gpointer _user_data_)
{
	PamacTransactionCheckAurDepListData* _data_;
	_data_ = _user_data_;
	_data_->_source_object_ = source_object;
	_data_->_res_ = _res_;
	pamac_transaction_check_aur_dep_list_co (_data_);
}

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

static gpointer
_g_strdup_gcopy_func (gconstpointer src,
                      gpointer self)
{
	gpointer result;
	result = g_strdup ((const gchar*) src);
	return result;
}

static gboolean
pamac_transaction_check_aur_dep_list_co (PamacTransactionCheckAurDepListData* _data_)
{
	switch (_data_->_state_) {
		case 0:
		goto _state_0;
		case 1:
		goto _state_1;
		case 2:
		goto _state_2;
		case 3:
		goto _state_3;
		case 4:
		goto _state_4;
		case 5:
		goto _state_5;
		case 6:
		goto _state_6;
		case 7:
		goto _state_7;
		case 8:
		goto _state_8;
		case 9:
		goto _state_9;
		case 10:
		goto _state_10;
		case 11:
		goto _state_11;
		case 12:
		goto _state_12;
		case 13:
		goto _state_13;
		default:
		g_assert_not_reached ();
	}
	_state_0:
	_data_->_tmp0_ = g_ptr_array_new_full ((guint) 0, _g_free0_);
	_data_->dep_to_check = _data_->_tmp0_;
	_data_->_tmp1_ = g_ptr_array_new_full ((guint) 0, _g_free0_);
	_data_->to_get_from_aur = _data_->_tmp1_;
	{
		_data_->pkgname_collection = _data_->pkgnames;
		for (_data_->pkgname_index = 0; _data_->pkgname_index < _data_->pkgname_collection->len; _data_->pkgname_index = _data_->pkgname_index + 1) {
			_data_->pkgname = (const gchar*) g_ptr_array_index (_data_->pkgname_collection, _data_->pkgname_index);
			{
				_data_->_tmp2_ = _data_->self->priv->already_checked_aur_dep;
				_data_->_tmp3_ = _data_->pkgname;
				if (g_hash_table_contains (_data_->_tmp2_, _data_->_tmp3_)) {
					continue;
				}
				_data_->_tmp4_ = _data_->self->priv->clone_files;
				_data_->_tmp5_ = _data_->pkgname;
				if (g_hash_table_contains (_data_->_tmp4_, _data_->_tmp5_)) {
					_data_->_tmp6_ = _data_->to_get_from_aur;
					_data_->_tmp7_ = _data_->pkgname;
					_data_->_tmp8_ = g_strdup (_data_->_tmp7_);
					g_ptr_array_add (_data_->_tmp6_, _data_->_tmp8_);
				}
			}
		}
	}
	_data_->aur_pkgs = NULL;
	_data_->_tmp9_ = _data_->to_get_from_aur;
	_data_->_tmp10_ = vala_g_ptr_array_get_length (_data_->_tmp9_);
	_data_->_tmp11_ = _data_->_tmp10_;
	if (_data_->_tmp11_ > 0) {
		_data_->_tmp12_ = _data_->self->priv->_database;
		_data_->_tmp13_ = _data_->to_get_from_aur;
		_data_->_state_ = 1;
		pamac_database_get_aur_pkgs_async (_data_->_tmp12_, _data_->_tmp13_, pamac_transaction_check_aur_dep_list_ready, _data_);
		return FALSE;
		_state_1:
		_data_->_tmp14_ = pamac_database_get_aur_pkgs_finish (_data_->_tmp12_, _data_->_res_);
		_g_hash_table_unref0 (_data_->aur_pkgs);
		_data_->aur_pkgs = _data_->_tmp14_;
	}
	_data_->_tmp15_ = _data_->self->priv->_database;
	_data_->_tmp16_ = pamac_database_get_real_aur_build_dir (_data_->_tmp15_);
	_data_->real_aur_build_dir = _data_->_tmp16_;
	{
		_data_->_vala1_pkgname_collection = _data_->pkgnames;
		for (_data_->_vala1_pkgname_index = 0; _data_->_vala1_pkgname_index < _data_->_vala1_pkgname_collection->len; _data_->_vala1_pkgname_index = _data_->_vala1_pkgname_index + 1) {
			_data_->_vala1_pkgname = (const gchar*) g_ptr_array_index (_data_->_vala1_pkgname_collection, _data_->_vala1_pkgname_index);
			{
				_data_->_tmp17_ = _data_->self->priv->build_cancellable;
				if (g_cancellable_is_cancelled (_data_->_tmp17_)) {
					_data_->result = FALSE;
					_g_hash_table_unref0 (_data_->aur_pkgs);
					_g_ptr_array_unref0 (_data_->to_get_from_aur);
					_g_ptr_array_unref0 (_data_->dep_to_check);
					g_task_return_pointer (_data_->_async_result, _data_, NULL);
					if (_data_->_state_ != 0) {
						while (!g_task_get_completed (_data_->_async_result)) {
							g_main_context_iteration (g_task_get_context (_data_->_async_result), TRUE);
						}
					}
					g_object_unref (_data_->_async_result);
					return FALSE;
				}
				_data_->_tmp18_ = _data_->self->priv->already_checked_aur_dep;
				_data_->_tmp19_ = _data_->_vala1_pkgname;
				if (g_hash_table_contains (_data_->_tmp18_, _data_->_tmp19_)) {
					continue;
				}
				_data_->aur_pkg = NULL;
				_data_->_tmp20_ = _data_->real_aur_build_dir;
				_data_->_tmp21_ = _data_->_vala1_pkgname;
				_data_->_tmp22_ = g_build_filename (_data_->_tmp20_, _data_->_tmp21_, NULL);
				_data_->_tmp23_ = _data_->_tmp22_;
				_data_->_tmp24_ = g_file_new_for_path (_data_->_tmp23_);
				_data_->_tmp25_ = _data_->_tmp24_;
				_g_free0 (_data_->_tmp23_);
				_data_->clone_dir = _data_->_tmp25_;
				_data_->_tmp26_ = _data_->self->priv->clone_files;
				_data_->_tmp27_ = _data_->_vala1_pkgname;
				if (g_hash_table_contains (_data_->_tmp26_, _data_->_tmp27_)) {
					_data_->_tmp28_ = _data_->aur_pkgs;
					_data_->_tmp29_ = _data_->_vala1_pkgname;
					_data_->_tmp30_ = g_hash_table_lookup (_data_->_tmp28_, _data_->_tmp29_);
					_data_->aur_pkg = (PamacAURPackage*) _data_->_tmp30_;
					_data_->_tmp31_ = _data_->aur_pkg;
					if (_data_->_tmp31_ == NULL) {
						_data_->_tmp32_ = _data_->self->priv->_database;
						_data_->_tmp33_ = _data_->_vala1_pkgname;
						_data_->_tmp34_ = pamac_database_get_aur_providers (_data_->_tmp32_, _data_->_tmp33_);
						_data_->providers = _data_->_tmp34_;
						_data_->_tmp35_ = _data_->providers;
						{
							_data_->info_collection = _data_->_tmp35_;
							for (_data_->info_index = 0; _data_->info_index < _data_->info_collection->len; _data_->info_index = _data_->info_index + 1) {
								_data_->info = (PamacAURInfos*) g_ptr_array_index (_data_->info_collection, _data_->info_index);
								{
									_data_->_tmp36_ = _data_->info;
									_data_->_tmp37_ = pamac_aur_infos_get_name (_data_->_tmp36_);
									_data_->_tmp38_ = _data_->_tmp37_;
									_data_->provider_name = _data_->_tmp38_;
									_data_->_tmp39_ = _data_->dep_to_check;
									_data_->_tmp40_ = _data_->provider_name;
									_data_->_tmp41_ = g_strdup (_data_->_tmp40_);
									g_ptr_array_add (_data_->_tmp39_, _data_->_tmp41_);
									_data_->_tmp42_ = _data_->self->priv->clone_files;
									_data_->_tmp43_ = _data_->provider_name;
									_data_->_tmp44_ = g_strdup (_data_->_tmp43_);
									g_hash_table_add (_data_->_tmp42_, _data_->_tmp44_);
									_data_->_tmp45_ = _data_->self->priv->clone_deps_files;
									_data_->_tmp46_ = _data_->_vala1_pkgname;
									if (g_hash_table_contains (_data_->_tmp45_, _data_->_tmp46_)) {
										_data_->_tmp47_ = _data_->self->priv->clone_deps_files;
										_data_->_tmp48_ = _data_->provider_name;
										_data_->_tmp49_ = g_strdup (_data_->_tmp48_);
										g_hash_table_add (_data_->_tmp47_, _data_->_tmp49_);
									}
								}
							}
						}
						_data_->_tmp50_ = _data_->self->priv->already_checked_aur_dep;
						_data_->_tmp51_ = _data_->_vala1_pkgname;
						_data_->_tmp52_ = g_strdup (_data_->_tmp51_);
						g_hash_table_add (_data_->_tmp50_, _data_->_tmp52_);
						_g_ptr_array_unref0 (_data_->providers);
						_g_object_unref0 (_data_->clone_dir);
						continue;
					} else {
						_data_->_tmp53_ = _data_->clone_dir;
						if (g_file_query_exists (_data_->_tmp53_, NULL)) {
							_data_->_tmp54_ = _data_->aur_pkg;
							_data_->_tmp55_ = pamac_aur_package_get_packagebase (_data_->_tmp54_);
							_data_->_tmp56_ = _data_->_tmp55_;
							_data_->_tmp57_ = g_strdup_printf (g_dgettext (NULL, "Cloning %s build files"), _data_->_tmp56_);
							_data_->_tmp58_ = _data_->_tmp57_;
							_data_->_tmp59_ = g_strconcat (_data_->_tmp58_, "...", NULL);
							_data_->_tmp60_ = _data_->_tmp59_;
							g_signal_emit (_data_->self, pamac_transaction_signals[PAMAC_TRANSACTION_EMIT_ACTION_SIGNAL], 0, _data_->_tmp60_);
							_g_free0 (_data_->_tmp60_);
							_g_free0 (_data_->_tmp58_);
							_data_->_tmp61_ = _data_->self->priv->_database;
							_data_->_tmp62_ = _data_->aur_pkg;
							_data_->_tmp63_ = pamac_aur_package_get_packagebase (_data_->_tmp62_);
							_data_->_tmp64_ = _data_->_tmp63_;
							_data_->_tmp65_ = _data_->self->priv->build_cancellable;
							_data_->_state_ = 2;
							pamac_database_clone_build_files_async (_data_->_tmp61_, _data_->_tmp64_, FALSE, _data_->_tmp65_, pamac_transaction_check_aur_dep_list_ready, _data_);
							return FALSE;
							_state_2:
							_data_->_tmp66_ = pamac_database_clone_build_files_finish (_data_->_tmp61_, _data_->_res_);
							_g_object_unref0 (_data_->clone_dir);
							_data_->clone_dir = _data_->_tmp66_;
							_data_->_tmp67_ = _data_->self->priv->build_cancellable;
							if (g_cancellable_is_cancelled (_data_->_tmp67_)) {
								_data_->result = FALSE;
								_g_object_unref0 (_data_->clone_dir);
								_g_hash_table_unref0 (_data_->aur_pkgs);
								_g_ptr_array_unref0 (_data_->to_get_from_aur);
								_g_ptr_array_unref0 (_data_->dep_to_check);
								g_task_return_pointer (_data_->_async_result, _data_, NULL);
								if (_data_->_state_ != 0) {
									while (!g_task_get_completed (_data_->_async_result)) {
										g_main_context_iteration (g_task_get_context (_data_->_async_result), TRUE);
									}
								}
								g_object_unref (_data_->_async_result);
								return FALSE;
							}
							_data_->_tmp68_ = _data_->clone_dir;
							if (_data_->_tmp68_ == NULL) {
								_data_->_tmp69_ = g_ptr_array_new_full ((guint) 1, _g_free0_);
								_data_->details = _data_->_tmp69_;
								_data_->_tmp70_ = _data_->details;
								_data_->_tmp71_ = _data_->aur_pkg;
								_data_->_tmp72_ = pamac_aur_package_get_packagebase (_data_->_tmp71_);
								_data_->_tmp73_ = _data_->_tmp72_;
								_data_->_tmp74_ = g_strdup_printf (g_dgettext (NULL, "Failed to clone %s build files"), _data_->_tmp73_);
								g_ptr_array_add (_data_->_tmp70_, _data_->_tmp74_);
								_data_->_tmp75_ = _data_->details;
								g_signal_emit (_data_->self, pamac_transaction_signals[PAMAC_TRANSACTION_EMIT_ERROR_SIGNAL], 0, g_dgettext (NULL, "Failed to prepare transaction"), _data_->_tmp75_);
								_data_->result = FALSE;
								_g_ptr_array_unref0 (_data_->details);
								_g_object_unref0 (_data_->clone_dir);
								_g_hash_table_unref0 (_data_->aur_pkgs);
								_g_ptr_array_unref0 (_data_->to_get_from_aur);
								_g_ptr_array_unref0 (_data_->dep_to_check);
								g_task_return_pointer (_data_->_async_result, _data_, NULL);
								if (_data_->_state_ != 0) {
									while (!g_task_get_completed (_data_->_async_result)) {
										g_main_context_iteration (g_task_get_context (_data_->_async_result), TRUE);
									}
								}
								g_object_unref (_data_->_async_result);
								return FALSE;
							} else {
								_data_->_tmp76_ = _data_->_vala1_pkgname;
								_data_->_tmp77_ = g_strdup_printf (g_dgettext (NULL, "Generating %s information"), _data_->_tmp76_);
								_data_->_tmp78_ = _data_->_tmp77_;
								_data_->_tmp79_ = g_strconcat (_data_->_tmp78_, "...", NULL);
								_data_->_tmp80_ = _data_->_tmp79_;
								g_signal_emit (_data_->self, pamac_transaction_signals[PAMAC_TRANSACTION_EMIT_ACTION_SIGNAL], 0, _data_->_tmp80_);
								_g_free0 (_data_->_tmp80_);
								_g_free0 (_data_->_tmp78_);
								_data_->_tmp81_ = _data_->self->priv->_database;
								_data_->_tmp82_ = _data_->_vala1_pkgname;
								_data_->_tmp83_ = _data_->self->priv->build_cancellable;
								_data_->_state_ = 3;
								pamac_database_regenerate_srcinfo_async (_data_->_tmp81_, _data_->_tmp82_, _data_->_tmp83_, pamac_transaction_check_aur_dep_list_ready, _data_);
								return FALSE;
								_state_3:
								_data_->success = pamac_database_regenerate_srcinfo_finish (_data_->_tmp81_, _data_->_res_);
								if (!_data_->success) {
									_data_->_tmp84_ = g_ptr_array_new_full ((guint) 1, _g_free0_);
									_data_->_vala1_details = _data_->_tmp84_;
									_data_->_tmp85_ = _data_->_vala1_details;
									_data_->_tmp86_ = _data_->_vala1_pkgname;
									_data_->_tmp87_ = g_strdup_printf (g_dgettext (NULL, "Failed to generate %s information"), _data_->_tmp86_);
									g_ptr_array_add (_data_->_tmp85_, _data_->_tmp87_);
									_data_->_tmp88_ = _data_->_vala1_details;
									g_signal_emit (_data_->self, pamac_transaction_signals[PAMAC_TRANSACTION_EMIT_ERROR_SIGNAL], 0, g_dgettext (NULL, "Failed to prepare transaction"), _data_->_tmp88_);
									_data_->result = FALSE;
									_g_ptr_array_unref0 (_data_->_vala1_details);
									_g_object_unref0 (_data_->clone_dir);
									_g_hash_table_unref0 (_data_->aur_pkgs);
									_g_ptr_array_unref0 (_data_->to_get_from_aur);
									_g_ptr_array_unref0 (_data_->dep_to_check);
									g_task_return_pointer (_data_->_async_result, _data_, NULL);
									if (_data_->_state_ != 0) {
										while (!g_task_get_completed (_data_->_async_result)) {
											g_main_context_iteration (g_task_get_context (_data_->_async_result), TRUE);
										}
									}
									g_object_unref (_data_->_async_result);
									return FALSE;
								}
							}
						} else {
							_data_->_tmp89_ = _data_->self->priv->clone_files;
							_data_->_tmp90_ = _data_->aur_pkg;
							_data_->_tmp91_ = pamac_aur_package_get_packagebase (_data_->_tmp90_);
							_data_->_tmp92_ = _data_->_tmp91_;
							_data_->_tmp93_ = g_strdup (_data_->_tmp92_);
							g_hash_table_add (_data_->_tmp89_, _data_->_tmp93_);
						}
					}
				} else {
					_data_->_tmp94_ = _data_->clone_dir;
					if (g_file_query_exists (_data_->_tmp94_, NULL)) {
						_data_->_tmp95_ = _data_->_vala1_pkgname;
						_data_->_tmp96_ = g_strdup_printf (g_dgettext (NULL, "Generating %s information"), _data_->_tmp95_);
						_data_->_tmp97_ = _data_->_tmp96_;
						_data_->_tmp98_ = g_strconcat (_data_->_tmp97_, "...", NULL);
						_data_->_tmp99_ = _data_->_tmp98_;
						g_signal_emit (_data_->self, pamac_transaction_signals[PAMAC_TRANSACTION_EMIT_ACTION_SIGNAL], 0, _data_->_tmp99_);
						_g_free0 (_data_->_tmp99_);
						_g_free0 (_data_->_tmp97_);
						_data_->_tmp100_ = _data_->self->priv->_database;
						_data_->_tmp101_ = _data_->_vala1_pkgname;
						_data_->_tmp102_ = _data_->self->priv->build_cancellable;
						_data_->_state_ = 4;
						pamac_database_regenerate_srcinfo_async (_data_->_tmp100_, _data_->_tmp101_, _data_->_tmp102_, pamac_transaction_check_aur_dep_list_ready, _data_);
						return FALSE;
						_state_4:
						_data_->_vala1_success = pamac_database_regenerate_srcinfo_finish (_data_->_tmp100_, _data_->_res_);
						if (!_data_->_vala1_success) {
							_data_->_tmp103_ = g_ptr_array_new_full ((guint) 1, _g_free0_);
							_data_->_vala2_details = _data_->_tmp103_;
							_data_->_tmp104_ = _data_->_vala2_details;
							_data_->_tmp105_ = _data_->_vala1_pkgname;
							_data_->_tmp106_ = g_strdup_printf (g_dgettext (NULL, "Failed to generate %s information"), _data_->_tmp105_);
							g_ptr_array_add (_data_->_tmp104_, _data_->_tmp106_);
							_data_->_tmp107_ = _data_->_vala2_details;
							g_signal_emit (_data_->self, pamac_transaction_signals[PAMAC_TRANSACTION_EMIT_ERROR_SIGNAL], 0, g_dgettext (NULL, "Failed to prepare transaction"), _data_->_tmp107_);
							_data_->result = FALSE;
							_g_ptr_array_unref0 (_data_->_vala2_details);
							_g_object_unref0 (_data_->clone_dir);
							_g_hash_table_unref0 (_data_->aur_pkgs);
							_g_ptr_array_unref0 (_data_->to_get_from_aur);
							_g_ptr_array_unref0 (_data_->dep_to_check);
							g_task_return_pointer (_data_->_async_result, _data_, NULL);
							if (_data_->_state_ != 0) {
								while (!g_task_get_completed (_data_->_async_result)) {
									g_main_context_iteration (g_task_get_context (_data_->_async_result), TRUE);
								}
							}
							g_object_unref (_data_->_async_result);
							return FALSE;
						}
					} else {
						_data_->found = FALSE;
						_data_->_tmp108_ = _data_->real_aur_build_dir;
						_data_->_tmp109_ = g_file_new_for_path (_data_->_tmp108_);
						_data_->builddir = _data_->_tmp109_;
						{
							_data_->_tmp110_ = _data_->builddir;
							_data_->_tmp111_ = g_file_enumerate_children (_data_->_tmp110_, "standard::*", G_FILE_QUERY_INFO_NONE, NULL, &_data_->_inner_error0_);
							_data_->enumerator = _data_->_tmp111_;
							if (G_UNLIKELY (_data_->_inner_error0_ != NULL)) {
								goto __catch0_g_error;
							}
							while (TRUE) {
								_data_->_tmp113_ = _data_->enumerator;
								_data_->_tmp114_ = g_file_enumerator_next_file (_data_->_tmp113_, NULL, &_data_->_inner_error0_);
								_data_->_tmp112_ = _data_->_tmp114_;
								if (G_UNLIKELY (_data_->_inner_error0_ != NULL)) {
									_g_object_unref0 (_data_->_vala1_info);
									_g_object_unref0 (_data_->enumerator);
									goto __catch0_g_error;
								}
								_data_->_tmp115_ = _data_->_tmp112_;
								_data_->_tmp112_ = NULL;
								_g_object_unref0 (_data_->_vala1_info);
								_data_->_vala1_info = _data_->_tmp115_;
								_data_->_tmp116_ = _data_->_vala1_info;
								if (!(_data_->_tmp116_ != NULL)) {
									_g_object_unref0 (_data_->_tmp112_);
									break;
								}
								_data_->_tmp117_ = _data_->_vala1_info;
								if (g_file_info_get_file_type (_data_->_tmp117_) == G_FILE_TYPE_DIRECTORY) {
									_data_->_tmp118_ = _data_->_vala1_info;
									_data_->_tmp119_ = g_file_info_get_name (_data_->_tmp118_);
									_data_->filename = _data_->_tmp119_;
									_data_->_tmp120_ = _data_->real_aur_build_dir;
									_data_->_tmp121_ = _data_->filename;
									_data_->_tmp122_ = g_build_filename (_data_->_tmp120_, _data_->_tmp121_, NULL);
									_data_->absolute_child_path = _data_->_tmp122_;
									_data_->_tmp123_ = _data_->absolute_child_path;
									_data_->_tmp124_ = g_file_new_for_path (_data_->_tmp123_);
									_data_->child_file = _data_->_tmp124_;
									_data_->_tmp125_ = _data_->child_file;
									_data_->_tmp126_ = g_file_enumerate_children (_data_->_tmp125_, "standard::*", G_FILE_QUERY_INFO_NONE, NULL, &_data_->_inner_error0_);
									_data_->child_enumerator = _data_->_tmp126_;
									if (G_UNLIKELY (_data_->_inner_error0_ != NULL)) {
										_g_object_unref0 (_data_->child_file);
										_g_free0 (_data_->absolute_child_path);
										_g_object_unref0 (_data_->_tmp112_);
										_g_object_unref0 (_data_->_vala1_info);
										_g_object_unref0 (_data_->enumerator);
										goto __catch0_g_error;
									}
									while (TRUE) {
										_data_->_tmp128_ = _data_->child_enumerator;
										_data_->_tmp129_ = g_file_enumerator_next_file (_data_->_tmp128_, NULL, &_data_->_inner_error0_);
										_data_->_tmp127_ = _data_->_tmp129_;
										if (G_UNLIKELY (_data_->_inner_error0_ != NULL)) {
											_g_object_unref0 (_data_->child_info);
											_g_object_unref0 (_data_->child_enumerator);
											_g_object_unref0 (_data_->child_file);
											_g_free0 (_data_->absolute_child_path);
											_g_object_unref0 (_data_->_tmp112_);
											_g_object_unref0 (_data_->_vala1_info);
											_g_object_unref0 (_data_->enumerator);
											goto __catch0_g_error;
										}
										_data_->_tmp130_ = _data_->_tmp127_;
										_data_->_tmp127_ = NULL;
										_g_object_unref0 (_data_->child_info);
										_data_->child_info = _data_->_tmp130_;
										_data_->_tmp131_ = _data_->child_info;
										if (!(_data_->_tmp131_ != NULL)) {
											_g_object_unref0 (_data_->_tmp127_);
											break;
										}
										_data_->_tmp132_ = _data_->child_info;
										_data_->_tmp133_ = g_file_info_get_name (_data_->_tmp132_);
										_data_->child_filename = _data_->_tmp133_;
										_data_->_tmp134_ = _data_->child_filename;
										if (g_strcmp0 (_data_->_tmp134_, "PKGBUILD") == 0) {
											_data_->_tmp135_ = _data_->self->priv->_database;
											_data_->_tmp136_ = _data_->filename;
											_data_->_vala2_success = pamac_database_regenerate_srcinfo (_data_->_tmp135_, _data_->_tmp136_, NULL);
											if (_data_->_vala2_success) {
												_data_->_tmp137_ = _data_->child_file;
												_data_->_tmp138_ = g_file_get_child (_data_->_tmp137_, ".SRCINFO");
												_data_->srcinfo = _data_->_tmp138_;
												_data_->_tmp140_ = _data_->srcinfo;
												_data_->_tmp141_ = g_file_read (_data_->_tmp140_, NULL, &_data_->_inner_error0_);
												_data_->_tmp139_ = _data_->_tmp141_;
												if (G_UNLIKELY (_data_->_inner_error0_ != NULL)) {
													_g_object_unref0 (_data_->srcinfo);
													_g_object_unref0 (_data_->_tmp127_);
													_g_object_unref0 (_data_->child_info);
													_g_object_unref0 (_data_->child_enumerator);
													_g_object_unref0 (_data_->child_file);
													_g_free0 (_data_->absolute_child_path);
													_g_object_unref0 (_data_->_tmp112_);
													_g_object_unref0 (_data_->_vala1_info);
													_g_object_unref0 (_data_->enumerator);
													goto __catch0_g_error;
												}
												_data_->_tmp142_ = g_data_input_stream_new ((GInputStream*) _data_->_tmp139_);
												_data_->dis = _data_->_tmp142_;
												while (TRUE) {
													_data_->_tmp144_ = _data_->dis;
													_data_->_tmp145_ = g_data_input_stream_read_line (_data_->_tmp144_, NULL, NULL, &_data_->_inner_error0_);
													_data_->_tmp143_ = _data_->_tmp145_;
													if (G_UNLIKELY (_data_->_inner_error0_ != NULL)) {
														_g_free0 (_data_->line);
														_g_object_unref0 (_data_->dis);
														_g_object_unref0 (_data_->_tmp139_);
														_g_object_unref0 (_data_->srcinfo);
														_g_object_unref0 (_data_->_tmp127_);
														_g_object_unref0 (_data_->child_info);
														_g_object_unref0 (_data_->child_enumerator);
														_g_object_unref0 (_data_->child_file);
														_g_free0 (_data_->absolute_child_path);
														_g_object_unref0 (_data_->_tmp112_);
														_g_object_unref0 (_data_->_vala1_info);
														_g_object_unref0 (_data_->enumerator);
														goto __catch0_g_error;
													}
													_data_->_tmp146_ = _data_->_tmp143_;
													_data_->_tmp143_ = NULL;
													_g_free0 (_data_->line);
													_data_->line = _data_->_tmp146_;
													_data_->_tmp147_ = _data_->line;
													if (!(_data_->_tmp147_ != NULL)) {
														_g_free0 (_data_->_tmp143_);
														break;
													}
													_data_->_tmp148_ = _data_->line;
													if (string_contains (_data_->_tmp148_, "pkgname = ")) {
														_data_->_tmp149_ = _data_->line;
														_data_->_tmp151_ = _data_->_tmp150_ = g_strsplit (_data_->_tmp149_, " = ", 2);
														_data_->_tmp152_ = _data_->_tmp151_;
														_data_->_tmp152__length1 = _vala_array_length (_data_->_tmp150_);
														_data_->_tmp153_ = _data_->_tmp152_[1];
														_data_->_tmp154_ = g_strdup (_data_->_tmp153_);
														_data_->_tmp155_ = _data_->_tmp154_;
														_data_->_tmp152_ = (_vala_array_free (_data_->_tmp152_, _data_->_tmp152__length1, (GDestroyNotify) g_free), NULL);
														_data_->srcinfo_pkgname = _data_->_tmp155_;
														_data_->_tmp156_ = _data_->srcinfo_pkgname;
														_data_->_tmp157_ = _data_->_vala1_pkgname;
														if (g_strcmp0 (_data_->_tmp156_, _data_->_tmp157_) == 0) {
															_data_->_tmp158_ = _data_->child_file;
															_data_->_tmp159_ = _g_object_ref0 (_data_->_tmp158_);
															_g_object_unref0 (_data_->clone_dir);
															_data_->clone_dir = _data_->_tmp159_;
															_data_->found = TRUE;
															_g_free0 (_data_->srcinfo_pkgname);
															_g_free0 (_data_->_tmp143_);
															break;
														}
														_g_free0 (_data_->srcinfo_pkgname);
													}
													_g_free0 (_data_->_tmp143_);
												}
												if (_data_->found) {
													_g_free0 (_data_->line);
													_g_object_unref0 (_data_->dis);
													_g_object_unref0 (_data_->_tmp139_);
													_g_object_unref0 (_data_->srcinfo);
													_g_object_unref0 (_data_->_tmp127_);
													break;
												}
												_g_free0 (_data_->line);
												_g_object_unref0 (_data_->dis);
												_g_object_unref0 (_data_->_tmp139_);
												_g_object_unref0 (_data_->srcinfo);
											}
										}
										_g_object_unref0 (_data_->_tmp127_);
									}
									if (_data_->found) {
										_g_object_unref0 (_data_->child_info);
										_g_object_unref0 (_data_->child_enumerator);
										_g_object_unref0 (_data_->child_file);
										_g_free0 (_data_->absolute_child_path);
										_g_object_unref0 (_data_->_tmp112_);
										break;
									}
									_g_object_unref0 (_data_->child_info);
									_g_object_unref0 (_data_->child_enumerator);
									_g_object_unref0 (_data_->child_file);
									_g_free0 (_data_->absolute_child_path);
								}
								_g_object_unref0 (_data_->_tmp112_);
							}
							_g_object_unref0 (_data_->_vala1_info);
							_g_object_unref0 (_data_->enumerator);
						}
						goto __finally0;
						__catch0_g_error:
						{
							_data_->e = _data_->_inner_error0_;
							_data_->_inner_error0_ = NULL;
							_data_->_tmp160_ = g_ptr_array_new_full ((guint) 2, _g_free0_);
							_data_->_vala3_details = _data_->_tmp160_;
							_data_->_tmp161_ = _data_->_vala3_details;
							_data_->_tmp162_ = _data_->e;
							_data_->_tmp163_ = _data_->_tmp162_->message;
							_data_->_tmp164_ = g_strdup (_data_->_tmp163_);
							g_ptr_array_add (_data_->_tmp161_, _data_->_tmp164_);
							_data_->_tmp165_ = _data_->_vala3_details;
							_data_->_tmp166_ = _data_->_vala1_pkgname;
							_data_->_tmp167_ = g_strdup_printf (g_dgettext (NULL, "target not found: %s"), _data_->_tmp166_);
							g_ptr_array_add (_data_->_tmp165_, _data_->_tmp167_);
							_data_->_tmp168_ = _data_->_vala3_details;
							g_signal_emit (_data_->self, pamac_transaction_signals[PAMAC_TRANSACTION_EMIT_ERROR_SIGNAL], 0, g_dgettext (NULL, "Failed to prepare transaction"), _data_->_tmp168_);
							_data_->result = FALSE;
							_g_ptr_array_unref0 (_data_->_vala3_details);
							_g_error_free0 (_data_->e);
							_g_object_unref0 (_data_->builddir);
							_g_object_unref0 (_data_->clone_dir);
							_g_hash_table_unref0 (_data_->aur_pkgs);
							_g_ptr_array_unref0 (_data_->to_get_from_aur);
							_g_ptr_array_unref0 (_data_->dep_to_check);
							g_task_return_pointer (_data_->_async_result, _data_, NULL);
							if (_data_->_state_ != 0) {
								while (!g_task_get_completed (_data_->_async_result)) {
									g_main_context_iteration (g_task_get_context (_data_->_async_result), TRUE);
								}
							}
							g_object_unref (_data_->_async_result);
							return FALSE;
						}
						__finally0:
						if (G_UNLIKELY (_data_->_inner_error0_ != NULL)) {
							_g_object_unref0 (_data_->builddir);
							_g_object_unref0 (_data_->clone_dir);
							_g_hash_table_unref0 (_data_->aur_pkgs);
							_g_ptr_array_unref0 (_data_->to_get_from_aur);
							_g_ptr_array_unref0 (_data_->dep_to_check);
							g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _data_->_inner_error0_->message, g_quark_to_string (_data_->_inner_error0_->domain), _data_->_inner_error0_->code);
							g_clear_error (&_data_->_inner_error0_);
							g_object_unref (_data_->_async_result);
							return FALSE;
						}
						if (!_data_->found) {
							_data_->_tmp169_ = g_ptr_array_new_full ((guint) 1, _g_free0_);
							_data_->_vala4_details = _data_->_tmp169_;
							_data_->_tmp170_ = _data_->_vala4_details;
							_data_->_tmp171_ = _data_->_vala1_pkgname;
							_data_->_tmp172_ = g_strdup_printf (g_dgettext (NULL, "target not found: %s"), _data_->_tmp171_);
							g_ptr_array_add (_data_->_tmp170_, _data_->_tmp172_);
							_data_->_tmp173_ = _data_->_vala4_details;
							g_signal_emit (_data_->self, pamac_transaction_signals[PAMAC_TRANSACTION_EMIT_ERROR_SIGNAL], 0, g_dgettext (NULL, "Failed to prepare transaction"), _data_->_tmp173_);
							_data_->result = FALSE;
							_g_ptr_array_unref0 (_data_->_vala4_details);
							_g_object_unref0 (_data_->builddir);
							_g_object_unref0 (_data_->clone_dir);
							_g_hash_table_unref0 (_data_->aur_pkgs);
							_g_ptr_array_unref0 (_data_->to_get_from_aur);
							_g_ptr_array_unref0 (_data_->dep_to_check);
							g_task_return_pointer (_data_->_async_result, _data_, NULL);
							if (_data_->_state_ != 0) {
								while (!g_task_get_completed (_data_->_async_result)) {
									g_main_context_iteration (g_task_get_context (_data_->_async_result), TRUE);
								}
							}
							g_object_unref (_data_->_async_result);
							return FALSE;
						}
						_g_object_unref0 (_data_->builddir);
					}
				}
				_data_->_tmp174_ = _data_->self->priv->build_cancellable;
				if (g_cancellable_is_cancelled (_data_->_tmp174_)) {
					_data_->result = FALSE;
					_g_object_unref0 (_data_->clone_dir);
					_g_hash_table_unref0 (_data_->aur_pkgs);
					_g_ptr_array_unref0 (_data_->to_get_from_aur);
					_g_ptr_array_unref0 (_data_->dep_to_check);
					g_task_return_pointer (_data_->_async_result, _data_, NULL);
					if (_data_->_state_ != 0) {
						while (!g_task_get_completed (_data_->_async_result)) {
							g_main_context_iteration (g_task_get_context (_data_->_async_result), TRUE);
						}
					}
					g_object_unref (_data_->_async_result);
					return FALSE;
				}
				_data_->_tmp175_ = _data_->_vala1_pkgname;
				_data_->_tmp176_ = g_strdup_printf (g_dgettext (NULL, "Checking %s dependencies"), _data_->_tmp175_);
				_data_->_tmp177_ = _data_->_tmp176_;
				_data_->_tmp178_ = g_strconcat (_data_->_tmp177_, "...", NULL);
				_data_->_tmp179_ = _data_->_tmp178_;
				g_signal_emit (_data_->self, pamac_transaction_signals[PAMAC_TRANSACTION_EMIT_ACTION_SIGNAL], 0, _data_->_tmp179_);
				_g_free0 (_data_->_tmp179_);
				_g_free0 (_data_->_tmp177_);
				memset (&_data_->_tmp180_, 0, sizeof (struct utsname));
				uname (&_data_->_tmp180_);
				_data_->_tmp181_ = _data_->_tmp180_.machine;
				_data_->_tmp182_ = g_strdup (_data_->_tmp181_);
				_data_->arch = _data_->_tmp182_;
				_data_->_tmp183_ = _data_->clone_dir;
				if (g_file_query_exists (_data_->_tmp183_, NULL)) {
					_data_->_tmp184_ = _data_->clone_dir;
					_data_->_tmp185_ = g_file_get_child (_data_->_tmp184_, ".SRCINFO");
					_data_->_vala1_srcinfo = _data_->_tmp185_;
					{
						_data_->_tmp187_ = _data_->_vala1_srcinfo;
						_data_->_state_ = 5;
						g_file_read_async (_data_->_tmp187_, G_PRIORITY_DEFAULT, NULL, pamac_transaction_check_aur_dep_list_ready, _data_);
						return FALSE;
						_state_5:
						_data_->_tmp188_ = g_file_read_finish (_data_->_tmp187_, _data_->_res_, &_data_->_inner_error0_);
						_data_->_tmp186_ = _data_->_tmp188_;
						if (G_UNLIKELY (_data_->_inner_error0_ != NULL)) {
							goto __catch1_g_error;
						}
						_data_->_tmp189_ = g_data_input_stream_new ((GInputStream*) _data_->_tmp186_);
						_data_->_vala1_dis = _data_->_tmp189_;
						_data_->_tmp190_ = g_strdup ("");
						_data_->current_section = _data_->_tmp190_;
						_data_->current_section_is_pkgbase = TRUE;
						_data_->_tmp191_ = g_string_new ("");
						_data_->version = _data_->_tmp191_;
						_data_->_tmp192_ = g_strdup ("");
						_data_->pkgbase = _data_->_tmp192_;
						_data_->_tmp193_ = g_strdup ("");
						_data_->desc = _data_->_tmp193_;
						_data_->_tmp194_ = g_ptr_array_new_full ((guint) 0, _g_free0_);
						_data_->pkgnames_found = _data_->_tmp194_;
						_data_->_tmp195_ = g_ptr_array_new_full ((guint) 0, _g_free0_);
						_data_->global_depends = _data_->_tmp195_;
						_data_->_tmp196_ = g_ptr_array_new_full ((guint) 0, _g_free0_);
						_data_->global_checkdepends = _data_->_tmp196_;
						_data_->_tmp197_ = g_ptr_array_new_full ((guint) 0, _g_free0_);
						_data_->global_makedepends = _data_->_tmp197_;
						_data_->_tmp198_ = g_ptr_array_new_full ((guint) 0, _g_free0_);
						_data_->global_conflicts = _data_->_tmp198_;
						_data_->_tmp199_ = g_ptr_array_new_full ((guint) 0, _g_free0_);
						_data_->global_provides = _data_->_tmp199_;
						_data_->_tmp200_ = g_ptr_array_new_full ((guint) 0, _g_free0_);
						_data_->global_replaces = _data_->_tmp200_;
						_data_->_tmp201_ = g_str_hash;
						_data_->_tmp202_ = g_str_equal;
						_data_->_tmp203_ = g_hash_table_new_full (_data_->_tmp201_, _data_->_tmp202_, _g_free0_, _g_object_unref0_);
						_data_->pkgnames_table = _data_->_tmp203_;
						while (TRUE) {
							_data_->_tmp205_ = _data_->_vala1_dis;
							_data_->_state_ = 6;
							g_data_input_stream_read_line_async (_data_->_tmp205_, G_PRIORITY_DEFAULT, NULL, pamac_transaction_check_aur_dep_list_ready, _data_);
							return FALSE;
							_state_6:
							_data_->_tmp206_ = g_data_input_stream_read_line_finish (_data_->_tmp205_, _data_->_res_, NULL, &_data_->_inner_error0_);
							_data_->_tmp204_ = _data_->_tmp206_;
							if (G_UNLIKELY (_data_->_inner_error0_ != NULL)) {
								_g_hash_table_unref0 (_data_->pkgnames_table);
								_g_ptr_array_unref0 (_data_->global_replaces);
								_g_ptr_array_unref0 (_data_->global_provides);
								_g_ptr_array_unref0 (_data_->global_conflicts);
								_g_ptr_array_unref0 (_data_->global_makedepends);
								_g_ptr_array_unref0 (_data_->global_checkdepends);
								_g_ptr_array_unref0 (_data_->global_depends);
								_g_ptr_array_unref0 (_data_->pkgnames_found);
								_g_free0 (_data_->desc);
								_g_free0 (_data_->pkgbase);
								_g_string_free0 (_data_->version);
								_g_free0 (_data_->current_section);
								_g_free0 (_data_->_vala1_line);
								_g_object_unref0 (_data_->_vala1_dis);
								_g_object_unref0 (_data_->_tmp186_);
								goto __catch1_g_error;
							}
							_data_->_tmp207_ = _data_->_tmp204_;
							_data_->_tmp204_ = NULL;
							_g_free0 (_data_->_vala1_line);
							_data_->_vala1_line = _data_->_tmp207_;
							_data_->_tmp208_ = _data_->_vala1_line;
							if (!(_data_->_tmp208_ != NULL)) {
								_g_free0 (_data_->_tmp204_);
								break;
							}
							_data_->_tmp209_ = _data_->_vala1_line;
							if (string_contains (_data_->_tmp209_, "pkgbase = ")) {
								_data_->_tmp210_ = _data_->_vala1_line;
								_data_->_tmp212_ = _data_->_tmp211_ = g_strsplit (_data_->_tmp210_, " = ", 2);
								_data_->_tmp213_ = _data_->_tmp212_;
								_data_->_tmp213__length1 = _vala_array_length (_data_->_tmp211_);
								_data_->_tmp214_ = _data_->_tmp213_[1];
								_data_->_tmp215_ = g_strdup (_data_->_tmp214_);
								_g_free0 (_data_->pkgbase);
								_data_->pkgbase = _data_->_tmp215_;
								_data_->_tmp213_ = (_vala_array_free (_data_->_tmp213_, _data_->_tmp213__length1, (GDestroyNotify) g_free), NULL);
							} else {
								_data_->_tmp216_ = _data_->_vala1_line;
								if (string_contains (_data_->_tmp216_, "pkgdesc = ")) {
									_data_->_tmp217_ = _data_->_vala1_line;
									_data_->_tmp219_ = _data_->_tmp218_ = g_strsplit (_data_->_tmp217_, " = ", 2);
									_data_->_tmp220_ = _data_->_tmp219_;
									_data_->_tmp220__length1 = _vala_array_length (_data_->_tmp218_);
									_data_->_tmp221_ = _data_->_tmp220_[1];
									_data_->_tmp222_ = g_strdup (_data_->_tmp221_);
									_g_free0 (_data_->desc);
									_data_->desc = _data_->_tmp222_;
									_data_->_tmp220_ = (_vala_array_free (_data_->_tmp220_, _data_->_tmp220__length1, (GDestroyNotify) g_free), NULL);
									if (!_data_->current_section_is_pkgbase) {
										_data_->_tmp223_ = _data_->pkgnames_table;
										_data_->_tmp224_ = _data_->current_section;
										_data_->_tmp225_ = g_hash_table_lookup (_data_->_tmp223_, _data_->_tmp224_);
										_data_->aur_pkg_found = (PamacAURPackage*) _data_->_tmp225_;
										_data_->_tmp226_ = _data_->aur_pkg_found;
										if (_data_->_tmp226_ != NULL) {
											_data_->_tmp227_ = _data_->aur_pkg_found;
											_data_->_tmp228_ = _data_->desc;
											pamac_package_set_desc ((PamacPackage*) _data_->_tmp227_, _data_->_tmp228_);
										}
									}
								} else {
									_data_->_tmp229_ = _data_->_vala1_line;
									if (string_contains (_data_->_tmp229_, "pkgver = ")) {
										_data_->_tmp230_ = _data_->version;
										_data_->_tmp231_ = _data_->_vala1_line;
										_data_->_tmp233_ = _data_->_tmp232_ = g_strsplit (_data_->_tmp231_, " = ", 2);
										_data_->_tmp234_ = _data_->_tmp233_;
										_data_->_tmp234__length1 = _vala_array_length (_data_->_tmp232_);
										_data_->_tmp235_ = _data_->_tmp234_[1];
										g_string_append (_data_->_tmp230_, _data_->_tmp235_);
										_data_->_tmp234_ = (_vala_array_free (_data_->_tmp234_, _data_->_tmp234__length1, (GDestroyNotify) g_free), NULL);
									} else {
										_data_->_tmp236_ = _data_->_vala1_line;
										if (string_contains (_data_->_tmp236_, "pkgrel = ")) {
											_data_->_tmp237_ = _data_->version;
											g_string_append (_data_->_tmp237_, "-");
											_data_->_tmp238_ = _data_->version;
											_data_->_tmp239_ = _data_->_vala1_line;
											_data_->_tmp241_ = _data_->_tmp240_ = g_strsplit (_data_->_tmp239_, " = ", 2);
											_data_->_tmp242_ = _data_->_tmp241_;
											_data_->_tmp242__length1 = _vala_array_length (_data_->_tmp240_);
											_data_->_tmp243_ = _data_->_tmp242_[1];
											g_string_append (_data_->_tmp238_, _data_->_tmp243_);
											_data_->_tmp242_ = (_vala_array_free (_data_->_tmp242_, _data_->_tmp242__length1, (GDestroyNotify) g_free), NULL);
										} else {
											_data_->_tmp244_ = _data_->_vala1_line;
											if (string_contains (_data_->_tmp244_, "epoch = ")) {
												_data_->_tmp245_ = _data_->version;
												g_string_prepend (_data_->_tmp245_, ":");
												_data_->_tmp246_ = _data_->version;
												_data_->_tmp247_ = _data_->_vala1_line;
												_data_->_tmp249_ = _data_->_tmp248_ = g_strsplit (_data_->_tmp247_, " = ", 2);
												_data_->_tmp250_ = _data_->_tmp249_;
												_data_->_tmp250__length1 = _vala_array_length (_data_->_tmp248_);
												_data_->_tmp251_ = _data_->_tmp250_[1];
												g_string_prepend (_data_->_tmp246_, _data_->_tmp251_);
												_data_->_tmp250_ = (_vala_array_free (_data_->_tmp250_, _data_->_tmp250__length1, (GDestroyNotify) g_free), NULL);
											} else {
												_data_->_tmp252_ = _data_->_vala1_line;
												if (string_contains (_data_->_tmp252_, "optdepends")) {
													_g_free0 (_data_->_tmp204_);
													continue;
												} else {
													_data_->_tmp253_ = _data_->_vala1_line;
													if (string_contains (_data_->_tmp253_, "depends")) {
														_data_->_tmp255_ = _data_->_vala1_line;
														if (string_contains (_data_->_tmp255_, "depends = ")) {
															_data_->_tmp254_ = TRUE;
														} else {
															_data_->_tmp256_ = _data_->_vala1_line;
															_data_->_tmp257_ = _data_->arch;
															_data_->_tmp258_ = g_strdup_printf ("depends_%s = ", _data_->_tmp257_);
															_data_->_tmp259_ = _data_->_tmp258_;
															_data_->_tmp254_ = string_contains (_data_->_tmp256_, _data_->_tmp259_);
															_g_free0 (_data_->_tmp259_);
														}
														if (_data_->_tmp254_) {
															_data_->_tmp260_ = _data_->_vala1_line;
															_data_->_tmp262_ = _data_->_tmp261_ = g_strsplit (_data_->_tmp260_, " = ", 2);
															_data_->_tmp263_ = _data_->_tmp262_;
															_data_->_tmp263__length1 = _vala_array_length (_data_->_tmp261_);
															_data_->_tmp264_ = _data_->_tmp263_[1];
															_data_->_tmp265_ = g_strdup (_data_->_tmp264_);
															_data_->_tmp266_ = _data_->_tmp265_;
															_data_->_tmp263_ = (_vala_array_free (_data_->_tmp263_, _data_->_tmp263__length1, (GDestroyNotify) g_free), NULL);
															_data_->depend = _data_->_tmp266_;
															if (_data_->current_section_is_pkgbase) {
																_data_->_tmp267_ = _data_->_vala1_line;
																if (string_contains (_data_->_tmp267_, "checkdepends")) {
																	_data_->_tmp268_ = _data_->global_checkdepends;
																	_data_->_tmp269_ = _data_->depend;
																	_data_->depend = NULL;
																	g_ptr_array_add (_data_->_tmp268_, _data_->_tmp269_);
																} else {
																	_data_->_tmp270_ = _data_->_vala1_line;
																	if (string_contains (_data_->_tmp270_, "makedepends")) {
																		_data_->_tmp271_ = _data_->global_makedepends;
																		_data_->_tmp272_ = _data_->depend;
																		_data_->depend = NULL;
																		g_ptr_array_add (_data_->_tmp271_, _data_->_tmp272_);
																	} else {
																		_data_->_tmp273_ = _data_->global_depends;
																		_data_->_tmp274_ = _data_->depend;
																		_data_->depend = NULL;
																		g_ptr_array_add (_data_->_tmp273_, _data_->_tmp274_);
																	}
																}
															} else {
																_data_->_tmp275_ = _data_->pkgnames_table;
																_data_->_tmp276_ = _data_->current_section;
																_data_->_tmp277_ = g_hash_table_lookup (_data_->_tmp275_, _data_->_tmp276_);
																_data_->_vala1_aur_pkg_found = (PamacAURPackage*) _data_->_tmp277_;
																_data_->_tmp278_ = _data_->_vala1_aur_pkg_found;
																if (_data_->_tmp278_ != NULL) {
																	_data_->_tmp279_ = _data_->_vala1_aur_pkg_found;
																	_data_->_tmp280_ = pamac_alpm_package_get_depends ((PamacAlpmPackage*) _data_->_tmp279_);
																	_data_->_tmp281_ = _data_->_tmp280_;
																	_data_->_tmp282_ = _data_->depend;
																	_data_->depend = NULL;
																	g_ptr_array_add (_data_->_tmp281_, _data_->_tmp282_);
																}
															}
															_g_free0 (_data_->depend);
														}
													} else {
														_data_->_tmp283_ = _data_->_vala1_line;
														if (string_contains (_data_->_tmp283_, "provides")) {
															_data_->_tmp285_ = _data_->_vala1_line;
															if (string_contains (_data_->_tmp285_, "provides = ")) {
																_data_->_tmp284_ = TRUE;
															} else {
																_data_->_tmp286_ = _data_->_vala1_line;
																_data_->_tmp287_ = _data_->arch;
																_data_->_tmp288_ = g_strdup_printf ("provides_%s = ", _data_->_tmp287_);
																_data_->_tmp289_ = _data_->_tmp288_;
																_data_->_tmp284_ = string_contains (_data_->_tmp286_, _data_->_tmp289_);
																_g_free0 (_data_->_tmp289_);
															}
															if (_data_->_tmp284_) {
																_data_->_tmp290_ = _data_->_vala1_line;
																_data_->_tmp292_ = _data_->_tmp291_ = g_strsplit (_data_->_tmp290_, " = ", 2);
																_data_->_tmp293_ = _data_->_tmp292_;
																_data_->_tmp293__length1 = _vala_array_length (_data_->_tmp291_);
																_data_->_tmp294_ = _data_->_tmp293_[1];
																_data_->_tmp295_ = g_strdup (_data_->_tmp294_);
																_data_->_tmp296_ = _data_->_tmp295_;
																_data_->_tmp293_ = (_vala_array_free (_data_->_tmp293_, _data_->_tmp293__length1, (GDestroyNotify) g_free), NULL);
																_data_->provide = _data_->_tmp296_;
																if (_data_->current_section_is_pkgbase) {
																	_data_->_tmp297_ = _data_->global_provides;
																	_data_->_tmp298_ = _data_->provide;
																	_data_->provide = NULL;
																	g_ptr_array_add (_data_->_tmp297_, _data_->_tmp298_);
																} else {
																	_data_->_tmp299_ = _data_->pkgnames_table;
																	_data_->_tmp300_ = _data_->current_section;
																	_data_->_tmp301_ = g_hash_table_lookup (_data_->_tmp299_, _data_->_tmp300_);
																	_data_->_vala2_aur_pkg_found = (PamacAURPackage*) _data_->_tmp301_;
																	_data_->_tmp302_ = _data_->_vala2_aur_pkg_found;
																	if (_data_->_tmp302_ != NULL) {
																		_data_->_tmp303_ = _data_->_vala2_aur_pkg_found;
																		_data_->_tmp304_ = pamac_alpm_package_get_provides ((PamacAlpmPackage*) _data_->_tmp303_);
																		_data_->_tmp305_ = _data_->_tmp304_;
																		_data_->_tmp306_ = _data_->provide;
																		_data_->provide = NULL;
																		g_ptr_array_add (_data_->_tmp305_, _data_->_tmp306_);
																	}
																}
																_g_free0 (_data_->provide);
															}
														} else {
															_data_->_tmp307_ = _data_->_vala1_line;
															if (string_contains (_data_->_tmp307_, "conflicts")) {
																_data_->_tmp309_ = _data_->_vala1_line;
																if (string_contains (_data_->_tmp309_, "conflicts = ")) {
																	_data_->_tmp308_ = TRUE;
																} else {
																	_data_->_tmp310_ = _data_->_vala1_line;
																	_data_->_tmp311_ = _data_->arch;
																	_data_->_tmp312_ = g_strdup_printf ("conflicts_%s = ", _data_->_tmp311_);
																	_data_->_tmp313_ = _data_->_tmp312_;
																	_data_->_tmp308_ = string_contains (_data_->_tmp310_, _data_->_tmp313_);
																	_g_free0 (_data_->_tmp313_);
																}
																if (_data_->_tmp308_) {
																	_data_->_tmp314_ = _data_->_vala1_line;
																	_data_->_tmp316_ = _data_->_tmp315_ = g_strsplit (_data_->_tmp314_, " = ", 2);
																	_data_->_tmp317_ = _data_->_tmp316_;
																	_data_->_tmp317__length1 = _vala_array_length (_data_->_tmp315_);
																	_data_->_tmp318_ = _data_->_tmp317_[1];
																	_data_->_tmp319_ = g_strdup (_data_->_tmp318_);
																	_data_->_tmp320_ = _data_->_tmp319_;
																	_data_->_tmp317_ = (_vala_array_free (_data_->_tmp317_, _data_->_tmp317__length1, (GDestroyNotify) g_free), NULL);
																	_data_->conflict = _data_->_tmp320_;
																	if (_data_->current_section_is_pkgbase) {
																		_data_->_tmp321_ = _data_->global_conflicts;
																		_data_->_tmp322_ = _data_->conflict;
																		_data_->conflict = NULL;
																		g_ptr_array_add (_data_->_tmp321_, _data_->_tmp322_);
																	} else {
																		_data_->_tmp323_ = _data_->pkgnames_table;
																		_data_->_tmp324_ = _data_->current_section;
																		_data_->_tmp325_ = g_hash_table_lookup (_data_->_tmp323_, _data_->_tmp324_);
																		_data_->_vala3_aur_pkg_found = (PamacAURPackage*) _data_->_tmp325_;
																		_data_->_tmp326_ = _data_->_vala3_aur_pkg_found;
																		if (_data_->_tmp326_ != NULL) {
																			_data_->_tmp327_ = _data_->_vala3_aur_pkg_found;
																			_data_->_tmp328_ = pamac_alpm_package_get_conflicts ((PamacAlpmPackage*) _data_->_tmp327_);
																			_data_->_tmp329_ = _data_->_tmp328_;
																			_data_->_tmp330_ = _data_->conflict;
																			_data_->conflict = NULL;
																			g_ptr_array_add (_data_->_tmp329_, _data_->_tmp330_);
																		}
																	}
																	_g_free0 (_data_->conflict);
																}
															} else {
																_data_->_tmp331_ = _data_->_vala1_line;
																if (string_contains (_data_->_tmp331_, "replaces")) {
																	_data_->_tmp333_ = _data_->_vala1_line;
																	if (string_contains (_data_->_tmp333_, "replaces = ")) {
																		_data_->_tmp332_ = TRUE;
																	} else {
																		_data_->_tmp334_ = _data_->_vala1_line;
																		_data_->_tmp335_ = _data_->arch;
																		_data_->_tmp336_ = g_strdup_printf ("replaces_%s = ", _data_->_tmp335_);
																		_data_->_tmp337_ = _data_->_tmp336_;
																		_data_->_tmp332_ = string_contains (_data_->_tmp334_, _data_->_tmp337_);
																		_g_free0 (_data_->_tmp337_);
																	}
																	if (_data_->_tmp332_) {
																		_data_->_tmp338_ = _data_->_vala1_line;
																		_data_->_tmp340_ = _data_->_tmp339_ = g_strsplit (_data_->_tmp338_, " = ", 2);
																		_data_->_tmp341_ = _data_->_tmp340_;
																		_data_->_tmp341__length1 = _vala_array_length (_data_->_tmp339_);
																		_data_->_tmp342_ = _data_->_tmp341_[1];
																		_data_->_tmp343_ = g_strdup (_data_->_tmp342_);
																		_data_->_tmp344_ = _data_->_tmp343_;
																		_data_->_tmp341_ = (_vala_array_free (_data_->_tmp341_, _data_->_tmp341__length1, (GDestroyNotify) g_free), NULL);
																		_data_->replace = _data_->_tmp344_;
																		if (_data_->current_section_is_pkgbase) {
																			_data_->_tmp345_ = _data_->global_replaces;
																			_data_->_tmp346_ = _data_->replace;
																			_data_->replace = NULL;
																			g_ptr_array_add (_data_->_tmp345_, _data_->_tmp346_);
																		} else {
																			_data_->_tmp347_ = _data_->pkgnames_table;
																			_data_->_tmp348_ = _data_->current_section;
																			_data_->_tmp349_ = g_hash_table_lookup (_data_->_tmp347_, _data_->_tmp348_);
																			_data_->_vala4_aur_pkg_found = (PamacAURPackage*) _data_->_tmp349_;
																			_data_->_tmp350_ = _data_->_vala4_aur_pkg_found;
																			if (_data_->_tmp350_ != NULL) {
																				_data_->_tmp351_ = _data_->_vala4_aur_pkg_found;
																				_data_->_tmp352_ = pamac_alpm_package_get_replaces ((PamacAlpmPackage*) _data_->_tmp351_);
																				_data_->_tmp353_ = _data_->_tmp352_;
																				_data_->_tmp354_ = _data_->replace;
																				_data_->replace = NULL;
																				g_ptr_array_add (_data_->_tmp353_, _data_->_tmp354_);
																			}
																		}
																		_g_free0 (_data_->replace);
																	}
																} else {
																	_data_->_tmp355_ = _data_->_vala1_line;
																	if (string_contains (_data_->_tmp355_, "pkgname = ")) {
																		_data_->_tmp356_ = _data_->_vala1_line;
																		_data_->_tmp358_ = _data_->_tmp357_ = g_strsplit (_data_->_tmp356_, " = ", 2);
																		_data_->_tmp359_ = _data_->_tmp358_;
																		_data_->_tmp359__length1 = _vala_array_length (_data_->_tmp357_);
																		_data_->_tmp360_ = _data_->_tmp359_[1];
																		_data_->_tmp361_ = g_strdup (_data_->_tmp360_);
																		_data_->_tmp362_ = _data_->_tmp361_;
																		_data_->_tmp359_ = (_vala_array_free (_data_->_tmp359_, _data_->_tmp359__length1, (GDestroyNotify) g_free), NULL);
																		_data_->pkgname_found = _data_->_tmp362_;
																		_data_->_tmp363_ = _data_->pkgname_found;
																		_data_->_tmp364_ = g_strdup (_data_->_tmp363_);
																		_g_free0 (_data_->current_section);
																		_data_->current_section = _data_->_tmp364_;
																		_data_->current_section_is_pkgbase = FALSE;
																		_data_->_tmp365_ = _data_->pkgnames_table;
																		_data_->_tmp366_ = _data_->pkgname_found;
																		if (!g_hash_table_contains (_data_->_tmp365_, _data_->_tmp366_)) {
																			_data_->_tmp367_ = pamac_aur_package_static_new ();
																			_data_->_vala5_aur_pkg_found = _data_->_tmp367_;
																			_data_->_tmp368_ = _data_->_vala5_aur_pkg_found;
																			_data_->_tmp369_ = _data_->pkgname_found;
																			pamac_package_set_name ((PamacPackage*) _data_->_tmp368_, _data_->_tmp369_);
																			_data_->_tmp370_ = _data_->_vala5_aur_pkg_found;
																			_data_->_tmp371_ = _data_->version;
																			_data_->_tmp372_ = _data_->_tmp371_->str;
																			pamac_package_set_version ((PamacPackage*) _data_->_tmp370_, _data_->_tmp372_);
																			_data_->_tmp373_ = _data_->_vala5_aur_pkg_found;
																			_data_->_tmp374_ = _data_->desc;
																			pamac_package_set_desc ((PamacPackage*) _data_->_tmp373_, _data_->_tmp374_);
																			_data_->_tmp375_ = _data_->_vala5_aur_pkg_found;
																			_data_->_tmp376_ = _data_->pkgbase;
																			pamac_aur_package_set_packagebase ((PamacAURPackage*) _data_->_tmp375_, _data_->_tmp376_);
																			_data_->_tmp377_ = _data_->pkgnames_table;
																			_data_->_tmp378_ = _data_->pkgname_found;
																			_data_->_tmp379_ = g_strdup (_data_->_tmp378_);
																			_data_->_tmp380_ = _data_->_vala5_aur_pkg_found;
																			_data_->_tmp381_ = _g_object_ref0 ((PamacAURPackage*) _data_->_tmp380_);
																			g_hash_table_insert (_data_->_tmp377_, _data_->_tmp379_, _data_->_tmp381_);
																			_data_->_tmp382_ = _data_->pkgnames_found;
																			_data_->_tmp383_ = _data_->pkgname_found;
																			_data_->pkgname_found = NULL;
																			g_ptr_array_add (_data_->_tmp382_, _data_->_tmp383_);
																			_g_object_unref0 (_data_->_vala5_aur_pkg_found);
																		}
																		_g_free0 (_data_->pkgname_found);
																	}
																}
															}
														}
													}
												}
											}
										}
									}
								}
							}
							_g_free0 (_data_->_tmp204_);
						}
						_data_->_tmp384_ = _data_->pkgnames_found;
						{
							_data_->pkgname_found_collection = _data_->_tmp384_;
							for (_data_->pkgname_found_index = 0; _data_->pkgname_found_index < _data_->pkgname_found_collection->len; _data_->pkgname_found_index = _data_->pkgname_found_index + 1) {
								_data_->_vala1_pkgname_found = (const gchar*) g_ptr_array_index (_data_->pkgname_found_collection, _data_->pkgname_found_index);
								{
									_data_->_tmp385_ = _data_->self->priv->already_checked_aur_dep;
									_data_->_tmp386_ = _data_->_vala1_pkgname_found;
									_data_->_tmp387_ = g_strdup (_data_->_tmp386_);
									g_hash_table_add (_data_->_tmp385_, _data_->_tmp387_);
								}
							}
						}
						_data_->_tmp388_ = _data_->pkgnames_found;
						{
							_data_->_vala1_pkgname_found_collection = _data_->_tmp388_;
							for (_data_->_vala1_pkgname_found_index = 0; _data_->_vala1_pkgname_found_index < _data_->_vala1_pkgname_found_collection->len; _data_->_vala1_pkgname_found_index = _data_->_vala1_pkgname_found_index + 1) {
								_data_->_vala2_pkgname_found = (const gchar*) g_ptr_array_index (_data_->_vala1_pkgname_found_collection, _data_->_vala1_pkgname_found_index);
								{
									_data_->_tmp389_ = _data_->pkgnames_table;
									_data_->_tmp390_ = _data_->_vala2_pkgname_found;
									_data_->_tmp391_ = g_hash_table_lookup (_data_->_tmp389_, _data_->_tmp390_);
									_data_->_vala6_aur_pkg_found = (PamacAURPackage*) _data_->_tmp391_;
									_data_->_tmp393_ = _data_->global_depends;
									_data_->_tmp394_ = vala_g_ptr_array_get_length (_data_->_tmp393_);
									_data_->_tmp395_ = _data_->_tmp394_;
									if (_data_->_tmp395_ != 0) {
										_data_->_tmp396_ = _data_->_vala6_aur_pkg_found;
										_data_->_tmp397_ = pamac_alpm_package_get_depends ((PamacAlpmPackage*) _data_->_tmp396_);
										_data_->_tmp398_ = _data_->_tmp397_;
										_data_->_tmp399_ = vala_g_ptr_array_get_length (_data_->_tmp398_);
										_data_->_tmp400_ = _data_->_tmp399_;
										_data_->_tmp392_ = _data_->_tmp400_ == 0;
									} else {
										_data_->_tmp392_ = FALSE;
									}
									if (_data_->_tmp392_) {
										_data_->_tmp401_ = _data_->_vala6_aur_pkg_found;
										_data_->_tmp402_ = _data_->global_depends;
										_data_->_tmp403_ = g_ptr_array_copy (_data_->_tmp402_, _g_strdup_gcopy_func, NULL);
										_data_->_tmp404_ = _data_->_tmp403_;
										pamac_alpm_package_set_depends ((PamacAlpmPackage*) _data_->_tmp401_, _data_->_tmp404_);
										_g_ptr_array_unref0 (_data_->_tmp404_);
									}
									_data_->_tmp406_ = _data_->global_provides;
									_data_->_tmp407_ = vala_g_ptr_array_get_length (_data_->_tmp406_);
									_data_->_tmp408_ = _data_->_tmp407_;
									if (_data_->_tmp408_ != 0) {
										_data_->_tmp409_ = _data_->_vala6_aur_pkg_found;
										_data_->_tmp410_ = pamac_alpm_package_get_provides ((PamacAlpmPackage*) _data_->_tmp409_);
										_data_->_tmp411_ = _data_->_tmp410_;
										_data_->_tmp412_ = vala_g_ptr_array_get_length (_data_->_tmp411_);
										_data_->_tmp413_ = _data_->_tmp412_;
										_data_->_tmp405_ = _data_->_tmp413_ == 0;
									} else {
										_data_->_tmp405_ = FALSE;
									}
									if (_data_->_tmp405_) {
										_data_->_tmp414_ = _data_->_vala6_aur_pkg_found;
										_data_->_tmp415_ = _data_->global_provides;
										_data_->_tmp416_ = g_ptr_array_copy (_data_->_tmp415_, _g_strdup_gcopy_func, NULL);
										_data_->_tmp417_ = _data_->_tmp416_;
										pamac_alpm_package_set_provides ((PamacAlpmPackage*) _data_->_tmp414_, _data_->_tmp417_);
										_g_ptr_array_unref0 (_data_->_tmp417_);
									}
									_data_->_tmp419_ = _data_->global_conflicts;
									_data_->_tmp420_ = vala_g_ptr_array_get_length (_data_->_tmp419_);
									_data_->_tmp421_ = _data_->_tmp420_;
									if (_data_->_tmp421_ != 0) {
										_data_->_tmp422_ = _data_->_vala6_aur_pkg_found;
										_data_->_tmp423_ = pamac_alpm_package_get_conflicts ((PamacAlpmPackage*) _data_->_tmp422_);
										_data_->_tmp424_ = _data_->_tmp423_;
										_data_->_tmp425_ = vala_g_ptr_array_get_length (_data_->_tmp424_);
										_data_->_tmp426_ = _data_->_tmp425_;
										_data_->_tmp418_ = _data_->_tmp426_ == 0;
									} else {
										_data_->_tmp418_ = FALSE;
									}
									if (_data_->_tmp418_) {
										_data_->_tmp427_ = _data_->_vala6_aur_pkg_found;
										_data_->_tmp428_ = _data_->global_conflicts;
										_data_->_tmp429_ = g_ptr_array_copy (_data_->_tmp428_, _g_strdup_gcopy_func, NULL);
										_data_->_tmp430_ = _data_->_tmp429_;
										pamac_alpm_package_set_conflicts ((PamacAlpmPackage*) _data_->_tmp427_, _data_->_tmp430_);
										_g_ptr_array_unref0 (_data_->_tmp430_);
									}
									_data_->_tmp432_ = _data_->global_replaces;
									_data_->_tmp433_ = vala_g_ptr_array_get_length (_data_->_tmp432_);
									_data_->_tmp434_ = _data_->_tmp433_;
									if (_data_->_tmp434_ != 0) {
										_data_->_tmp435_ = _data_->_vala6_aur_pkg_found;
										_data_->_tmp436_ = pamac_alpm_package_get_replaces ((PamacAlpmPackage*) _data_->_tmp435_);
										_data_->_tmp437_ = _data_->_tmp436_;
										_data_->_tmp438_ = vala_g_ptr_array_get_length (_data_->_tmp437_);
										_data_->_tmp439_ = _data_->_tmp438_;
										_data_->_tmp431_ = _data_->_tmp439_ == 0;
									} else {
										_data_->_tmp431_ = FALSE;
									}
									if (_data_->_tmp431_) {
										_data_->_tmp440_ = _data_->_vala6_aur_pkg_found;
										_data_->_tmp441_ = _data_->global_replaces;
										_data_->_tmp442_ = g_ptr_array_copy (_data_->_tmp441_, _g_strdup_gcopy_func, NULL);
										_data_->_tmp443_ = _data_->_tmp442_;
										pamac_alpm_package_set_replaces ((PamacAlpmPackage*) _data_->_tmp440_, _data_->_tmp443_);
										_g_ptr_array_unref0 (_data_->_tmp443_);
									}
									_data_->_tmp444_ = _data_->global_checkdepends;
									{
										_data_->global_checkdepend_collection = _data_->_tmp444_;
										for (_data_->global_checkdepend_index = 0; _data_->global_checkdepend_index < _data_->global_checkdepend_collection->len; _data_->global_checkdepend_index = _data_->global_checkdepend_index + 1) {
											_data_->global_checkdepend = (const gchar*) g_ptr_array_index (_data_->global_checkdepend_collection, _data_->global_checkdepend_index);
											{
												_data_->_tmp445_ = _data_->_vala6_aur_pkg_found;
												_data_->_tmp446_ = pamac_alpm_package_get_depends ((PamacAlpmPackage*) _data_->_tmp445_);
												_data_->_tmp447_ = _data_->_tmp446_;
												_data_->_tmp448_ = _data_->global_checkdepend;
												_data_->_tmp449_ = g_strdup (_data_->_tmp448_);
												g_ptr_array_add (_data_->_tmp447_, _data_->_tmp449_);
											}
										}
									}
									_data_->_tmp450_ = _data_->global_makedepends;
									{
										_data_->global_makedepend_collection = _data_->_tmp450_;
										for (_data_->global_makedepend_index = 0; _data_->global_makedepend_index < _data_->global_makedepend_collection->len; _data_->global_makedepend_index = _data_->global_makedepend_index + 1) {
											_data_->global_makedepend = (const gchar*) g_ptr_array_index (_data_->global_makedepend_collection, _data_->global_makedepend_index);
											{
												_data_->_tmp451_ = _data_->_vala6_aur_pkg_found;
												_data_->_tmp452_ = pamac_alpm_package_get_depends ((PamacAlpmPackage*) _data_->_tmp451_);
												_data_->_tmp453_ = _data_->_tmp452_;
												_data_->_tmp454_ = _data_->global_makedepend;
												_data_->_tmp455_ = g_strdup (_data_->_tmp454_);
												g_ptr_array_add (_data_->_tmp453_, _data_->_tmp455_);
											}
										}
									}
									_data_->_tmp456_ = _data_->_vala6_aur_pkg_found;
									_data_->_tmp457_ = pamac_alpm_package_get_depends ((PamacAlpmPackage*) _data_->_tmp456_);
									_data_->_tmp458_ = _data_->_tmp457_;
									{
										_data_->dep_string_collection = _data_->_tmp458_;
										for (_data_->dep_string_index = 0; _data_->dep_string_index < _data_->dep_string_collection->len; _data_->dep_string_index = _data_->dep_string_index + 1) {
											_data_->dep_string = (const gchar*) g_ptr_array_index (_data_->dep_string_collection, _data_->dep_string_index);
											{
												_data_->_tmp460_ = _data_->self->priv->_database;
												_data_->_tmp461_ = _data_->dep_string;
												if (!pamac_database_has_installed_satisfier (_data_->_tmp460_, _data_->_tmp461_)) {
													_data_->_tmp462_ = _data_->self->priv->_database;
													_data_->_tmp463_ = _data_->dep_string;
													_data_->_tmp459_ = !pamac_database_has_sync_satisfier (_data_->_tmp462_, _data_->_tmp463_);
												} else {
													_data_->_tmp459_ = FALSE;
												}
												if (_data_->_tmp459_) {
													_data_->_tmp464_ = _data_->self->priv->_database;
													_data_->_tmp465_ = _data_->dep_string;
													_data_->_tmp466_ = pamac_database_get_alpm_dep_name (_data_->_tmp464_, _data_->_tmp465_);
													_data_->dep_name = _data_->_tmp466_;
													_data_->_tmp467_ = _data_->self->priv->already_checked_aur_dep;
													_data_->_tmp468_ = _data_->dep_name;
													if (!g_hash_table_contains (_data_->_tmp467_, _data_->_tmp468_)) {
														_data_->_tmp469_ = _data_->dep_to_check;
														_data_->_tmp470_ = _data_->dep_name;
														_data_->_tmp471_ = g_strdup (_data_->_tmp470_);
														g_ptr_array_add (_data_->_tmp469_, _data_->_tmp471_);
														_data_->_tmp472_ = _data_->self->priv->clone_deps_files;
														_data_->_tmp473_ = _data_->_vala1_pkgname;
														if (g_hash_table_contains (_data_->_tmp472_, _data_->_tmp473_)) {
															_data_->_tmp474_ = _data_->self->priv->clone_files;
															_data_->_tmp475_ = _data_->dep_name;
															_data_->_tmp476_ = g_strdup (_data_->_tmp475_);
															g_hash_table_add (_data_->_tmp474_, _data_->_tmp476_);
															_data_->_tmp477_ = _data_->self->priv->clone_deps_files;
															_data_->_tmp478_ = _data_->dep_name;
															_data_->_tmp479_ = g_strdup (_data_->_tmp478_);
															g_hash_table_add (_data_->_tmp477_, _data_->_tmp479_);
														}
													}
													_g_free0 (_data_->dep_name);
												}
											}
										}
									}
									_data_->_tmp480_ = _data_->_vala2_pkgname_found;
									_data_->_tmp481_ = _data_->_vala6_aur_pkg_found;
									_data_->_tmp482_ = pamac_package_get_version ((PamacPackage*) _data_->_tmp481_);
									_data_->_tmp483_ = _data_->_tmp482_;
									_data_->_tmp484_ = g_strdup_printf ("%s-%s", _data_->_tmp480_, _data_->_tmp483_);
									_data_->pkgdir = _data_->_tmp484_;
									_data_->_tmp485_ = _data_->self->priv->aurdb_path;
									_data_->_tmp486_ = _data_->pkgdir;
									_data_->_tmp487_ = g_strdup_printf ("%s/%s", _data_->_tmp485_, _data_->_tmp486_);
									_data_->pkgdir_path = _data_->_tmp487_;
									_data_->_tmp488_ = _data_->self->priv->aur_desc_list;
									_data_->_tmp489_ = _data_->pkgdir;
									_data_->_tmp490_ = g_strdup (_data_->_tmp489_);
									g_hash_table_add (_data_->_tmp488_, _data_->_tmp490_);
									_data_->_tmp491_ = _data_->pkgdir_path;
									_data_->_tmp492_ = g_file_new_for_path (_data_->_tmp491_);
									_data_->file = _data_->_tmp492_;
									_data_->_tmp493_ = _data_->file;
									if (!g_file_query_exists (_data_->_tmp493_, NULL)) {
										_data_->_tmp494_ = _data_->file;
										_data_->_state_ = 7;
										g_file_make_directory_async (_data_->_tmp494_, G_PRIORITY_DEFAULT, NULL, pamac_transaction_check_aur_dep_list_ready, _data_);
										return FALSE;
										_state_7:
										g_file_make_directory_finish (_data_->_tmp494_, _data_->_res_, &_data_->_inner_error0_);
										if (G_UNLIKELY (_data_->_inner_error0_ != NULL)) {
											_g_object_unref0 (_data_->file);
											_g_free0 (_data_->pkgdir_path);
											_g_free0 (_data_->pkgdir);
											_g_hash_table_unref0 (_data_->pkgnames_table);
											_g_ptr_array_unref0 (_data_->global_replaces);
											_g_ptr_array_unref0 (_data_->global_provides);
											_g_ptr_array_unref0 (_data_->global_conflicts);
											_g_ptr_array_unref0 (_data_->global_makedepends);
											_g_ptr_array_unref0 (_data_->global_checkdepends);
											_g_ptr_array_unref0 (_data_->global_depends);
											_g_ptr_array_unref0 (_data_->pkgnames_found);
											_g_free0 (_data_->desc);
											_g_free0 (_data_->pkgbase);
											_g_string_free0 (_data_->version);
											_g_free0 (_data_->current_section);
											_g_free0 (_data_->_vala1_line);
											_g_object_unref0 (_data_->_vala1_dis);
											_g_object_unref0 (_data_->_tmp186_);
											goto __catch1_g_error;
										}
									}
									_data_->_tmp495_ = _data_->pkgdir_path;
									_data_->_tmp496_ = g_strdup_printf ("%s/desc", _data_->_tmp495_);
									_data_->_tmp497_ = _data_->_tmp496_;
									_data_->_tmp498_ = g_file_new_for_path (_data_->_tmp497_);
									_g_object_unref0 (_data_->file);
									_data_->file = _data_->_tmp498_;
									_g_free0 (_data_->_tmp497_);
									_data_->_tmp499_ = _data_->file;
									if (g_file_query_exists (_data_->_tmp499_, NULL)) {
										_data_->_tmp501_ = _data_->file;
										_data_->_state_ = 8;
										g_file_replace_async (_data_->_tmp501_, NULL, FALSE, G_FILE_CREATE_NONE, G_PRIORITY_DEFAULT, NULL, pamac_transaction_check_aur_dep_list_ready, _data_);
										return FALSE;
										_state_8:
										_data_->_tmp502_ = g_file_replace_finish (_data_->_tmp501_, _data_->_res_, &_data_->_inner_error0_);
										_data_->_tmp500_ = _data_->_tmp502_;
										if (G_UNLIKELY (_data_->_inner_error0_ != NULL)) {
											_g_object_unref0 (_data_->fos);
											_g_object_unref0 (_data_->file);
											_g_free0 (_data_->pkgdir_path);
											_g_free0 (_data_->pkgdir);
											_g_hash_table_unref0 (_data_->pkgnames_table);
											_g_ptr_array_unref0 (_data_->global_replaces);
											_g_ptr_array_unref0 (_data_->global_provides);
											_g_ptr_array_unref0 (_data_->global_conflicts);
											_g_ptr_array_unref0 (_data_->global_makedepends);
											_g_ptr_array_unref0 (_data_->global_checkdepends);
											_g_ptr_array_unref0 (_data_->global_depends);
											_g_ptr_array_unref0 (_data_->pkgnames_found);
											_g_free0 (_data_->desc);
											_g_free0 (_data_->pkgbase);
											_g_string_free0 (_data_->version);
											_g_free0 (_data_->current_section);
											_g_free0 (_data_->_vala1_line);
											_g_object_unref0 (_data_->_vala1_dis);
											_g_object_unref0 (_data_->_tmp186_);
											goto __catch1_g_error;
										}
										_data_->_tmp503_ = _data_->_tmp500_;
										_data_->_tmp500_ = NULL;
										_g_object_unref0 (_data_->fos);
										_data_->fos = _data_->_tmp503_;
										_g_object_unref0 (_data_->_tmp500_);
									} else {
										_data_->_tmp505_ = _data_->file;
										_data_->_state_ = 9;
										g_file_create_async (_data_->_tmp505_, G_FILE_CREATE_NONE, G_PRIORITY_DEFAULT, NULL, pamac_transaction_check_aur_dep_list_ready, _data_);
										return FALSE;
										_state_9:
										_data_->_tmp506_ = g_file_create_finish (_data_->_tmp505_, _data_->_res_, &_data_->_inner_error0_);
										_data_->_tmp504_ = _data_->_tmp506_;
										if (G_UNLIKELY (_data_->_inner_error0_ != NULL)) {
											_g_object_unref0 (_data_->fos);
											_g_object_unref0 (_data_->file);
											_g_free0 (_data_->pkgdir_path);
											_g_free0 (_data_->pkgdir);
											_g_hash_table_unref0 (_data_->pkgnames_table);
											_g_ptr_array_unref0 (_data_->global_replaces);
											_g_ptr_array_unref0 (_data_->global_provides);
											_g_ptr_array_unref0 (_data_->global_conflicts);
											_g_ptr_array_unref0 (_data_->global_makedepends);
											_g_ptr_array_unref0 (_data_->global_checkdepends);
											_g_ptr_array_unref0 (_data_->global_depends);
											_g_ptr_array_unref0 (_data_->pkgnames_found);
											_g_free0 (_data_->desc);
											_g_free0 (_data_->pkgbase);
											_g_string_free0 (_data_->version);
											_g_free0 (_data_->current_section);
											_g_free0 (_data_->_vala1_line);
											_g_object_unref0 (_data_->_vala1_dis);
											_g_object_unref0 (_data_->_tmp186_);
											goto __catch1_g_error;
										}
										_data_->_tmp507_ = _data_->_tmp504_;
										_data_->_tmp504_ = NULL;
										_g_object_unref0 (_data_->fos);
										_data_->fos = _data_->_tmp507_;
										_g_object_unref0 (_data_->_tmp504_);
									}
									_data_->_tmp508_ = _data_->fos;
									_data_->_tmp509_ = g_data_output_stream_new ((GOutputStream*) _data_->_tmp508_);
									_data_->dos = _data_->_tmp509_;
									_data_->_tmp510_ = _data_->dos;
									_data_->_tmp511_ = _data_->_vala2_pkgname_found;
									_data_->_tmp512_ = _data_->_vala6_aur_pkg_found;
									_data_->_tmp513_ = pamac_package_get_version ((PamacPackage*) _data_->_tmp512_);
									_data_->_tmp514_ = _data_->_tmp513_;
									_data_->_tmp515_ = g_strdup_printf ("%s-%s-any.pkg.tar\n\n", _data_->_tmp511_, _data_->_tmp514_);
									_data_->_tmp516_ = _data_->_tmp515_;
									_data_->_tmp517_ = g_strconcat ("%FILENAME%\n", _data_->_tmp516_, NULL);
									_data_->_tmp518_ = _data_->_tmp517_;
									g_data_output_stream_put_string (_data_->_tmp510_, _data_->_tmp518_, NULL, &_data_->_inner_error0_);
									_g_free0 (_data_->_tmp518_);
									_g_free0 (_data_->_tmp516_);
									if (G_UNLIKELY (_data_->_inner_error0_ != NULL)) {
										_g_object_unref0 (_data_->dos);
										_g_object_unref0 (_data_->fos);
										_g_object_unref0 (_data_->file);
										_g_free0 (_data_->pkgdir_path);
										_g_free0 (_data_->pkgdir);
										_g_hash_table_unref0 (_data_->pkgnames_table);
										_g_ptr_array_unref0 (_data_->global_replaces);
										_g_ptr_array_unref0 (_data_->global_provides);
										_g_ptr_array_unref0 (_data_->global_conflicts);
										_g_ptr_array_unref0 (_data_->global_makedepends);
										_g_ptr_array_unref0 (_data_->global_checkdepends);
										_g_ptr_array_unref0 (_data_->global_depends);
										_g_ptr_array_unref0 (_data_->pkgnames_found);
										_g_free0 (_data_->desc);
										_g_free0 (_data_->pkgbase);
										_g_string_free0 (_data_->version);
										_g_free0 (_data_->current_section);
										_g_free0 (_data_->_vala1_line);
										_g_object_unref0 (_data_->_vala1_dis);
										_g_object_unref0 (_data_->_tmp186_);
										goto __catch1_g_error;
									}
									_data_->_tmp519_ = _data_->dos;
									_data_->_tmp520_ = _data_->_vala2_pkgname_found;
									_data_->_tmp521_ = g_strdup_printf ("%NAME%\n%s\n\n", _data_->_tmp520_);
									_data_->_tmp522_ = _data_->_tmp521_;
									g_data_output_stream_put_string (_data_->_tmp519_, _data_->_tmp522_, NULL, &_data_->_inner_error0_);
									_g_free0 (_data_->_tmp522_);
									if (G_UNLIKELY (_data_->_inner_error0_ != NULL)) {
										_g_object_unref0 (_data_->dos);
										_g_object_unref0 (_data_->fos);
										_g_object_unref0 (_data_->file);
										_g_free0 (_data_->pkgdir_path);
										_g_free0 (_data_->pkgdir);
										_g_hash_table_unref0 (_data_->pkgnames_table);
										_g_ptr_array_unref0 (_data_->global_replaces);
										_g_ptr_array_unref0 (_data_->global_provides);
										_g_ptr_array_unref0 (_data_->global_conflicts);
										_g_ptr_array_unref0 (_data_->global_makedepends);
										_g_ptr_array_unref0 (_data_->global_checkdepends);
										_g_ptr_array_unref0 (_data_->global_depends);
										_g_ptr_array_unref0 (_data_->pkgnames_found);
										_g_free0 (_data_->desc);
										_g_free0 (_data_->pkgbase);
										_g_string_free0 (_data_->version);
										_g_free0 (_data_->current_section);
										_g_free0 (_data_->_vala1_line);
										_g_object_unref0 (_data_->_vala1_dis);
										_g_object_unref0 (_data_->_tmp186_);
										goto __catch1_g_error;
									}
									_data_->_tmp523_ = _data_->dos;
									_data_->_tmp524_ = _data_->_vala6_aur_pkg_found;
									_data_->_tmp525_ = pamac_package_get_version ((PamacPackage*) _data_->_tmp524_);
									_data_->_tmp526_ = _data_->_tmp525_;
									_data_->_tmp527_ = g_strdup_printf ("%VERSION%\n%s\n\n", _data_->_tmp526_);
									_data_->_tmp528_ = _data_->_tmp527_;
									g_data_output_stream_put_string (_data_->_tmp523_, _data_->_tmp528_, NULL, &_data_->_inner_error0_);
									_g_free0 (_data_->_tmp528_);
									if (G_UNLIKELY (_data_->_inner_error0_ != NULL)) {
										_g_object_unref0 (_data_->dos);
										_g_object_unref0 (_data_->fos);
										_g_object_unref0 (_data_->file);
										_g_free0 (_data_->pkgdir_path);
										_g_free0 (_data_->pkgdir);
										_g_hash_table_unref0 (_data_->pkgnames_table);
										_g_ptr_array_unref0 (_data_->global_replaces);
										_g_ptr_array_unref0 (_data_->global_provides);
										_g_ptr_array_unref0 (_data_->global_conflicts);
										_g_ptr_array_unref0 (_data_->global_makedepends);
										_g_ptr_array_unref0 (_data_->global_checkdepends);
										_g_ptr_array_unref0 (_data_->global_depends);
										_g_ptr_array_unref0 (_data_->pkgnames_found);
										_g_free0 (_data_->desc);
										_g_free0 (_data_->pkgbase);
										_g_string_free0 (_data_->version);
										_g_free0 (_data_->current_section);
										_g_free0 (_data_->_vala1_line);
										_g_object_unref0 (_data_->_vala1_dis);
										_g_object_unref0 (_data_->_tmp186_);
										goto __catch1_g_error;
									}
									_data_->_tmp529_ = _data_->dos;
									_data_->_tmp530_ = _data_->_vala6_aur_pkg_found;
									_data_->_tmp531_ = pamac_aur_package_get_packagebase (_data_->_tmp530_);
									_data_->_tmp532_ = _data_->_tmp531_;
									_data_->_tmp533_ = g_strdup_printf ("%%BASE%\n%s\n\n", _data_->_tmp532_);
									_data_->_tmp534_ = _data_->_tmp533_;
									g_data_output_stream_put_string (_data_->_tmp529_, _data_->_tmp534_, NULL, &_data_->_inner_error0_);
									_g_free0 (_data_->_tmp534_);
									if (G_UNLIKELY (_data_->_inner_error0_ != NULL)) {
										_g_object_unref0 (_data_->dos);
										_g_object_unref0 (_data_->fos);
										_g_object_unref0 (_data_->file);
										_g_free0 (_data_->pkgdir_path);
										_g_free0 (_data_->pkgdir);
										_g_hash_table_unref0 (_data_->pkgnames_table);
										_g_ptr_array_unref0 (_data_->global_replaces);
										_g_ptr_array_unref0 (_data_->global_provides);
										_g_ptr_array_unref0 (_data_->global_conflicts);
										_g_ptr_array_unref0 (_data_->global_makedepends);
										_g_ptr_array_unref0 (_data_->global_checkdepends);
										_g_ptr_array_unref0 (_data_->global_depends);
										_g_ptr_array_unref0 (_data_->pkgnames_found);
										_g_free0 (_data_->desc);
										_g_free0 (_data_->pkgbase);
										_g_string_free0 (_data_->version);
										_g_free0 (_data_->current_section);
										_g_free0 (_data_->_vala1_line);
										_g_object_unref0 (_data_->_vala1_dis);
										_g_object_unref0 (_data_->_tmp186_);
										goto __catch1_g_error;
									}
									_data_->_tmp535_ = _data_->dos;
									_data_->_tmp536_ = _data_->_vala6_aur_pkg_found;
									_data_->_tmp537_ = pamac_package_get_desc ((PamacPackage*) _data_->_tmp536_);
									_data_->_tmp538_ = _data_->_tmp537_;
									_data_->_tmp539_ = g_strdup_printf ("%DESC%\n%s\n\n", _data_->_tmp538_);
									_data_->_tmp540_ = _data_->_tmp539_;
									g_data_output_stream_put_string (_data_->_tmp535_, _data_->_tmp540_, NULL, &_data_->_inner_error0_);
									_g_free0 (_data_->_tmp540_);
									if (G_UNLIKELY (_data_->_inner_error0_ != NULL)) {
										_g_object_unref0 (_data_->dos);
										_g_object_unref0 (_data_->fos);
										_g_object_unref0 (_data_->file);
										_g_free0 (_data_->pkgdir_path);
										_g_free0 (_data_->pkgdir);
										_g_hash_table_unref0 (_data_->pkgnames_table);
										_g_ptr_array_unref0 (_data_->global_replaces);
										_g_ptr_array_unref0 (_data_->global_provides);
										_g_ptr_array_unref0 (_data_->global_conflicts);
										_g_ptr_array_unref0 (_data_->global_makedepends);
										_g_ptr_array_unref0 (_data_->global_checkdepends);
										_g_ptr_array_unref0 (_data_->global_depends);
										_g_ptr_array_unref0 (_data_->pkgnames_found);
										_g_free0 (_data_->desc);
										_g_free0 (_data_->pkgbase);
										_g_string_free0 (_data_->version);
										_g_free0 (_data_->current_section);
										_g_free0 (_data_->_vala1_line);
										_g_object_unref0 (_data_->_vala1_dis);
										_g_object_unref0 (_data_->_tmp186_);
										goto __catch1_g_error;
									}
									_data_->_tmp541_ = _data_->dos;
									_data_->_tmp542_ = _data_->arch;
									_data_->_tmp543_ = g_strdup_printf ("%%ARCH%\n%s\n\n", _data_->_tmp542_);
									_data_->_tmp544_ = _data_->_tmp543_;
									g_data_output_stream_put_string (_data_->_tmp541_, _data_->_tmp544_, NULL, &_data_->_inner_error0_);
									_g_free0 (_data_->_tmp544_);
									if (G_UNLIKELY (_data_->_inner_error0_ != NULL)) {
										_g_object_unref0 (_data_->dos);
										_g_object_unref0 (_data_->fos);
										_g_object_unref0 (_data_->file);
										_g_free0 (_data_->pkgdir_path);
										_g_free0 (_data_->pkgdir);
										_g_hash_table_unref0 (_data_->pkgnames_table);
										_g_ptr_array_unref0 (_data_->global_replaces);
										_g_ptr_array_unref0 (_data_->global_provides);
										_g_ptr_array_unref0 (_data_->global_conflicts);
										_g_ptr_array_unref0 (_data_->global_makedepends);
										_g_ptr_array_unref0 (_data_->global_checkdepends);
										_g_ptr_array_unref0 (_data_->global_depends);
										_g_ptr_array_unref0 (_data_->pkgnames_found);
										_g_free0 (_data_->desc);
										_g_free0 (_data_->pkgbase);
										_g_string_free0 (_data_->version);
										_g_free0 (_data_->current_section);
										_g_free0 (_data_->_vala1_line);
										_g_object_unref0 (_data_->_vala1_dis);
										_g_object_unref0 (_data_->_tmp186_);
										goto __catch1_g_error;
									}
									_data_->_tmp545_ = _data_->_vala6_aur_pkg_found;
									_data_->_tmp546_ = pamac_alpm_package_get_depends ((PamacAlpmPackage*) _data_->_tmp545_);
									_data_->_tmp547_ = _data_->_tmp546_;
									_data_->_tmp548_ = vala_g_ptr_array_get_length (_data_->_tmp547_);
									_data_->_tmp549_ = _data_->_tmp548_;
									if (_data_->_tmp549_ != 0) {
										_data_->_tmp550_ = _data_->dos;
										g_data_output_stream_put_string (_data_->_tmp550_, "%DEPENDS%\n", NULL, &_data_->_inner_error0_);
										if (G_UNLIKELY (_data_->_inner_error0_ != NULL)) {
											_g_object_unref0 (_data_->dos);
											_g_object_unref0 (_data_->fos);
											_g_object_unref0 (_data_->file);
											_g_free0 (_data_->pkgdir_path);
											_g_free0 (_data_->pkgdir);
											_g_hash_table_unref0 (_data_->pkgnames_table);
											_g_ptr_array_unref0 (_data_->global_replaces);
											_g_ptr_array_unref0 (_data_->global_provides);
											_g_ptr_array_unref0 (_data_->global_conflicts);
											_g_ptr_array_unref0 (_data_->global_makedepends);
											_g_ptr_array_unref0 (_data_->global_checkdepends);
											_g_ptr_array_unref0 (_data_->global_depends);
											_g_ptr_array_unref0 (_data_->pkgnames_found);
											_g_free0 (_data_->desc);
											_g_free0 (_data_->pkgbase);
											_g_string_free0 (_data_->version);
											_g_free0 (_data_->current_section);
											_g_free0 (_data_->_vala1_line);
											_g_object_unref0 (_data_->_vala1_dis);
											_g_object_unref0 (_data_->_tmp186_);
											goto __catch1_g_error;
										}
										_data_->_tmp551_ = _data_->_vala6_aur_pkg_found;
										_data_->_tmp552_ = pamac_alpm_package_get_depends ((PamacAlpmPackage*) _data_->_tmp551_);
										_data_->_tmp553_ = _data_->_tmp552_;
										{
											_data_->name_collection = _data_->_tmp553_;
											for (_data_->name_index = 0; _data_->name_index < _data_->name_collection->len; _data_->name_index = _data_->name_index + 1) {
												_data_->name = (const gchar*) g_ptr_array_index (_data_->name_collection, _data_->name_index);
												{
													_data_->_tmp554_ = _data_->dos;
													_data_->_tmp555_ = _data_->name;
													_data_->_tmp556_ = g_strdup_printf ("%s\n", _data_->_tmp555_);
													_data_->_tmp557_ = _data_->_tmp556_;
													g_data_output_stream_put_string (_data_->_tmp554_, _data_->_tmp557_, NULL, &_data_->_inner_error0_);
													_g_free0 (_data_->_tmp557_);
													if (G_UNLIKELY (_data_->_inner_error0_ != NULL)) {
														_g_object_unref0 (_data_->dos);
														_g_object_unref0 (_data_->fos);
														_g_object_unref0 (_data_->file);
														_g_free0 (_data_->pkgdir_path);
														_g_free0 (_data_->pkgdir);
														_g_hash_table_unref0 (_data_->pkgnames_table);
														_g_ptr_array_unref0 (_data_->global_replaces);
														_g_ptr_array_unref0 (_data_->global_provides);
														_g_ptr_array_unref0 (_data_->global_conflicts);
														_g_ptr_array_unref0 (_data_->global_makedepends);
														_g_ptr_array_unref0 (_data_->global_checkdepends);
														_g_ptr_array_unref0 (_data_->global_depends);
														_g_ptr_array_unref0 (_data_->pkgnames_found);
														_g_free0 (_data_->desc);
														_g_free0 (_data_->pkgbase);
														_g_string_free0 (_data_->version);
														_g_free0 (_data_->current_section);
														_g_free0 (_data_->_vala1_line);
														_g_object_unref0 (_data_->_vala1_dis);
														_g_object_unref0 (_data_->_tmp186_);
														goto __catch1_g_error;
													}
												}
											}
										}
										_data_->_tmp558_ = _data_->dos;
										g_data_output_stream_put_string (_data_->_tmp558_, "\n", NULL, &_data_->_inner_error0_);
										if (G_UNLIKELY (_data_->_inner_error0_ != NULL)) {
											_g_object_unref0 (_data_->dos);
											_g_object_unref0 (_data_->fos);
											_g_object_unref0 (_data_->file);
											_g_free0 (_data_->pkgdir_path);
											_g_free0 (_data_->pkgdir);
											_g_hash_table_unref0 (_data_->pkgnames_table);
											_g_ptr_array_unref0 (_data_->global_replaces);
											_g_ptr_array_unref0 (_data_->global_provides);
											_g_ptr_array_unref0 (_data_->global_conflicts);
											_g_ptr_array_unref0 (_data_->global_makedepends);
											_g_ptr_array_unref0 (_data_->global_checkdepends);
											_g_ptr_array_unref0 (_data_->global_depends);
											_g_ptr_array_unref0 (_data_->pkgnames_found);
											_g_free0 (_data_->desc);
											_g_free0 (_data_->pkgbase);
											_g_string_free0 (_data_->version);
											_g_free0 (_data_->current_section);
											_g_free0 (_data_->_vala1_line);
											_g_object_unref0 (_data_->_vala1_dis);
											_g_object_unref0 (_data_->_tmp186_);
											goto __catch1_g_error;
										}
									}
									_data_->_tmp559_ = _data_->_vala6_aur_pkg_found;
									_data_->_tmp560_ = pamac_alpm_package_get_conflicts ((PamacAlpmPackage*) _data_->_tmp559_);
									_data_->_tmp561_ = _data_->_tmp560_;
									_data_->_tmp562_ = vala_g_ptr_array_get_length (_data_->_tmp561_);
									_data_->_tmp563_ = _data_->_tmp562_;
									if (_data_->_tmp563_ != 0) {
										_data_->_tmp564_ = _data_->dos;
										g_data_output_stream_put_string (_data_->_tmp564_, "%CONFLICTS%\n", NULL, &_data_->_inner_error0_);
										if (G_UNLIKELY (_data_->_inner_error0_ != NULL)) {
											_g_object_unref0 (_data_->dos);
											_g_object_unref0 (_data_->fos);
											_g_object_unref0 (_data_->file);
											_g_free0 (_data_->pkgdir_path);
											_g_free0 (_data_->pkgdir);
											_g_hash_table_unref0 (_data_->pkgnames_table);
											_g_ptr_array_unref0 (_data_->global_replaces);
											_g_ptr_array_unref0 (_data_->global_provides);
											_g_ptr_array_unref0 (_data_->global_conflicts);
											_g_ptr_array_unref0 (_data_->global_makedepends);
											_g_ptr_array_unref0 (_data_->global_checkdepends);
											_g_ptr_array_unref0 (_data_->global_depends);
											_g_ptr_array_unref0 (_data_->pkgnames_found);
											_g_free0 (_data_->desc);
											_g_free0 (_data_->pkgbase);
											_g_string_free0 (_data_->version);
											_g_free0 (_data_->current_section);
											_g_free0 (_data_->_vala1_line);
											_g_object_unref0 (_data_->_vala1_dis);
											_g_object_unref0 (_data_->_tmp186_);
											goto __catch1_g_error;
										}
										_data_->_tmp565_ = _data_->_vala6_aur_pkg_found;
										_data_->_tmp566_ = pamac_alpm_package_get_conflicts ((PamacAlpmPackage*) _data_->_tmp565_);
										_data_->_tmp567_ = _data_->_tmp566_;
										{
											_data_->_vala1_name_collection = _data_->_tmp567_;
											for (_data_->_vala1_name_index = 0; _data_->_vala1_name_index < _data_->_vala1_name_collection->len; _data_->_vala1_name_index = _data_->_vala1_name_index + 1) {
												_data_->_vala1_name = (const gchar*) g_ptr_array_index (_data_->_vala1_name_collection, _data_->_vala1_name_index);
												{
													_data_->_tmp568_ = _data_->dos;
													_data_->_tmp569_ = _data_->_vala1_name;
													_data_->_tmp570_ = g_strdup_printf ("%s\n", _data_->_tmp569_);
													_data_->_tmp571_ = _data_->_tmp570_;
													g_data_output_stream_put_string (_data_->_tmp568_, _data_->_tmp571_, NULL, &_data_->_inner_error0_);
													_g_free0 (_data_->_tmp571_);
													if (G_UNLIKELY (_data_->_inner_error0_ != NULL)) {
														_g_object_unref0 (_data_->dos);
														_g_object_unref0 (_data_->fos);
														_g_object_unref0 (_data_->file);
														_g_free0 (_data_->pkgdir_path);
														_g_free0 (_data_->pkgdir);
														_g_hash_table_unref0 (_data_->pkgnames_table);
														_g_ptr_array_unref0 (_data_->global_replaces);
														_g_ptr_array_unref0 (_data_->global_provides);
														_g_ptr_array_unref0 (_data_->global_conflicts);
														_g_ptr_array_unref0 (_data_->global_makedepends);
														_g_ptr_array_unref0 (_data_->global_checkdepends);
														_g_ptr_array_unref0 (_data_->global_depends);
														_g_ptr_array_unref0 (_data_->pkgnames_found);
														_g_free0 (_data_->desc);
														_g_free0 (_data_->pkgbase);
														_g_string_free0 (_data_->version);
														_g_free0 (_data_->current_section);
														_g_free0 (_data_->_vala1_line);
														_g_object_unref0 (_data_->_vala1_dis);
														_g_object_unref0 (_data_->_tmp186_);
														goto __catch1_g_error;
													}
												}
											}
										}
										_data_->_tmp572_ = _data_->dos;
										g_data_output_stream_put_string (_data_->_tmp572_, "\n", NULL, &_data_->_inner_error0_);
										if (G_UNLIKELY (_data_->_inner_error0_ != NULL)) {
											_g_object_unref0 (_data_->dos);
											_g_object_unref0 (_data_->fos);
											_g_object_unref0 (_data_->file);
											_g_free0 (_data_->pkgdir_path);
											_g_free0 (_data_->pkgdir);
											_g_hash_table_unref0 (_data_->pkgnames_table);
											_g_ptr_array_unref0 (_data_->global_replaces);
											_g_ptr_array_unref0 (_data_->global_provides);
											_g_ptr_array_unref0 (_data_->global_conflicts);
											_g_ptr_array_unref0 (_data_->global_makedepends);
											_g_ptr_array_unref0 (_data_->global_checkdepends);
											_g_ptr_array_unref0 (_data_->global_depends);
											_g_ptr_array_unref0 (_data_->pkgnames_found);
											_g_free0 (_data_->desc);
											_g_free0 (_data_->pkgbase);
											_g_string_free0 (_data_->version);
											_g_free0 (_data_->current_section);
											_g_free0 (_data_->_vala1_line);
											_g_object_unref0 (_data_->_vala1_dis);
											_g_object_unref0 (_data_->_tmp186_);
											goto __catch1_g_error;
										}
									}
									_data_->_tmp573_ = _data_->_vala6_aur_pkg_found;
									_data_->_tmp574_ = pamac_alpm_package_get_provides ((PamacAlpmPackage*) _data_->_tmp573_);
									_data_->_tmp575_ = _data_->_tmp574_;
									_data_->_tmp576_ = vala_g_ptr_array_get_length (_data_->_tmp575_);
									_data_->_tmp577_ = _data_->_tmp576_;
									if (_data_->_tmp577_ != 0) {
										_data_->_tmp578_ = _data_->dos;
										g_data_output_stream_put_string (_data_->_tmp578_, "%PROVIDES%\n", NULL, &_data_->_inner_error0_);
										if (G_UNLIKELY (_data_->_inner_error0_ != NULL)) {
											_g_object_unref0 (_data_->dos);
											_g_object_unref0 (_data_->fos);
											_g_object_unref0 (_data_->file);
											_g_free0 (_data_->pkgdir_path);
											_g_free0 (_data_->pkgdir);
											_g_hash_table_unref0 (_data_->pkgnames_table);
											_g_ptr_array_unref0 (_data_->global_replaces);
											_g_ptr_array_unref0 (_data_->global_provides);
											_g_ptr_array_unref0 (_data_->global_conflicts);
											_g_ptr_array_unref0 (_data_->global_makedepends);
											_g_ptr_array_unref0 (_data_->global_checkdepends);
											_g_ptr_array_unref0 (_data_->global_depends);
											_g_ptr_array_unref0 (_data_->pkgnames_found);
											_g_free0 (_data_->desc);
											_g_free0 (_data_->pkgbase);
											_g_string_free0 (_data_->version);
											_g_free0 (_data_->current_section);
											_g_free0 (_data_->_vala1_line);
											_g_object_unref0 (_data_->_vala1_dis);
											_g_object_unref0 (_data_->_tmp186_);
											goto __catch1_g_error;
										}
										_data_->_tmp579_ = _data_->_vala6_aur_pkg_found;
										_data_->_tmp580_ = pamac_alpm_package_get_provides ((PamacAlpmPackage*) _data_->_tmp579_);
										_data_->_tmp581_ = _data_->_tmp580_;
										{
											_data_->_vala2_name_collection = _data_->_tmp581_;
											for (_data_->_vala2_name_index = 0; _data_->_vala2_name_index < _data_->_vala2_name_collection->len; _data_->_vala2_name_index = _data_->_vala2_name_index + 1) {
												_data_->_vala2_name = (const gchar*) g_ptr_array_index (_data_->_vala2_name_collection, _data_->_vala2_name_index);
												{
													_data_->_tmp582_ = _data_->dos;
													_data_->_tmp583_ = _data_->_vala2_name;
													_data_->_tmp584_ = g_strdup_printf ("%s\n", _data_->_tmp583_);
													_data_->_tmp585_ = _data_->_tmp584_;
													g_data_output_stream_put_string (_data_->_tmp582_, _data_->_tmp585_, NULL, &_data_->_inner_error0_);
													_g_free0 (_data_->_tmp585_);
													if (G_UNLIKELY (_data_->_inner_error0_ != NULL)) {
														_g_object_unref0 (_data_->dos);
														_g_object_unref0 (_data_->fos);
														_g_object_unref0 (_data_->file);
														_g_free0 (_data_->pkgdir_path);
														_g_free0 (_data_->pkgdir);
														_g_hash_table_unref0 (_data_->pkgnames_table);
														_g_ptr_array_unref0 (_data_->global_replaces);
														_g_ptr_array_unref0 (_data_->global_provides);
														_g_ptr_array_unref0 (_data_->global_conflicts);
														_g_ptr_array_unref0 (_data_->global_makedepends);
														_g_ptr_array_unref0 (_data_->global_checkdepends);
														_g_ptr_array_unref0 (_data_->global_depends);
														_g_ptr_array_unref0 (_data_->pkgnames_found);
														_g_free0 (_data_->desc);
														_g_free0 (_data_->pkgbase);
														_g_string_free0 (_data_->version);
														_g_free0 (_data_->current_section);
														_g_free0 (_data_->_vala1_line);
														_g_object_unref0 (_data_->_vala1_dis);
														_g_object_unref0 (_data_->_tmp186_);
														goto __catch1_g_error;
													}
												}
											}
										}
										_data_->_tmp586_ = _data_->dos;
										g_data_output_stream_put_string (_data_->_tmp586_, "\n", NULL, &_data_->_inner_error0_);
										if (G_UNLIKELY (_data_->_inner_error0_ != NULL)) {
											_g_object_unref0 (_data_->dos);
											_g_object_unref0 (_data_->fos);
											_g_object_unref0 (_data_->file);
											_g_free0 (_data_->pkgdir_path);
											_g_free0 (_data_->pkgdir);
											_g_hash_table_unref0 (_data_->pkgnames_table);
											_g_ptr_array_unref0 (_data_->global_replaces);
											_g_ptr_array_unref0 (_data_->global_provides);
											_g_ptr_array_unref0 (_data_->global_conflicts);
											_g_ptr_array_unref0 (_data_->global_makedepends);
											_g_ptr_array_unref0 (_data_->global_checkdepends);
											_g_ptr_array_unref0 (_data_->global_depends);
											_g_ptr_array_unref0 (_data_->pkgnames_found);
											_g_free0 (_data_->desc);
											_g_free0 (_data_->pkgbase);
											_g_string_free0 (_data_->version);
											_g_free0 (_data_->current_section);
											_g_free0 (_data_->_vala1_line);
											_g_object_unref0 (_data_->_vala1_dis);
											_g_object_unref0 (_data_->_tmp186_);
											goto __catch1_g_error;
										}
									}
									_data_->_tmp587_ = _data_->_vala6_aur_pkg_found;
									_data_->_tmp588_ = pamac_alpm_package_get_replaces ((PamacAlpmPackage*) _data_->_tmp587_);
									_data_->_tmp589_ = _data_->_tmp588_;
									_data_->_tmp590_ = vala_g_ptr_array_get_length (_data_->_tmp589_);
									_data_->_tmp591_ = _data_->_tmp590_;
									if (_data_->_tmp591_ != 0) {
										_data_->_tmp592_ = _data_->dos;
										g_data_output_stream_put_string (_data_->_tmp592_, "%REPLACES%\n", NULL, &_data_->_inner_error0_);
										if (G_UNLIKELY (_data_->_inner_error0_ != NULL)) {
											_g_object_unref0 (_data_->dos);
											_g_object_unref0 (_data_->fos);
											_g_object_unref0 (_data_->file);
											_g_free0 (_data_->pkgdir_path);
											_g_free0 (_data_->pkgdir);
											_g_hash_table_unref0 (_data_->pkgnames_table);
											_g_ptr_array_unref0 (_data_->global_replaces);
											_g_ptr_array_unref0 (_data_->global_provides);
											_g_ptr_array_unref0 (_data_->global_conflicts);
											_g_ptr_array_unref0 (_data_->global_makedepends);
											_g_ptr_array_unref0 (_data_->global_checkdepends);
											_g_ptr_array_unref0 (_data_->global_depends);
											_g_ptr_array_unref0 (_data_->pkgnames_found);
											_g_free0 (_data_->desc);
											_g_free0 (_data_->pkgbase);
											_g_string_free0 (_data_->version);
											_g_free0 (_data_->current_section);
											_g_free0 (_data_->_vala1_line);
											_g_object_unref0 (_data_->_vala1_dis);
											_g_object_unref0 (_data_->_tmp186_);
											goto __catch1_g_error;
										}
										_data_->_tmp593_ = _data_->_vala6_aur_pkg_found;
										_data_->_tmp594_ = pamac_alpm_package_get_replaces ((PamacAlpmPackage*) _data_->_tmp593_);
										_data_->_tmp595_ = _data_->_tmp594_;
										{
											_data_->_vala3_name_collection = _data_->_tmp595_;
											for (_data_->_vala3_name_index = 0; _data_->_vala3_name_index < _data_->_vala3_name_collection->len; _data_->_vala3_name_index = _data_->_vala3_name_index + 1) {
												_data_->_vala3_name = (const gchar*) g_ptr_array_index (_data_->_vala3_name_collection, _data_->_vala3_name_index);
												{
													_data_->_tmp596_ = _data_->dos;
													_data_->_tmp597_ = _data_->_vala3_name;
													_data_->_tmp598_ = g_strdup_printf ("%s\n", _data_->_tmp597_);
													_data_->_tmp599_ = _data_->_tmp598_;
													g_data_output_stream_put_string (_data_->_tmp596_, _data_->_tmp599_, NULL, &_data_->_inner_error0_);
													_g_free0 (_data_->_tmp599_);
													if (G_UNLIKELY (_data_->_inner_error0_ != NULL)) {
														_g_object_unref0 (_data_->dos);
														_g_object_unref0 (_data_->fos);
														_g_object_unref0 (_data_->file);
														_g_free0 (_data_->pkgdir_path);
														_g_free0 (_data_->pkgdir);
														_g_hash_table_unref0 (_data_->pkgnames_table);
														_g_ptr_array_unref0 (_data_->global_replaces);
														_g_ptr_array_unref0 (_data_->global_provides);
														_g_ptr_array_unref0 (_data_->global_conflicts);
														_g_ptr_array_unref0 (_data_->global_makedepends);
														_g_ptr_array_unref0 (_data_->global_checkdepends);
														_g_ptr_array_unref0 (_data_->global_depends);
														_g_ptr_array_unref0 (_data_->pkgnames_found);
														_g_free0 (_data_->desc);
														_g_free0 (_data_->pkgbase);
														_g_string_free0 (_data_->version);
														_g_free0 (_data_->current_section);
														_g_free0 (_data_->_vala1_line);
														_g_object_unref0 (_data_->_vala1_dis);
														_g_object_unref0 (_data_->_tmp186_);
														goto __catch1_g_error;
													}
												}
											}
										}
										_data_->_tmp600_ = _data_->dos;
										g_data_output_stream_put_string (_data_->_tmp600_, "\n", NULL, &_data_->_inner_error0_);
										if (G_UNLIKELY (_data_->_inner_error0_ != NULL)) {
											_g_object_unref0 (_data_->dos);
											_g_object_unref0 (_data_->fos);
											_g_object_unref0 (_data_->file);
											_g_free0 (_data_->pkgdir_path);
											_g_free0 (_data_->pkgdir);
											_g_hash_table_unref0 (_data_->pkgnames_table);
											_g_ptr_array_unref0 (_data_->global_replaces);
											_g_ptr_array_unref0 (_data_->global_provides);
											_g_ptr_array_unref0 (_data_->global_conflicts);
											_g_ptr_array_unref0 (_data_->global_makedepends);
											_g_ptr_array_unref0 (_data_->global_checkdepends);
											_g_ptr_array_unref0 (_data_->global_depends);
											_g_ptr_array_unref0 (_data_->pkgnames_found);
											_g_free0 (_data_->desc);
											_g_free0 (_data_->pkgbase);
											_g_string_free0 (_data_->version);
											_g_free0 (_data_->current_section);
											_g_free0 (_data_->_vala1_line);
											_g_object_unref0 (_data_->_vala1_dis);
											_g_object_unref0 (_data_->_tmp186_);
											goto __catch1_g_error;
										}
									}
									_g_object_unref0 (_data_->dos);
									_g_object_unref0 (_data_->fos);
									_g_object_unref0 (_data_->file);
									_g_free0 (_data_->pkgdir_path);
									_g_free0 (_data_->pkgdir);
								}
							}
						}
						_g_hash_table_unref0 (_data_->pkgnames_table);
						_g_ptr_array_unref0 (_data_->global_replaces);
						_g_ptr_array_unref0 (_data_->global_provides);
						_g_ptr_array_unref0 (_data_->global_conflicts);
						_g_ptr_array_unref0 (_data_->global_makedepends);
						_g_ptr_array_unref0 (_data_->global_checkdepends);
						_g_ptr_array_unref0 (_data_->global_depends);
						_g_ptr_array_unref0 (_data_->pkgnames_found);
						_g_free0 (_data_->desc);
						_g_free0 (_data_->pkgbase);
						_g_string_free0 (_data_->version);
						_g_free0 (_data_->current_section);
						_g_free0 (_data_->_vala1_line);
						_g_object_unref0 (_data_->_vala1_dis);
						_g_object_unref0 (_data_->_tmp186_);
					}
					goto __finally1;
					__catch1_g_error:
					{
						g_clear_error (&_data_->_inner_error0_);
						_data_->_tmp601_ = g_ptr_array_new_full ((guint) 1, _g_free0_);
						_data_->_vala5_details = _data_->_tmp601_;
						_data_->_tmp602_ = _data_->_vala5_details;
						_data_->_tmp603_ = _data_->_vala1_pkgname;
						_data_->_tmp604_ = g_strdup_printf (g_dgettext (NULL, "Failed to check %s dependencies"), _data_->_tmp603_);
						g_ptr_array_add (_data_->_tmp602_, _data_->_tmp604_);
						_data_->_tmp605_ = _data_->_vala5_details;
						g_signal_emit (_data_->self, pamac_transaction_signals[PAMAC_TRANSACTION_EMIT_ERROR_SIGNAL], 0, g_dgettext (NULL, "Failed to prepare transaction"), _data_->_tmp605_);
						_data_->result = FALSE;
						_g_ptr_array_unref0 (_data_->_vala5_details);
						_g_object_unref0 (_data_->_vala1_srcinfo);
						_g_free0 (_data_->arch);
						_g_object_unref0 (_data_->clone_dir);
						_g_hash_table_unref0 (_data_->aur_pkgs);
						_g_ptr_array_unref0 (_data_->to_get_from_aur);
						_g_ptr_array_unref0 (_data_->dep_to_check);
						g_task_return_pointer (_data_->_async_result, _data_, NULL);
						if (_data_->_state_ != 0) {
							while (!g_task_get_completed (_data_->_async_result)) {
								g_main_context_iteration (g_task_get_context (_data_->_async_result), TRUE);
							}
						}
						g_object_unref (_data_->_async_result);
						return FALSE;
					}
					__finally1:
					if (G_UNLIKELY (_data_->_inner_error0_ != NULL)) {
						_g_object_unref0 (_data_->_vala1_srcinfo);
						_g_free0 (_data_->arch);
						_g_object_unref0 (_data_->clone_dir);
						_g_hash_table_unref0 (_data_->aur_pkgs);
						_g_ptr_array_unref0 (_data_->to_get_from_aur);
						_g_ptr_array_unref0 (_data_->dep_to_check);
						g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _data_->_inner_error0_->message, g_quark_to_string (_data_->_inner_error0_->domain), _data_->_inner_error0_->code);
						g_clear_error (&_data_->_inner_error0_);
						g_object_unref (_data_->_async_result);
						return FALSE;
					}
					_g_object_unref0 (_data_->_vala1_srcinfo);
				} else {
					_data_->_tmp606_ = _data_->self->priv->already_checked_aur_dep;
					_data_->_tmp607_ = _data_->aur_pkg;
					_data_->_tmp608_ = pamac_package_get_name ((PamacPackage*) _data_->_tmp607_);
					_data_->_tmp609_ = _data_->_tmp608_;
					_data_->_tmp610_ = g_strdup (_data_->_tmp609_);
					g_hash_table_add (_data_->_tmp606_, _data_->_tmp610_);
					{
						_data_->_tmp611_ = _data_->aur_pkg;
						_data_->_tmp612_ = pamac_package_get_name ((PamacPackage*) _data_->_tmp611_);
						_data_->_tmp613_ = _data_->_tmp612_;
						_data_->_tmp614_ = _data_->aur_pkg;
						_data_->_tmp615_ = pamac_package_get_version ((PamacPackage*) _data_->_tmp614_);
						_data_->_tmp616_ = _data_->_tmp615_;
						_data_->_tmp617_ = g_strdup_printf ("%s-%s", _data_->_tmp613_, _data_->_tmp616_);
						_data_->_vala1_pkgdir = _data_->_tmp617_;
						_data_->_tmp618_ = _data_->self->priv->aurdb_path;
						_data_->_tmp619_ = _data_->_vala1_pkgdir;
						_data_->_tmp620_ = g_strdup_printf ("%s/%s", _data_->_tmp618_, _data_->_tmp619_);
						_data_->_vala1_pkgdir_path = _data_->_tmp620_;
						_data_->_tmp621_ = _data_->self->priv->aur_desc_list;
						_data_->_tmp622_ = _data_->_vala1_pkgdir;
						_data_->_tmp623_ = g_strdup (_data_->_tmp622_);
						g_hash_table_add (_data_->_tmp621_, _data_->_tmp623_);
						_data_->_tmp624_ = _data_->_vala1_pkgdir_path;
						_data_->_tmp625_ = g_file_new_for_path (_data_->_tmp624_);
						_data_->_vala1_file = _data_->_tmp625_;
						_data_->_tmp626_ = _data_->_vala1_file;
						if (!g_file_query_exists (_data_->_tmp626_, NULL)) {
							_data_->_tmp627_ = _data_->_vala1_file;
							_data_->_state_ = 10;
							g_file_make_directory_async (_data_->_tmp627_, G_PRIORITY_DEFAULT, NULL, pamac_transaction_check_aur_dep_list_ready, _data_);
							return FALSE;
							_state_10:
							g_file_make_directory_finish (_data_->_tmp627_, _data_->_res_, &_data_->_inner_error0_);
							if (G_UNLIKELY (_data_->_inner_error0_ != NULL)) {
								_g_object_unref0 (_data_->_vala1_file);
								_g_free0 (_data_->_vala1_pkgdir_path);
								_g_free0 (_data_->_vala1_pkgdir);
								goto __catch2_g_error;
							}
						}
						_data_->_tmp628_ = _data_->_vala1_pkgdir_path;
						_data_->_tmp629_ = g_strdup_printf ("%s/desc", _data_->_tmp628_);
						_data_->_tmp630_ = _data_->_tmp629_;
						_data_->_tmp631_ = g_file_new_for_path (_data_->_tmp630_);
						_g_object_unref0 (_data_->_vala1_file);
						_data_->_vala1_file = _data_->_tmp631_;
						_g_free0 (_data_->_tmp630_);
						_data_->_tmp632_ = _data_->_vala1_file;
						if (g_file_query_exists (_data_->_tmp632_, NULL)) {
							_data_->_tmp634_ = _data_->_vala1_file;
							_data_->_state_ = 11;
							g_file_replace_async (_data_->_tmp634_, NULL, FALSE, G_FILE_CREATE_NONE, G_PRIORITY_DEFAULT, NULL, pamac_transaction_check_aur_dep_list_ready, _data_);
							return FALSE;
							_state_11:
							_data_->_tmp635_ = g_file_replace_finish (_data_->_tmp634_, _data_->_res_, &_data_->_inner_error0_);
							_data_->_tmp633_ = _data_->_tmp635_;
							if (G_UNLIKELY (_data_->_inner_error0_ != NULL)) {
								_g_object_unref0 (_data_->_vala1_fos);
								_g_object_unref0 (_data_->_vala1_file);
								_g_free0 (_data_->_vala1_pkgdir_path);
								_g_free0 (_data_->_vala1_pkgdir);
								goto __catch2_g_error;
							}
							_data_->_tmp636_ = _data_->_tmp633_;
							_data_->_tmp633_ = NULL;
							_g_object_unref0 (_data_->_vala1_fos);
							_data_->_vala1_fos = _data_->_tmp636_;
							_g_object_unref0 (_data_->_tmp633_);
						} else {
							_data_->_tmp638_ = _data_->_vala1_file;
							_data_->_state_ = 12;
							g_file_create_async (_data_->_tmp638_, G_FILE_CREATE_NONE, G_PRIORITY_DEFAULT, NULL, pamac_transaction_check_aur_dep_list_ready, _data_);
							return FALSE;
							_state_12:
							_data_->_tmp639_ = g_file_create_finish (_data_->_tmp638_, _data_->_res_, &_data_->_inner_error0_);
							_data_->_tmp637_ = _data_->_tmp639_;
							if (G_UNLIKELY (_data_->_inner_error0_ != NULL)) {
								_g_object_unref0 (_data_->_vala1_fos);
								_g_object_unref0 (_data_->_vala1_file);
								_g_free0 (_data_->_vala1_pkgdir_path);
								_g_free0 (_data_->_vala1_pkgdir);
								goto __catch2_g_error;
							}
							_data_->_tmp640_ = _data_->_tmp637_;
							_data_->_tmp637_ = NULL;
							_g_object_unref0 (_data_->_vala1_fos);
							_data_->_vala1_fos = _data_->_tmp640_;
							_g_object_unref0 (_data_->_tmp637_);
						}
						_data_->_tmp641_ = _data_->_vala1_fos;
						_data_->_tmp642_ = g_data_output_stream_new ((GOutputStream*) _data_->_tmp641_);
						_data_->_vala1_dos = _data_->_tmp642_;
						_data_->_tmp643_ = _data_->_vala1_dos;
						_data_->_tmp644_ = _data_->aur_pkg;
						_data_->_tmp645_ = pamac_package_get_name ((PamacPackage*) _data_->_tmp644_);
						_data_->_tmp646_ = _data_->_tmp645_;
						_data_->_tmp647_ = _data_->aur_pkg;
						_data_->_tmp648_ = pamac_package_get_version ((PamacPackage*) _data_->_tmp647_);
						_data_->_tmp649_ = _data_->_tmp648_;
						_data_->_tmp650_ = g_strdup_printf ("%s-%s-any.pkg.tar\n\n", _data_->_tmp646_, _data_->_tmp649_);
						_data_->_tmp651_ = _data_->_tmp650_;
						_data_->_tmp652_ = g_strconcat ("%FILENAME%\n", _data_->_tmp651_, NULL);
						_data_->_tmp653_ = _data_->_tmp652_;
						g_data_output_stream_put_string (_data_->_tmp643_, _data_->_tmp653_, NULL, &_data_->_inner_error0_);
						_g_free0 (_data_->_tmp653_);
						_g_free0 (_data_->_tmp651_);
						if (G_UNLIKELY (_data_->_inner_error0_ != NULL)) {
							_g_object_unref0 (_data_->_vala1_dos);
							_g_object_unref0 (_data_->_vala1_fos);
							_g_object_unref0 (_data_->_vala1_file);
							_g_free0 (_data_->_vala1_pkgdir_path);
							_g_free0 (_data_->_vala1_pkgdir);
							goto __catch2_g_error;
						}
						_data_->_tmp654_ = _data_->_vala1_dos;
						_data_->_tmp655_ = _data_->aur_pkg;
						_data_->_tmp656_ = pamac_package_get_name ((PamacPackage*) _data_->_tmp655_);
						_data_->_tmp657_ = _data_->_tmp656_;
						_data_->_tmp658_ = g_strdup_printf ("%NAME%\n%s\n\n", _data_->_tmp657_);
						_data_->_tmp659_ = _data_->_tmp658_;
						g_data_output_stream_put_string (_data_->_tmp654_, _data_->_tmp659_, NULL, &_data_->_inner_error0_);
						_g_free0 (_data_->_tmp659_);
						if (G_UNLIKELY (_data_->_inner_error0_ != NULL)) {
							_g_object_unref0 (_data_->_vala1_dos);
							_g_object_unref0 (_data_->_vala1_fos);
							_g_object_unref0 (_data_->_vala1_file);
							_g_free0 (_data_->_vala1_pkgdir_path);
							_g_free0 (_data_->_vala1_pkgdir);
							goto __catch2_g_error;
						}
						_data_->_tmp660_ = _data_->_vala1_dos;
						_data_->_tmp661_ = _data_->aur_pkg;
						_data_->_tmp662_ = pamac_package_get_version ((PamacPackage*) _data_->_tmp661_);
						_data_->_tmp663_ = _data_->_tmp662_;
						_data_->_tmp664_ = g_strdup_printf ("%VERSION%\n%s\n\n", _data_->_tmp663_);
						_data_->_tmp665_ = _data_->_tmp664_;
						g_data_output_stream_put_string (_data_->_tmp660_, _data_->_tmp665_, NULL, &_data_->_inner_error0_);
						_g_free0 (_data_->_tmp665_);
						if (G_UNLIKELY (_data_->_inner_error0_ != NULL)) {
							_g_object_unref0 (_data_->_vala1_dos);
							_g_object_unref0 (_data_->_vala1_fos);
							_g_object_unref0 (_data_->_vala1_file);
							_g_free0 (_data_->_vala1_pkgdir_path);
							_g_free0 (_data_->_vala1_pkgdir);
							goto __catch2_g_error;
						}
						_data_->_tmp666_ = _data_->_vala1_dos;
						_data_->_tmp667_ = _data_->aur_pkg;
						_data_->_tmp668_ = pamac_aur_package_get_packagebase (_data_->_tmp667_);
						_data_->_tmp669_ = _data_->_tmp668_;
						_data_->_tmp670_ = g_strdup_printf ("%%BASE%\n%s\n\n", _data_->_tmp669_);
						_data_->_tmp671_ = _data_->_tmp670_;
						g_data_output_stream_put_string (_data_->_tmp666_, _data_->_tmp671_, NULL, &_data_->_inner_error0_);
						_g_free0 (_data_->_tmp671_);
						if (G_UNLIKELY (_data_->_inner_error0_ != NULL)) {
							_g_object_unref0 (_data_->_vala1_dos);
							_g_object_unref0 (_data_->_vala1_fos);
							_g_object_unref0 (_data_->_vala1_file);
							_g_free0 (_data_->_vala1_pkgdir_path);
							_g_free0 (_data_->_vala1_pkgdir);
							goto __catch2_g_error;
						}
						_data_->_tmp672_ = _data_->_vala1_dos;
						_data_->_tmp673_ = _data_->aur_pkg;
						_data_->_tmp674_ = pamac_package_get_desc ((PamacPackage*) _data_->_tmp673_);
						_data_->_tmp675_ = _data_->_tmp674_;
						_data_->_tmp676_ = g_strdup_printf ("%DESC%\n%s\n\n", _data_->_tmp675_);
						_data_->_tmp677_ = _data_->_tmp676_;
						g_data_output_stream_put_string (_data_->_tmp672_, _data_->_tmp677_, NULL, &_data_->_inner_error0_);
						_g_free0 (_data_->_tmp677_);
						if (G_UNLIKELY (_data_->_inner_error0_ != NULL)) {
							_g_object_unref0 (_data_->_vala1_dos);
							_g_object_unref0 (_data_->_vala1_fos);
							_g_object_unref0 (_data_->_vala1_file);
							_g_free0 (_data_->_vala1_pkgdir_path);
							_g_free0 (_data_->_vala1_pkgdir);
							goto __catch2_g_error;
						}
						_data_->_tmp678_ = _data_->_vala1_dos;
						_data_->_tmp679_ = _data_->arch;
						_data_->_tmp680_ = g_strdup_printf ("%%ARCH%\n%s\n\n", _data_->_tmp679_);
						_data_->_tmp681_ = _data_->_tmp680_;
						g_data_output_stream_put_string (_data_->_tmp678_, _data_->_tmp681_, NULL, &_data_->_inner_error0_);
						_g_free0 (_data_->_tmp681_);
						if (G_UNLIKELY (_data_->_inner_error0_ != NULL)) {
							_g_object_unref0 (_data_->_vala1_dos);
							_g_object_unref0 (_data_->_vala1_fos);
							_g_object_unref0 (_data_->_vala1_file);
							_g_free0 (_data_->_vala1_pkgdir_path);
							_g_free0 (_data_->_vala1_pkgdir);
							goto __catch2_g_error;
						}
						_data_->depends_created = FALSE;
						_data_->_tmp682_ = _data_->aur_pkg;
						_data_->_tmp683_ = pamac_alpm_package_get_depends ((PamacAlpmPackage*) _data_->_tmp682_);
						_data_->_tmp684_ = _data_->_tmp683_;
						_data_->_tmp685_ = vala_g_ptr_array_get_length (_data_->_tmp684_);
						_data_->_tmp686_ = _data_->_tmp685_;
						if (_data_->_tmp686_ != 0) {
							_data_->_tmp687_ = _data_->_vala1_dos;
							g_data_output_stream_put_string (_data_->_tmp687_, "%DEPENDS%\n", NULL, &_data_->_inner_error0_);
							if (G_UNLIKELY (_data_->_inner_error0_ != NULL)) {
								_g_object_unref0 (_data_->_vala1_dos);
								_g_object_unref0 (_data_->_vala1_fos);
								_g_object_unref0 (_data_->_vala1_file);
								_g_free0 (_data_->_vala1_pkgdir_path);
								_g_free0 (_data_->_vala1_pkgdir);
								goto __catch2_g_error;
							}
							_data_->depends_created = TRUE;
							_data_->_tmp688_ = _data_->aur_pkg;
							_data_->_tmp689_ = pamac_alpm_package_get_depends ((PamacAlpmPackage*) _data_->_tmp688_);
							_data_->_tmp690_ = _data_->_tmp689_;
							{
								_data_->_vala4_name_collection = _data_->_tmp690_;
								for (_data_->_vala4_name_index = 0; _data_->_vala4_name_index < _data_->_vala4_name_collection->len; _data_->_vala4_name_index = _data_->_vala4_name_index + 1) {
									_data_->_vala4_name = (const gchar*) g_ptr_array_index (_data_->_vala4_name_collection, _data_->_vala4_name_index);
									{
										_data_->_tmp691_ = _data_->_vala1_dos;
										_data_->_tmp692_ = _data_->_vala4_name;
										_data_->_tmp693_ = g_strdup_printf ("%s\n", _data_->_tmp692_);
										_data_->_tmp694_ = _data_->_tmp693_;
										g_data_output_stream_put_string (_data_->_tmp691_, _data_->_tmp694_, NULL, &_data_->_inner_error0_);
										_g_free0 (_data_->_tmp694_);
										if (G_UNLIKELY (_data_->_inner_error0_ != NULL)) {
											_g_object_unref0 (_data_->_vala1_dos);
											_g_object_unref0 (_data_->_vala1_fos);
											_g_object_unref0 (_data_->_vala1_file);
											_g_free0 (_data_->_vala1_pkgdir_path);
											_g_free0 (_data_->_vala1_pkgdir);
											goto __catch2_g_error;
										}
										_data_->_tmp696_ = _data_->self->priv->_database;
										_data_->_tmp697_ = _data_->_vala4_name;
										if (!pamac_database_has_installed_satisfier (_data_->_tmp696_, _data_->_tmp697_)) {
											_data_->_tmp698_ = _data_->self->priv->_database;
											_data_->_tmp699_ = _data_->_vala4_name;
											_data_->_tmp695_ = !pamac_database_has_sync_satisfier (_data_->_tmp698_, _data_->_tmp699_);
										} else {
											_data_->_tmp695_ = FALSE;
										}
										if (_data_->_tmp695_) {
											_data_->_tmp700_ = _data_->self->priv->_database;
											_data_->_tmp701_ = _data_->_vala4_name;
											_data_->_tmp702_ = pamac_database_get_alpm_dep_name (_data_->_tmp700_, _data_->_tmp701_);
											_data_->_vala1_dep_name = _data_->_tmp702_;
											_data_->_tmp703_ = _data_->self->priv->already_checked_aur_dep;
											_data_->_tmp704_ = _data_->_vala1_dep_name;
											if (!g_hash_table_contains (_data_->_tmp703_, _data_->_tmp704_)) {
												_data_->_tmp705_ = _data_->dep_to_check;
												_data_->_tmp706_ = _data_->_vala1_dep_name;
												_data_->_tmp707_ = g_strdup (_data_->_tmp706_);
												g_ptr_array_add (_data_->_tmp705_, _data_->_tmp707_);
												_data_->_tmp708_ = _data_->self->priv->clone_deps_files;
												_data_->_tmp709_ = _data_->_vala1_pkgname;
												if (g_hash_table_contains (_data_->_tmp708_, _data_->_tmp709_)) {
													_data_->_tmp710_ = _data_->self->priv->clone_files;
													_data_->_tmp711_ = _data_->_vala1_dep_name;
													_data_->_tmp712_ = g_strdup (_data_->_tmp711_);
													g_hash_table_add (_data_->_tmp710_, _data_->_tmp712_);
													_data_->_tmp713_ = _data_->self->priv->clone_deps_files;
													_data_->_tmp714_ = _data_->_vala1_dep_name;
													_data_->_tmp715_ = g_strdup (_data_->_tmp714_);
													g_hash_table_add (_data_->_tmp713_, _data_->_tmp715_);
												}
											}
											_g_free0 (_data_->_vala1_dep_name);
										}
									}
								}
							}
						}
						_data_->_tmp716_ = _data_->aur_pkg;
						_data_->_tmp717_ = pamac_alpm_package_get_checkdepends ((PamacAlpmPackage*) _data_->_tmp716_);
						_data_->_tmp718_ = _data_->_tmp717_;
						_data_->_tmp719_ = vala_g_ptr_array_get_length (_data_->_tmp718_);
						_data_->_tmp720_ = _data_->_tmp719_;
						if (_data_->_tmp720_ != 0) {
							if (!_data_->depends_created) {
								_data_->_tmp721_ = _data_->_vala1_dos;
								g_data_output_stream_put_string (_data_->_tmp721_, "%DEPENDS%\n", NULL, &_data_->_inner_error0_);
								if (G_UNLIKELY (_data_->_inner_error0_ != NULL)) {
									_g_object_unref0 (_data_->_vala1_dos);
									_g_object_unref0 (_data_->_vala1_fos);
									_g_object_unref0 (_data_->_vala1_file);
									_g_free0 (_data_->_vala1_pkgdir_path);
									_g_free0 (_data_->_vala1_pkgdir);
									goto __catch2_g_error;
								}
								_data_->depends_created = TRUE;
							}
							_data_->_tmp722_ = _data_->aur_pkg;
							_data_->_tmp723_ = pamac_alpm_package_get_checkdepends ((PamacAlpmPackage*) _data_->_tmp722_);
							_data_->_tmp724_ = _data_->_tmp723_;
							{
								_data_->_vala5_name_collection = _data_->_tmp724_;
								for (_data_->_vala5_name_index = 0; _data_->_vala5_name_index < _data_->_vala5_name_collection->len; _data_->_vala5_name_index = _data_->_vala5_name_index + 1) {
									_data_->_vala5_name = (const gchar*) g_ptr_array_index (_data_->_vala5_name_collection, _data_->_vala5_name_index);
									{
										_data_->_tmp725_ = _data_->_vala1_dos;
										_data_->_tmp726_ = _data_->_vala5_name;
										_data_->_tmp727_ = g_strdup_printf ("%s\n", _data_->_tmp726_);
										_data_->_tmp728_ = _data_->_tmp727_;
										g_data_output_stream_put_string (_data_->_tmp725_, _data_->_tmp728_, NULL, &_data_->_inner_error0_);
										_g_free0 (_data_->_tmp728_);
										if (G_UNLIKELY (_data_->_inner_error0_ != NULL)) {
											_g_object_unref0 (_data_->_vala1_dos);
											_g_object_unref0 (_data_->_vala1_fos);
											_g_object_unref0 (_data_->_vala1_file);
											_g_free0 (_data_->_vala1_pkgdir_path);
											_g_free0 (_data_->_vala1_pkgdir);
											goto __catch2_g_error;
										}
										_data_->_tmp730_ = _data_->self->priv->_database;
										_data_->_tmp731_ = _data_->_vala5_name;
										if (!pamac_database_has_installed_satisfier (_data_->_tmp730_, _data_->_tmp731_)) {
											_data_->_tmp732_ = _data_->self->priv->_database;
											_data_->_tmp733_ = _data_->_vala5_name;
											_data_->_tmp729_ = !pamac_database_has_sync_satisfier (_data_->_tmp732_, _data_->_tmp733_);
										} else {
											_data_->_tmp729_ = FALSE;
										}
										if (_data_->_tmp729_) {
											_data_->_tmp734_ = _data_->self->priv->_database;
											_data_->_tmp735_ = _data_->_vala5_name;
											_data_->_tmp736_ = pamac_database_get_alpm_dep_name (_data_->_tmp734_, _data_->_tmp735_);
											_data_->_vala2_dep_name = _data_->_tmp736_;
											_data_->_tmp737_ = _data_->self->priv->already_checked_aur_dep;
											_data_->_tmp738_ = _data_->_vala2_dep_name;
											if (!g_hash_table_contains (_data_->_tmp737_, _data_->_tmp738_)) {
												_data_->_tmp739_ = _data_->dep_to_check;
												_data_->_tmp740_ = _data_->_vala2_dep_name;
												_data_->_tmp741_ = g_strdup (_data_->_tmp740_);
												g_ptr_array_add (_data_->_tmp739_, _data_->_tmp741_);
												_data_->_tmp742_ = _data_->self->priv->clone_deps_files;
												_data_->_tmp743_ = _data_->_vala1_pkgname;
												if (g_hash_table_contains (_data_->_tmp742_, _data_->_tmp743_)) {
													_data_->_tmp744_ = _data_->self->priv->clone_files;
													_data_->_tmp745_ = _data_->_vala2_dep_name;
													_data_->_tmp746_ = g_strdup (_data_->_tmp745_);
													g_hash_table_add (_data_->_tmp744_, _data_->_tmp746_);
													_data_->_tmp747_ = _data_->self->priv->clone_deps_files;
													_data_->_tmp748_ = _data_->_vala2_dep_name;
													_data_->_tmp749_ = g_strdup (_data_->_tmp748_);
													g_hash_table_add (_data_->_tmp747_, _data_->_tmp749_);
												}
											}
											_g_free0 (_data_->_vala2_dep_name);
										}
									}
								}
							}
						}
						_data_->_tmp750_ = _data_->aur_pkg;
						_data_->_tmp751_ = pamac_alpm_package_get_makedepends ((PamacAlpmPackage*) _data_->_tmp750_);
						_data_->_tmp752_ = _data_->_tmp751_;
						_data_->_tmp753_ = vala_g_ptr_array_get_length (_data_->_tmp752_);
						_data_->_tmp754_ = _data_->_tmp753_;
						if (_data_->_tmp754_ != 0) {
							if (!_data_->depends_created) {
								_data_->_tmp755_ = _data_->_vala1_dos;
								g_data_output_stream_put_string (_data_->_tmp755_, "%DEPENDS%\n", NULL, &_data_->_inner_error0_);
								if (G_UNLIKELY (_data_->_inner_error0_ != NULL)) {
									_g_object_unref0 (_data_->_vala1_dos);
									_g_object_unref0 (_data_->_vala1_fos);
									_g_object_unref0 (_data_->_vala1_file);
									_g_free0 (_data_->_vala1_pkgdir_path);
									_g_free0 (_data_->_vala1_pkgdir);
									goto __catch2_g_error;
								}
								_data_->depends_created = TRUE;
							}
							_data_->_tmp756_ = _data_->aur_pkg;
							_data_->_tmp757_ = pamac_alpm_package_get_makedepends ((PamacAlpmPackage*) _data_->_tmp756_);
							_data_->_tmp758_ = _data_->_tmp757_;
							{
								_data_->_vala6_name_collection = _data_->_tmp758_;
								for (_data_->_vala6_name_index = 0; _data_->_vala6_name_index < _data_->_vala6_name_collection->len; _data_->_vala6_name_index = _data_->_vala6_name_index + 1) {
									_data_->_vala6_name = (const gchar*) g_ptr_array_index (_data_->_vala6_name_collection, _data_->_vala6_name_index);
									{
										_data_->_tmp759_ = _data_->_vala1_dos;
										_data_->_tmp760_ = _data_->_vala6_name;
										_data_->_tmp761_ = g_strdup_printf ("%s\n", _data_->_tmp760_);
										_data_->_tmp762_ = _data_->_tmp761_;
										g_data_output_stream_put_string (_data_->_tmp759_, _data_->_tmp762_, NULL, &_data_->_inner_error0_);
										_g_free0 (_data_->_tmp762_);
										if (G_UNLIKELY (_data_->_inner_error0_ != NULL)) {
											_g_object_unref0 (_data_->_vala1_dos);
											_g_object_unref0 (_data_->_vala1_fos);
											_g_object_unref0 (_data_->_vala1_file);
											_g_free0 (_data_->_vala1_pkgdir_path);
											_g_free0 (_data_->_vala1_pkgdir);
											goto __catch2_g_error;
										}
										_data_->_tmp764_ = _data_->self->priv->_database;
										_data_->_tmp765_ = _data_->_vala6_name;
										if (!pamac_database_has_installed_satisfier (_data_->_tmp764_, _data_->_tmp765_)) {
											_data_->_tmp766_ = _data_->self->priv->_database;
											_data_->_tmp767_ = _data_->_vala6_name;
											_data_->_tmp763_ = !pamac_database_has_sync_satisfier (_data_->_tmp766_, _data_->_tmp767_);
										} else {
											_data_->_tmp763_ = FALSE;
										}
										if (_data_->_tmp763_) {
											_data_->_tmp768_ = _data_->self->priv->_database;
											_data_->_tmp769_ = _data_->_vala6_name;
											_data_->_tmp770_ = pamac_database_get_alpm_dep_name (_data_->_tmp768_, _data_->_tmp769_);
											_data_->_vala3_dep_name = _data_->_tmp770_;
											_data_->_tmp771_ = _data_->self->priv->already_checked_aur_dep;
											_data_->_tmp772_ = _data_->_vala3_dep_name;
											if (!g_hash_table_contains (_data_->_tmp771_, _data_->_tmp772_)) {
												_data_->_tmp773_ = _data_->dep_to_check;
												_data_->_tmp774_ = _data_->_vala3_dep_name;
												_data_->_tmp775_ = g_strdup (_data_->_tmp774_);
												g_ptr_array_add (_data_->_tmp773_, _data_->_tmp775_);
												_data_->_tmp776_ = _data_->self->priv->clone_deps_files;
												_data_->_tmp777_ = _data_->_vala1_pkgname;
												if (g_hash_table_contains (_data_->_tmp776_, _data_->_tmp777_)) {
													_data_->_tmp778_ = _data_->self->priv->clone_files;
													_data_->_tmp779_ = _data_->_vala3_dep_name;
													_data_->_tmp780_ = g_strdup (_data_->_tmp779_);
													g_hash_table_add (_data_->_tmp778_, _data_->_tmp780_);
													_data_->_tmp781_ = _data_->self->priv->clone_deps_files;
													_data_->_tmp782_ = _data_->_vala3_dep_name;
													_data_->_tmp783_ = g_strdup (_data_->_tmp782_);
													g_hash_table_add (_data_->_tmp781_, _data_->_tmp783_);
												}
											}
											_g_free0 (_data_->_vala3_dep_name);
										}
									}
								}
							}
						}
						if (_data_->depends_created) {
							_data_->_tmp784_ = _data_->_vala1_dos;
							g_data_output_stream_put_string (_data_->_tmp784_, "\n", NULL, &_data_->_inner_error0_);
							if (G_UNLIKELY (_data_->_inner_error0_ != NULL)) {
								_g_object_unref0 (_data_->_vala1_dos);
								_g_object_unref0 (_data_->_vala1_fos);
								_g_object_unref0 (_data_->_vala1_file);
								_g_free0 (_data_->_vala1_pkgdir_path);
								_g_free0 (_data_->_vala1_pkgdir);
								goto __catch2_g_error;
							}
						}
						_data_->_tmp785_ = _data_->aur_pkg;
						_data_->_tmp786_ = pamac_alpm_package_get_conflicts ((PamacAlpmPackage*) _data_->_tmp785_);
						_data_->_tmp787_ = _data_->_tmp786_;
						_data_->_tmp788_ = vala_g_ptr_array_get_length (_data_->_tmp787_);
						_data_->_tmp789_ = _data_->_tmp788_;
						if (_data_->_tmp789_ != 0) {
							_data_->_tmp790_ = _data_->_vala1_dos;
							g_data_output_stream_put_string (_data_->_tmp790_, "%CONFLICTS%\n", NULL, &_data_->_inner_error0_);
							if (G_UNLIKELY (_data_->_inner_error0_ != NULL)) {
								_g_object_unref0 (_data_->_vala1_dos);
								_g_object_unref0 (_data_->_vala1_fos);
								_g_object_unref0 (_data_->_vala1_file);
								_g_free0 (_data_->_vala1_pkgdir_path);
								_g_free0 (_data_->_vala1_pkgdir);
								goto __catch2_g_error;
							}
							_data_->_tmp791_ = _data_->aur_pkg;
							_data_->_tmp792_ = pamac_alpm_package_get_conflicts ((PamacAlpmPackage*) _data_->_tmp791_);
							_data_->_tmp793_ = _data_->_tmp792_;
							{
								_data_->_vala7_name_collection = _data_->_tmp793_;
								for (_data_->_vala7_name_index = 0; _data_->_vala7_name_index < _data_->_vala7_name_collection->len; _data_->_vala7_name_index = _data_->_vala7_name_index + 1) {
									_data_->_vala7_name = (const gchar*) g_ptr_array_index (_data_->_vala7_name_collection, _data_->_vala7_name_index);
									{
										_data_->_tmp794_ = _data_->_vala1_dos;
										_data_->_tmp795_ = _data_->_vala7_name;
										_data_->_tmp796_ = g_strdup_printf ("%s\n", _data_->_tmp795_);
										_data_->_tmp797_ = _data_->_tmp796_;
										g_data_output_stream_put_string (_data_->_tmp794_, _data_->_tmp797_, NULL, &_data_->_inner_error0_);
										_g_free0 (_data_->_tmp797_);
										if (G_UNLIKELY (_data_->_inner_error0_ != NULL)) {
											_g_object_unref0 (_data_->_vala1_dos);
											_g_object_unref0 (_data_->_vala1_fos);
											_g_object_unref0 (_data_->_vala1_file);
											_g_free0 (_data_->_vala1_pkgdir_path);
											_g_free0 (_data_->_vala1_pkgdir);
											goto __catch2_g_error;
										}
									}
								}
							}
							_data_->_tmp798_ = _data_->_vala1_dos;
							g_data_output_stream_put_string (_data_->_tmp798_, "\n", NULL, &_data_->_inner_error0_);
							if (G_UNLIKELY (_data_->_inner_error0_ != NULL)) {
								_g_object_unref0 (_data_->_vala1_dos);
								_g_object_unref0 (_data_->_vala1_fos);
								_g_object_unref0 (_data_->_vala1_file);
								_g_free0 (_data_->_vala1_pkgdir_path);
								_g_free0 (_data_->_vala1_pkgdir);
								goto __catch2_g_error;
							}
						}
						_data_->_tmp799_ = _data_->aur_pkg;
						_data_->_tmp800_ = pamac_alpm_package_get_provides ((PamacAlpmPackage*) _data_->_tmp799_);
						_data_->_tmp801_ = _data_->_tmp800_;
						_data_->_tmp802_ = vala_g_ptr_array_get_length (_data_->_tmp801_);
						_data_->_tmp803_ = _data_->_tmp802_;
						if (_data_->_tmp803_ != 0) {
							_data_->_tmp804_ = _data_->_vala1_dos;
							g_data_output_stream_put_string (_data_->_tmp804_, "%PROVIDES%\n", NULL, &_data_->_inner_error0_);
							if (G_UNLIKELY (_data_->_inner_error0_ != NULL)) {
								_g_object_unref0 (_data_->_vala1_dos);
								_g_object_unref0 (_data_->_vala1_fos);
								_g_object_unref0 (_data_->_vala1_file);
								_g_free0 (_data_->_vala1_pkgdir_path);
								_g_free0 (_data_->_vala1_pkgdir);
								goto __catch2_g_error;
							}
							_data_->_tmp805_ = _data_->aur_pkg;
							_data_->_tmp806_ = pamac_alpm_package_get_provides ((PamacAlpmPackage*) _data_->_tmp805_);
							_data_->_tmp807_ = _data_->_tmp806_;
							{
								_data_->_vala8_name_collection = _data_->_tmp807_;
								for (_data_->_vala8_name_index = 0; _data_->_vala8_name_index < _data_->_vala8_name_collection->len; _data_->_vala8_name_index = _data_->_vala8_name_index + 1) {
									_data_->_vala8_name = (const gchar*) g_ptr_array_index (_data_->_vala8_name_collection, _data_->_vala8_name_index);
									{
										_data_->_tmp808_ = _data_->_vala1_dos;
										_data_->_tmp809_ = _data_->_vala8_name;
										_data_->_tmp810_ = g_strdup_printf ("%s\n", _data_->_tmp809_);
										_data_->_tmp811_ = _data_->_tmp810_;
										g_data_output_stream_put_string (_data_->_tmp808_, _data_->_tmp811_, NULL, &_data_->_inner_error0_);
										_g_free0 (_data_->_tmp811_);
										if (G_UNLIKELY (_data_->_inner_error0_ != NULL)) {
											_g_object_unref0 (_data_->_vala1_dos);
											_g_object_unref0 (_data_->_vala1_fos);
											_g_object_unref0 (_data_->_vala1_file);
											_g_free0 (_data_->_vala1_pkgdir_path);
											_g_free0 (_data_->_vala1_pkgdir);
											goto __catch2_g_error;
										}
									}
								}
							}
							_data_->_tmp812_ = _data_->_vala1_dos;
							g_data_output_stream_put_string (_data_->_tmp812_, "\n", NULL, &_data_->_inner_error0_);
							if (G_UNLIKELY (_data_->_inner_error0_ != NULL)) {
								_g_object_unref0 (_data_->_vala1_dos);
								_g_object_unref0 (_data_->_vala1_fos);
								_g_object_unref0 (_data_->_vala1_file);
								_g_free0 (_data_->_vala1_pkgdir_path);
								_g_free0 (_data_->_vala1_pkgdir);
								goto __catch2_g_error;
							}
						}
						_data_->_tmp813_ = _data_->aur_pkg;
						_data_->_tmp814_ = pamac_alpm_package_get_replaces ((PamacAlpmPackage*) _data_->_tmp813_);
						_data_->_tmp815_ = _data_->_tmp814_;
						_data_->_tmp816_ = vala_g_ptr_array_get_length (_data_->_tmp815_);
						_data_->_tmp817_ = _data_->_tmp816_;
						if (_data_->_tmp817_ != 0) {
							_data_->_tmp818_ = _data_->_vala1_dos;
							g_data_output_stream_put_string (_data_->_tmp818_, "%REPLACES%\n", NULL, &_data_->_inner_error0_);
							if (G_UNLIKELY (_data_->_inner_error0_ != NULL)) {
								_g_object_unref0 (_data_->_vala1_dos);
								_g_object_unref0 (_data_->_vala1_fos);
								_g_object_unref0 (_data_->_vala1_file);
								_g_free0 (_data_->_vala1_pkgdir_path);
								_g_free0 (_data_->_vala1_pkgdir);
								goto __catch2_g_error;
							}
							_data_->_tmp819_ = _data_->aur_pkg;
							_data_->_tmp820_ = pamac_alpm_package_get_replaces ((PamacAlpmPackage*) _data_->_tmp819_);
							_data_->_tmp821_ = _data_->_tmp820_;
							{
								_data_->_vala9_name_collection = _data_->_tmp821_;
								for (_data_->_vala9_name_index = 0; _data_->_vala9_name_index < _data_->_vala9_name_collection->len; _data_->_vala9_name_index = _data_->_vala9_name_index + 1) {
									_data_->_vala9_name = (const gchar*) g_ptr_array_index (_data_->_vala9_name_collection, _data_->_vala9_name_index);
									{
										_data_->_tmp822_ = _data_->_vala1_dos;
										_data_->_tmp823_ = _data_->_vala9_name;
										_data_->_tmp824_ = g_strdup_printf ("%s\n", _data_->_tmp823_);
										_data_->_tmp825_ = _data_->_tmp824_;
										g_data_output_stream_put_string (_data_->_tmp822_, _data_->_tmp825_, NULL, &_data_->_inner_error0_);
										_g_free0 (_data_->_tmp825_);
										if (G_UNLIKELY (_data_->_inner_error0_ != NULL)) {
											_g_object_unref0 (_data_->_vala1_dos);
											_g_object_unref0 (_data_->_vala1_fos);
											_g_object_unref0 (_data_->_vala1_file);
											_g_free0 (_data_->_vala1_pkgdir_path);
											_g_free0 (_data_->_vala1_pkgdir);
											goto __catch2_g_error;
										}
									}
								}
							}
							_data_->_tmp826_ = _data_->_vala1_dos;
							g_data_output_stream_put_string (_data_->_tmp826_, "\n", NULL, &_data_->_inner_error0_);
							if (G_UNLIKELY (_data_->_inner_error0_ != NULL)) {
								_g_object_unref0 (_data_->_vala1_dos);
								_g_object_unref0 (_data_->_vala1_fos);
								_g_object_unref0 (_data_->_vala1_file);
								_g_free0 (_data_->_vala1_pkgdir_path);
								_g_free0 (_data_->_vala1_pkgdir);
								goto __catch2_g_error;
							}
						}
						_g_object_unref0 (_data_->_vala1_dos);
						_g_object_unref0 (_data_->_vala1_fos);
						_g_object_unref0 (_data_->_vala1_file);
						_g_free0 (_data_->_vala1_pkgdir_path);
						_g_free0 (_data_->_vala1_pkgdir);
					}
					goto __finally2;
					__catch2_g_error:
					{
						g_clear_error (&_data_->_inner_error0_);
						_data_->_tmp827_ = g_ptr_array_new_full ((guint) 1, _g_free0_);
						_data_->_vala6_details = _data_->_tmp827_;
						_data_->_tmp828_ = _data_->_vala6_details;
						_data_->_tmp829_ = _data_->_vala1_pkgname;
						_data_->_tmp830_ = g_strdup_printf (g_dgettext (NULL, "Failed to check %s dependencies"), _data_->_tmp829_);
						g_ptr_array_add (_data_->_tmp828_, _data_->_tmp830_);
						_data_->_tmp831_ = _data_->_vala6_details;
						g_signal_emit (_data_->self, pamac_transaction_signals[PAMAC_TRANSACTION_EMIT_ERROR_SIGNAL], 0, g_dgettext (NULL, "Failed to prepare transaction"), _data_->_tmp831_);
						_data_->result = FALSE;
						_g_ptr_array_unref0 (_data_->_vala6_details);
						_g_free0 (_data_->arch);
						_g_object_unref0 (_data_->clone_dir);
						_g_hash_table_unref0 (_data_->aur_pkgs);
						_g_ptr_array_unref0 (_data_->to_get_from_aur);
						_g_ptr_array_unref0 (_data_->dep_to_check);
						g_task_return_pointer (_data_->_async_result, _data_, NULL);
						if (_data_->_state_ != 0) {
							while (!g_task_get_completed (_data_->_async_result)) {
								g_main_context_iteration (g_task_get_context (_data_->_async_result), TRUE);
							}
						}
						g_object_unref (_data_->_async_result);
						return FALSE;
					}
					__finally2:
					if (G_UNLIKELY (_data_->_inner_error0_ != NULL)) {
						_g_free0 (_data_->arch);
						_g_object_unref0 (_data_->clone_dir);
						_g_hash_table_unref0 (_data_->aur_pkgs);
						_g_ptr_array_unref0 (_data_->to_get_from_aur);
						_g_ptr_array_unref0 (_data_->dep_to_check);
						g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _data_->_inner_error0_->message, g_quark_to_string (_data_->_inner_error0_->domain), _data_->_inner_error0_->code);
						g_clear_error (&_data_->_inner_error0_);
						g_object_unref (_data_->_async_result);
						return FALSE;
					}
				}
				_g_free0 (_data_->arch);
				_g_object_unref0 (_data_->clone_dir);
			}
		}
	}
	_data_->_tmp832_ = _data_->dep_to_check;
	_data_->_tmp833_ = vala_g_ptr_array_get_length (_data_->_tmp832_);
	_data_->_tmp834_ = _data_->_tmp833_;
	if (_data_->_tmp834_ > 0) {
		_data_->_tmp835_ = _data_->dep_to_check;
		_data_->_state_ = 13;
		pamac_transaction_check_aur_dep_list (_data_->self, _data_->_tmp835_, pamac_transaction_check_aur_dep_list_ready, _data_);
		return FALSE;
		_state_13:
		_data_->result = pamac_transaction_check_aur_dep_list_finish (_data_->self, _data_->_res_);
		_g_hash_table_unref0 (_data_->aur_pkgs);
		_g_ptr_array_unref0 (_data_->to_get_from_aur);
		_g_ptr_array_unref0 (_data_->dep_to_check);
		g_task_return_pointer (_data_->_async_result, _data_, NULL);
		if (_data_->_state_ != 0) {
			while (!g_task_get_completed (_data_->_async_result)) {
				g_main_context_iteration (g_task_get_context (_data_->_async_result), TRUE);
			}
		}
		g_object_unref (_data_->_async_result);
		return FALSE;
	}
	_data_->result = TRUE;
	_g_hash_table_unref0 (_data_->aur_pkgs);
	_g_ptr_array_unref0 (_data_->to_get_from_aur);
	_g_ptr_array_unref0 (_data_->dep_to_check);
	g_task_return_pointer (_data_->_async_result, _data_, NULL);
	if (_data_->_state_ != 0) {
		while (!g_task_get_completed (_data_->_async_result)) {
			g_main_context_iteration (g_task_get_context (_data_->_async_result), TRUE);
		}
	}
	g_object_unref (_data_->_async_result);
	return FALSE;
}

static void
pamac_transaction_clone_build_files_if_needed_data_free (gpointer _data)
{
	PamacTransactionCloneBuildFilesIfNeededData* _data_;
	_data_ = _data;
	_g_free0 (_data_->pkgdir);
	_g_free0 (_data_->pkgname);
	_g_object_unref0 (_data_->self);
	g_slice_free (PamacTransactionCloneBuildFilesIfNeededData, _data_);
}

static void
pamac_transaction_clone_build_files_if_needed (PamacTransaction* self,
                                               const gchar* pkgdir,
                                               const gchar* pkgname,
                                               GAsyncReadyCallback _callback_,
                                               gpointer _user_data_)
{
	PamacTransactionCloneBuildFilesIfNeededData* _data_;
	PamacTransaction* _tmp0_;
	gchar* _tmp1_;
	gchar* _tmp2_;
	g_return_if_fail (self != NULL);
	g_return_if_fail (pkgdir != NULL);
	g_return_if_fail (pkgname != NULL);
	_data_ = g_slice_new0 (PamacTransactionCloneBuildFilesIfNeededData);
	_data_->_async_result = g_task_new (G_OBJECT (self), NULL, _callback_, _user_data_);
	g_task_set_task_data (_data_->_async_result, _data_, pamac_transaction_clone_build_files_if_needed_data_free);
	_tmp0_ = _g_object_ref0 (self);
	_data_->self = _tmp0_;
	_tmp1_ = g_strdup (pkgdir);
	_g_free0 (_data_->pkgdir);
	_data_->pkgdir = _tmp1_;
	_tmp2_ = g_strdup (pkgname);
	_g_free0 (_data_->pkgname);
	_data_->pkgname = _tmp2_;
	pamac_transaction_clone_build_files_if_needed_co (_data_);
}

static gboolean
pamac_transaction_clone_build_files_if_needed_finish (PamacTransaction* self,
                                                      GAsyncResult* _res_)
{
	gboolean result;
	PamacTransactionCloneBuildFilesIfNeededData* _data_;
	_data_ = g_task_propagate_pointer (G_TASK (_res_), NULL);
	result = _data_->result;
	return result;
}

static void
pamac_transaction_clone_build_files_if_needed_ready (GObject* source_object,
                                                     GAsyncResult* _res_,
                                                     gpointer _user_data_)
{
	PamacTransactionCloneBuildFilesIfNeededData* _data_;
	_data_ = _user_data_;
	_data_->_source_object_ = source_object;
	_data_->_res_ = _res_;
	pamac_transaction_clone_build_files_if_needed_co (_data_);
}

static gboolean
pamac_transaction_clone_build_files_if_needed_co (PamacTransactionCloneBuildFilesIfNeededData* _data_)
{
	switch (_data_->_state_) {
		case 0:
		goto _state_0;
		case 1:
		goto _state_1;
		case 2:
		goto _state_2;
		default:
		g_assert_not_reached ();
	}
	_state_0:
	_data_->_tmp0_ = g_file_new_for_path (_data_->pkgdir);
	_data_->clone_dir = _data_->_tmp0_;
	_data_->_tmp1_ = _data_->clone_dir;
	if (!g_file_query_exists (_data_->_tmp1_, NULL)) {
		_data_->_tmp2_ = _data_->self->priv->clone_files;
		if (g_hash_table_contains (_data_->_tmp2_, _data_->pkgname)) {
			_data_->_tmp3_ = g_strdup_printf (g_dgettext (NULL, "Cloning %s build files"), _data_->pkgname);
			_data_->_tmp4_ = _data_->_tmp3_;
			_data_->_tmp5_ = g_strconcat (_data_->_tmp4_, "...", NULL);
			_data_->_tmp6_ = _data_->_tmp5_;
			g_signal_emit (_data_->self, pamac_transaction_signals[PAMAC_TRANSACTION_EMIT_ACTION_SIGNAL], 0, _data_->_tmp6_);
			_g_free0 (_data_->_tmp6_);
			_g_free0 (_data_->_tmp4_);
			_data_->_tmp7_ = _data_->self->priv->_database;
			_data_->_tmp8_ = _data_->self->priv->build_cancellable;
			_data_->_state_ = 1;
			pamac_database_clone_build_files_async (_data_->_tmp7_, _data_->pkgname, FALSE, _data_->_tmp8_, pamac_transaction_clone_build_files_if_needed_ready, _data_);
			return FALSE;
			_state_1:
			_data_->_tmp9_ = pamac_database_clone_build_files_finish (_data_->_tmp7_, _data_->_res_);
			_g_object_unref0 (_data_->clone_dir);
			_data_->clone_dir = _data_->_tmp9_;
			_data_->_tmp10_ = _data_->self->priv->build_cancellable;
			if (g_cancellable_is_cancelled (_data_->_tmp10_)) {
				_data_->result = FALSE;
				_g_object_unref0 (_data_->clone_dir);
				g_task_return_pointer (_data_->_async_result, _data_, NULL);
				if (_data_->_state_ != 0) {
					while (!g_task_get_completed (_data_->_async_result)) {
						g_main_context_iteration (g_task_get_context (_data_->_async_result), TRUE);
					}
				}
				g_object_unref (_data_->_async_result);
				return FALSE;
			}
			_data_->_tmp11_ = _data_->clone_dir;
			if (_data_->_tmp11_ == NULL) {
				_data_->result = FALSE;
				_g_object_unref0 (_data_->clone_dir);
				g_task_return_pointer (_data_->_async_result, _data_, NULL);
				if (_data_->_state_ != 0) {
					while (!g_task_get_completed (_data_->_async_result)) {
						g_main_context_iteration (g_task_get_context (_data_->_async_result), TRUE);
					}
				}
				g_object_unref (_data_->_async_result);
				return FALSE;
			}
			_data_->_tmp12_ = g_strdup_printf (g_dgettext (NULL, "Generating %s information"), _data_->pkgname);
			_data_->_tmp13_ = _data_->_tmp12_;
			_data_->_tmp14_ = g_strconcat (_data_->_tmp13_, "...", NULL);
			_data_->_tmp15_ = _data_->_tmp14_;
			g_signal_emit (_data_->self, pamac_transaction_signals[PAMAC_TRANSACTION_EMIT_ACTION_SIGNAL], 0, _data_->_tmp15_);
			_g_free0 (_data_->_tmp15_);
			_g_free0 (_data_->_tmp13_);
			_data_->_tmp16_ = _data_->self->priv->_database;
			_data_->_tmp17_ = _data_->self->priv->build_cancellable;
			_data_->_state_ = 2;
			pamac_database_regenerate_srcinfo_async (_data_->_tmp16_, _data_->pkgname, _data_->_tmp17_, pamac_transaction_clone_build_files_if_needed_ready, _data_);
			return FALSE;
			_state_2:
			_data_->success = pamac_database_regenerate_srcinfo_finish (_data_->_tmp16_, _data_->_res_);
			if (!_data_->success) {
				_data_->result = FALSE;
				_g_object_unref0 (_data_->clone_dir);
				g_task_return_pointer (_data_->_async_result, _data_, NULL);
				if (_data_->_state_ != 0) {
					while (!g_task_get_completed (_data_->_async_result)) {
						g_main_context_iteration (g_task_get_context (_data_->_async_result), TRUE);
					}
				}
				g_object_unref (_data_->_async_result);
				return FALSE;
			}
		} else {
			_data_->_tmp18_ = g_ptr_array_new_full ((guint) 1, _g_free0_);
			_data_->details = _data_->_tmp18_;
			_data_->_tmp19_ = _data_->details;
			_data_->_tmp20_ = g_strdup_printf (g_dgettext (NULL, "target not found: %s"), _data_->pkgname);
			g_ptr_array_add (_data_->_tmp19_, _data_->_tmp20_);
			_data_->_tmp21_ = _data_->details;
			g_signal_emit (_data_->self, pamac_transaction_signals[PAMAC_TRANSACTION_EMIT_ERROR_SIGNAL], 0, g_dgettext (NULL, "Failed to prepare transaction"), _data_->_tmp21_);
			_data_->result = FALSE;
			_g_ptr_array_unref0 (_data_->details);
			_g_object_unref0 (_data_->clone_dir);
			g_task_return_pointer (_data_->_async_result, _data_, NULL);
			if (_data_->_state_ != 0) {
				while (!g_task_get_completed (_data_->_async_result)) {
					g_main_context_iteration (g_task_get_context (_data_->_async_result), TRUE);
				}
			}
			g_object_unref (_data_->_async_result);
			return FALSE;
		}
	}
	_data_->result = TRUE;
	_g_object_unref0 (_data_->clone_dir);
	g_task_return_pointer (_data_->_async_result, _data_, NULL);
	if (_data_->_state_ != 0) {
		while (!g_task_get_completed (_data_->_async_result)) {
			g_main_context_iteration (g_task_get_context (_data_->_async_result), TRUE);
		}
	}
	g_object_unref (_data_->_async_result);
	return FALSE;
}

static void
pamac_transaction_check_signatures_data_free (gpointer _data)
{
	PamacTransactionCheckSignaturesData* _data_;
	_data_ = _data;
	_g_free0 (_data_->pkgdir);
	_g_free0 (_data_->pkgname);
	_g_object_unref0 (_data_->self);
	g_slice_free (PamacTransactionCheckSignaturesData, _data_);
}

static void
pamac_transaction_check_signatures (PamacTransaction* self,
                                    const gchar* pkgdir,
                                    const gchar* pkgname,
                                    GAsyncReadyCallback _callback_,
                                    gpointer _user_data_)
{
	PamacTransactionCheckSignaturesData* _data_;
	PamacTransaction* _tmp0_;
	gchar* _tmp1_;
	gchar* _tmp2_;
	g_return_if_fail (self != NULL);
	g_return_if_fail (pkgdir != NULL);
	g_return_if_fail (pkgname != NULL);
	_data_ = g_slice_new0 (PamacTransactionCheckSignaturesData);
	_data_->_async_result = g_task_new (G_OBJECT (self), NULL, _callback_, _user_data_);
	g_task_set_task_data (_data_->_async_result, _data_, pamac_transaction_check_signatures_data_free);
	_tmp0_ = _g_object_ref0 (self);
	_data_->self = _tmp0_;
	_tmp1_ = g_strdup (pkgdir);
	_g_free0 (_data_->pkgdir);
	_data_->pkgdir = _tmp1_;
	_tmp2_ = g_strdup (pkgname);
	_g_free0 (_data_->pkgname);
	_data_->pkgname = _tmp2_;
	pamac_transaction_check_signatures_co (_data_);
}

static void
pamac_transaction_check_signatures_finish (PamacTransaction* self,
                                           GAsyncResult* _res_)
{
	PamacTransactionCheckSignaturesData* _data_;
	_data_ = g_task_propagate_pointer (G_TASK (_res_), NULL);
}

static void
pamac_transaction_check_signatures_ready (GObject* source_object,
                                          GAsyncResult* _res_,
                                          gpointer _user_data_)
{
	PamacTransactionCheckSignaturesData* _data_;
	_data_ = _user_data_;
	_data_->_source_object_ = source_object;
	_data_->_res_ = _res_;
	pamac_transaction_check_signatures_co (_data_);
}

static gboolean
pamac_transaction_check_signatures_co (PamacTransactionCheckSignaturesData* _data_)
{
	switch (_data_->_state_) {
		case 0:
		goto _state_0;
		case 1:
		goto _state_1;
		case 2:
		goto _state_2;
		case 3:
		goto _state_3;
		default:
		g_assert_not_reached ();
	}
	_state_0:
	_data_->_tmp0_ = g_file_new_for_path (_data_->pkgdir);
	_data_->clone_dir = _data_->_tmp0_;
	_data_->_tmp1_ = _data_->clone_dir;
	if (g_file_query_exists (_data_->_tmp1_, NULL)) {
		_data_->_tmp2_ = _data_->clone_dir;
		_data_->_tmp3_ = g_file_get_child (_data_->_tmp2_, ".SRCINFO");
		_data_->srcinfo = _data_->_tmp3_;
		{
			_data_->_tmp5_ = _data_->srcinfo;
			_data_->_state_ = 1;
			g_file_read_async (_data_->_tmp5_, G_PRIORITY_DEFAULT, NULL, pamac_transaction_check_signatures_ready, _data_);
			return FALSE;
			_state_1:
			_data_->_tmp6_ = g_file_read_finish (_data_->_tmp5_, _data_->_res_, &_data_->_inner_error0_);
			_data_->_tmp4_ = _data_->_tmp6_;
			if (G_UNLIKELY (_data_->_inner_error0_ != NULL)) {
				goto __catch0_g_error;
			}
			_data_->_tmp7_ = g_data_input_stream_new ((GInputStream*) _data_->_tmp4_);
			_data_->dis = _data_->_tmp7_;
			_data_->_tmp8_ = g_ptr_array_new_full ((guint) 0, _g_free0_);
			_data_->global_validpgpkeys = _data_->_tmp8_;
			while (TRUE) {
				_data_->_tmp10_ = _data_->dis;
				_data_->_state_ = 2;
				g_data_input_stream_read_line_async (_data_->_tmp10_, G_PRIORITY_DEFAULT, NULL, pamac_transaction_check_signatures_ready, _data_);
				return FALSE;
				_state_2:
				_data_->_tmp11_ = g_data_input_stream_read_line_finish (_data_->_tmp10_, _data_->_res_, NULL, &_data_->_inner_error0_);
				_data_->_tmp9_ = _data_->_tmp11_;
				if (G_UNLIKELY (_data_->_inner_error0_ != NULL)) {
					_g_ptr_array_unref0 (_data_->global_validpgpkeys);
					_g_free0 (_data_->line);
					_g_object_unref0 (_data_->dis);
					_g_object_unref0 (_data_->_tmp4_);
					goto __catch0_g_error;
				}
				_data_->_tmp12_ = _data_->_tmp9_;
				_data_->_tmp9_ = NULL;
				_g_free0 (_data_->line);
				_data_->line = _data_->_tmp12_;
				_data_->_tmp13_ = _data_->line;
				if (!(_data_->_tmp13_ != NULL)) {
					_g_free0 (_data_->_tmp9_);
					break;
				}
				_data_->_tmp14_ = _data_->line;
				if (string_contains (_data_->_tmp14_, "validpgpkeys = ")) {
					_data_->_tmp15_ = _data_->global_validpgpkeys;
					_data_->_tmp16_ = _data_->line;
					_data_->_tmp18_ = _data_->_tmp17_ = g_strsplit (_data_->_tmp16_, " = ", 2);
					_data_->_tmp19_ = _data_->_tmp18_;
					_data_->_tmp19__length1 = _vala_array_length (_data_->_tmp17_);
					_data_->_tmp20_ = _data_->_tmp19_[1];
					_data_->_tmp21_ = g_strdup (_data_->_tmp20_);
					g_ptr_array_add (_data_->_tmp15_, _data_->_tmp21_);
					_data_->_tmp19_ = (_vala_array_free (_data_->_tmp19_, _data_->_tmp19__length1, (GDestroyNotify) g_free), NULL);
				}
				_g_free0 (_data_->_tmp9_);
			}
			_data_->_tmp22_ = _data_->global_validpgpkeys;
			_data_->_tmp23_ = vala_g_ptr_array_get_length (_data_->_tmp22_);
			_data_->_tmp24_ = _data_->_tmp23_;
			if (_data_->_tmp24_ > 0) {
				_data_->_tmp25_ = _data_->global_validpgpkeys;
				_data_->_state_ = 3;
				pamac_transaction_check_signature (_data_->self, _data_->pkgname, _data_->_tmp25_, pamac_transaction_check_signatures_ready, _data_);
				return FALSE;
				_state_3:
				pamac_transaction_check_signature_finish (_data_->self, _data_->_res_);
			}
			_g_ptr_array_unref0 (_data_->global_validpgpkeys);
			_g_free0 (_data_->line);
			_g_object_unref0 (_data_->dis);
			_g_object_unref0 (_data_->_tmp4_);
		}
		goto __finally0;
		__catch0_g_error:
		{
			_data_->e = _data_->_inner_error0_;
			_data_->_inner_error0_ = NULL;
			_data_->_tmp26_ = _data_->e;
			_data_->_tmp27_ = _data_->_tmp26_->message;
			g_warning ("transaction.vala:1012: %s", _data_->_tmp27_);
			_g_error_free0 (_data_->e);
		}
		__finally0:
		if (G_UNLIKELY (_data_->_inner_error0_ != NULL)) {
			_g_object_unref0 (_data_->srcinfo);
			_g_object_unref0 (_data_->clone_dir);
			g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _data_->_inner_error0_->message, g_quark_to_string (_data_->_inner_error0_->domain), _data_->_inner_error0_->code);
			g_clear_error (&_data_->_inner_error0_);
			g_object_unref (_data_->_async_result);
			return FALSE;
		}
		_g_object_unref0 (_data_->srcinfo);
	}
	_g_object_unref0 (_data_->clone_dir);
	g_task_return_pointer (_data_->_async_result, _data_, NULL);
	if (_data_->_state_ != 0) {
		while (!g_task_get_completed (_data_->_async_result)) {
			g_main_context_iteration (g_task_get_context (_data_->_async_result), TRUE);
		}
	}
	g_object_unref (_data_->_async_result);
	return FALSE;
}

static void
pamac_transaction_check_signature_data_free (gpointer _data)
{
	PamacTransactionCheckSignatureData* _data_;
	_data_ = _data;
	_g_free0 (_data_->pkgname);
	_g_ptr_array_unref0 (_data_->keys);
	_g_object_unref0 (_data_->self);
	g_slice_free (PamacTransactionCheckSignatureData, _data_);
}

static void
pamac_transaction_check_signature (PamacTransaction* self,
                                   const gchar* pkgname,
                                   GPtrArray* keys,
                                   GAsyncReadyCallback _callback_,
                                   gpointer _user_data_)
{
	PamacTransactionCheckSignatureData* _data_;
	PamacTransaction* _tmp0_;
	gchar* _tmp1_;
	GPtrArray* _tmp2_;
	g_return_if_fail (self != NULL);
	g_return_if_fail (pkgname != NULL);
	g_return_if_fail (keys != NULL);
	_data_ = g_slice_new0 (PamacTransactionCheckSignatureData);
	_data_->_async_result = g_task_new (G_OBJECT (self), NULL, _callback_, _user_data_);
	g_task_set_task_data (_data_->_async_result, _data_, pamac_transaction_check_signature_data_free);
	_tmp0_ = _g_object_ref0 (self);
	_data_->self = _tmp0_;
	_tmp1_ = g_strdup (pkgname);
	_g_free0 (_data_->pkgname);
	_data_->pkgname = _tmp1_;
	_tmp2_ = _g_ptr_array_ref0 (keys);
	_g_ptr_array_unref0 (_data_->keys);
	_data_->keys = _tmp2_;
	pamac_transaction_check_signature_co (_data_);
}

static void
pamac_transaction_check_signature_finish (PamacTransaction* self,
                                          GAsyncResult* _res_)
{
	PamacTransactionCheckSignatureData* _data_;
	_data_ = g_task_propagate_pointer (G_TASK (_res_), NULL);
}

static void
pamac_transaction_check_signature_ready (GObject* source_object,
                                         GAsyncResult* _res_,
                                         gpointer _user_data_)
{
	PamacTransactionCheckSignatureData* _data_;
	_data_ = _user_data_;
	_data_->_source_object_ = source_object;
	_data_->_res_ = _res_;
	pamac_transaction_check_signature_co (_data_);
}

static gboolean
pamac_transaction_check_signature_co (PamacTransactionCheckSignatureData* _data_)
{
	switch (_data_->_state_) {
		case 0:
		goto _state_0;
		case 1:
		goto _state_1;
		case 2:
		goto _state_2;
		case 3:
		goto _state_3;
		case 4:
		goto _state_4;
		case 5:
		goto _state_5;
		default:
		g_assert_not_reached ();
	}
	_state_0:
	{
		_data_->key_collection = _data_->keys;
		for (_data_->key_index = 0; _data_->key_index < _data_->key_collection->len; _data_->key_index = _data_->key_index + 1) {
			_data_->key = (const gchar*) g_ptr_array_index (_data_->key_collection, _data_->key_index);
			{
				_data_->_tmp0_ = g_subprocess_launcher_new (G_SUBPROCESS_FLAGS_STDOUT_SILENCE | G_SUBPROCESS_FLAGS_STDERR_SILENCE);
				_data_->launcher = _data_->_tmp0_;
				{
					_data_->_tmp1_ = _data_->launcher;
					_data_->_tmp2_ = g_strdup ("gpg");
					_data_->_tmp3_ = g_strdup ("--with-colons");
					_data_->_tmp4_ = g_strdup ("--batch");
					_data_->_tmp5_ = g_strdup ("--list-keys");
					_data_->_tmp6_ = _data_->key;
					_data_->_tmp7_ = g_strdup (_data_->_tmp6_);
					_data_->_tmp8_ = g_new0 (gchar*, 5 + 1);
					_data_->_tmp8_[0] = _data_->_tmp2_;
					_data_->_tmp8_[1] = _data_->_tmp3_;
					_data_->_tmp8_[2] = _data_->_tmp4_;
					_data_->_tmp8_[3] = _data_->_tmp5_;
					_data_->_tmp8_[4] = _data_->_tmp7_;
					_data_->_tmp9_ = _data_->_tmp8_;
					_data_->_tmp9__length1 = 5;
					_data_->_tmp10_ = g_subprocess_launcher_spawnv (_data_->_tmp1_, _data_->_tmp9_, &_data_->_inner_error0_);
					_data_->_tmp11_ = _data_->_tmp10_;
					_data_->_tmp9_ = (_vala_array_free (_data_->_tmp9_, _data_->_tmp9__length1, (GDestroyNotify) g_free), NULL);
					_data_->process = _data_->_tmp11_;
					if (G_UNLIKELY (_data_->_inner_error0_ != NULL)) {
						goto __catch0_g_error;
					}
					_data_->_tmp12_ = _data_->process;
					_data_->_state_ = 1;
					g_subprocess_wait_async (_data_->_tmp12_, NULL, pamac_transaction_check_signature_ready, _data_);
					return FALSE;
					_state_1:
					g_subprocess_wait_finish (_data_->_tmp12_, _data_->_res_, &_data_->_inner_error0_);
					if (G_UNLIKELY (_data_->_inner_error0_ != NULL)) {
						_g_object_unref0 (_data_->process);
						goto __catch0_g_error;
					}
					_data_->_tmp13_ = _data_->process;
					if (g_subprocess_get_if_exited (_data_->_tmp13_)) {
						_data_->_tmp14_ = _data_->process;
						if (g_subprocess_get_exit_status (_data_->_tmp14_) != 0) {
							_data_->success = FALSE;
							_data_->_tmp15_ = _data_->launcher;
							g_subprocess_launcher_set_flags (_data_->_tmp15_, G_SUBPROCESS_FLAGS_STDOUT_PIPE | G_SUBPROCESS_FLAGS_STDERR_MERGE);
							_data_->_tmp17_ = _data_->launcher;
							_data_->_tmp18_ = g_strdup ("gpg");
							_data_->_tmp19_ = g_strdup ("--with-colons");
							_data_->_tmp20_ = g_strdup ("--batch");
							_data_->_tmp21_ = g_strdup ("--search-keys");
							_data_->_tmp22_ = _data_->key;
							_data_->_tmp23_ = g_strdup (_data_->_tmp22_);
							_data_->_tmp24_ = g_new0 (gchar*, 5 + 1);
							_data_->_tmp24_[0] = _data_->_tmp18_;
							_data_->_tmp24_[1] = _data_->_tmp19_;
							_data_->_tmp24_[2] = _data_->_tmp20_;
							_data_->_tmp24_[3] = _data_->_tmp21_;
							_data_->_tmp24_[4] = _data_->_tmp23_;
							_data_->_tmp25_ = _data_->_tmp24_;
							_data_->_tmp25__length1 = 5;
							_data_->_tmp26_ = g_subprocess_launcher_spawnv (_data_->_tmp17_, _data_->_tmp25_, &_data_->_inner_error0_);
							_data_->_tmp27_ = _data_->_tmp26_;
							_data_->_tmp25_ = (_vala_array_free (_data_->_tmp25_, _data_->_tmp25__length1, (GDestroyNotify) g_free), NULL);
							_data_->_tmp16_ = _data_->_tmp27_;
							if (G_UNLIKELY (_data_->_inner_error0_ != NULL)) {
								_g_object_unref0 (_data_->process);
								goto __catch0_g_error;
							}
							_data_->_tmp28_ = _data_->_tmp16_;
							_data_->_tmp16_ = NULL;
							_g_object_unref0 (_data_->process);
							_data_->process = _data_->_tmp28_;
							_data_->_tmp29_ = _data_->process;
							_data_->_state_ = 2;
							g_subprocess_wait_async (_data_->_tmp29_, NULL, pamac_transaction_check_signature_ready, _data_);
							return FALSE;
							_state_2:
							g_subprocess_wait_finish (_data_->_tmp29_, _data_->_res_, &_data_->_inner_error0_);
							if (G_UNLIKELY (_data_->_inner_error0_ != NULL)) {
								_g_object_unref0 (_data_->_tmp16_);
								_g_object_unref0 (_data_->process);
								goto __catch0_g_error;
							}
							_data_->_tmp30_ = _data_->process;
							if (g_subprocess_get_if_exited (_data_->_tmp30_)) {
								_data_->_tmp31_ = _data_->process;
								if (g_subprocess_get_exit_status (_data_->_tmp31_) == 0) {
									_data_->_tmp32_ = _data_->process;
									_data_->_tmp33_ = g_subprocess_get_stdout_pipe (_data_->_tmp32_);
									_data_->_tmp34_ = g_data_input_stream_new (_data_->_tmp33_);
									_data_->dis = _data_->_tmp34_;
									_data_->owner = NULL;
									while (TRUE) {
										_data_->_tmp36_ = _data_->dis;
										_data_->_state_ = 3;
										g_data_input_stream_read_line_async (_data_->_tmp36_, G_PRIORITY_DEFAULT, NULL, pamac_transaction_check_signature_ready, _data_);
										return FALSE;
										_state_3:
										_data_->_tmp37_ = g_data_input_stream_read_line_finish (_data_->_tmp36_, _data_->_res_, NULL, &_data_->_inner_error0_);
										_data_->_tmp35_ = _data_->_tmp37_;
										if (G_UNLIKELY (_data_->_inner_error0_ != NULL)) {
											_g_free0 (_data_->line);
											_g_free0 (_data_->owner);
											_g_object_unref0 (_data_->dis);
											_g_object_unref0 (_data_->_tmp16_);
											_g_object_unref0 (_data_->process);
											goto __catch0_g_error;
										}
										_data_->_tmp38_ = _data_->_tmp35_;
										_data_->_tmp35_ = NULL;
										_g_free0 (_data_->line);
										_data_->line = _data_->_tmp38_;
										_data_->_tmp39_ = _data_->line;
										if (!(_data_->_tmp39_ != NULL)) {
											_g_free0 (_data_->_tmp35_);
											break;
										}
										_data_->_tmp40_ = _data_->line;
										if (string_contains (_data_->_tmp40_, "uid:")) {
											_data_->_tmp41_ = _data_->line;
											_data_->_tmp43_ = _data_->_tmp42_ = g_strsplit (_data_->_tmp41_, ":", 3);
											_data_->_tmp44_ = _data_->_tmp43_;
											_data_->_tmp44__length1 = _vala_array_length (_data_->_tmp42_);
											_data_->_tmp45_ = _data_->_tmp44_[1];
											_data_->_tmp46_ = g_strdup (_data_->_tmp45_);
											_g_free0 (_data_->owner);
											_data_->owner = _data_->_tmp46_;
											_data_->_tmp44_ = (_vala_array_free (_data_->_tmp44_, _data_->_tmp44__length1, (GDestroyNotify) g_free), NULL);
											_g_free0 (_data_->_tmp35_);
											break;
										}
										_g_free0 (_data_->_tmp35_);
									}
									_data_->_tmp47_ = _data_->key;
									_data_->_tmp48_ = _data_->owner;
									_data_->_state_ = 4;
									pamac_transaction_ask_import_key (_data_->self, _data_->pkgname, _data_->_tmp47_, _data_->_tmp48_, pamac_transaction_check_signature_ready, _data_);
									return FALSE;
									_state_4:
									if (pamac_transaction_ask_import_key_finish (_data_->self, _data_->_res_)) {
										_data_->_tmp49_ = g_ptr_array_new_full ((guint) 5, _g_free0_);
										_data_->cmdline = _data_->_tmp49_;
										_data_->_tmp50_ = _data_->cmdline;
										_data_->_tmp51_ = g_strdup ("gpg");
										g_ptr_array_add (_data_->_tmp50_, _data_->_tmp51_);
										_data_->_tmp52_ = _data_->cmdline;
										_data_->_tmp53_ = g_strdup ("--with-colons");
										g_ptr_array_add (_data_->_tmp52_, _data_->_tmp53_);
										_data_->_tmp54_ = _data_->cmdline;
										_data_->_tmp55_ = g_strdup ("--batch");
										g_ptr_array_add (_data_->_tmp54_, _data_->_tmp55_);
										_data_->_tmp56_ = _data_->cmdline;
										_data_->_tmp57_ = g_strdup ("--recv-keys");
										g_ptr_array_add (_data_->_tmp56_, _data_->_tmp57_);
										_data_->_tmp58_ = _data_->cmdline;
										_data_->_tmp59_ = _data_->key;
										_data_->_tmp60_ = g_strdup (_data_->_tmp59_);
										g_ptr_array_add (_data_->_tmp58_, _data_->_tmp60_);
										_data_->_tmp61_ = _data_->cmdline;
										_data_->_tmp62_ = _data_->self->priv->build_cancellable;
										_data_->_state_ = 5;
										pamac_transaction_run_cmd_line_async (_data_->self, _data_->_tmp61_, NULL, _data_->_tmp62_, pamac_transaction_check_signature_ready, _data_);
										return FALSE;
										_state_5:
										_data_->status = pamac_transaction_run_cmd_line_finish (_data_->self, _data_->_res_);
										g_signal_emit (_data_->self, pamac_transaction_signals[PAMAC_TRANSACTION_EMIT_SCRIPT_OUTPUT_SIGNAL], 0, "");
										if (_data_->status == 0) {
											_data_->success = TRUE;
										}
										_g_ptr_array_unref0 (_data_->cmdline);
									}
									_g_free0 (_data_->line);
									_g_free0 (_data_->owner);
									_g_object_unref0 (_data_->dis);
								}
							}
							if (!_data_->success) {
								_data_->_tmp63_ = _data_->key;
								_data_->_tmp64_ = g_strdup_printf (g_dgettext (NULL, "key %s could not be imported"), _data_->_tmp63_);
								_data_->_tmp65_ = _data_->_tmp64_;
								_data_->_tmp66_ = g_ptr_array_new_full ((guint) 0, _g_free0_);
								_data_->_tmp67_ = _data_->_tmp66_;
								g_signal_emit (_data_->self, pamac_transaction_signals[PAMAC_TRANSACTION_EMIT_ERROR_SIGNAL], 0, _data_->_tmp65_, _data_->_tmp67_);
								_g_ptr_array_unref0 (_data_->_tmp67_);
								_g_free0 (_data_->_tmp65_);
							}
							_g_object_unref0 (_data_->_tmp16_);
						}
					}
					_g_object_unref0 (_data_->process);
				}
				goto __finally0;
				__catch0_g_error:
				{
					_data_->e = _data_->_inner_error0_;
					_data_->_inner_error0_ = NULL;
					_data_->_tmp68_ = _data_->e;
					_data_->_tmp69_ = _data_->_tmp68_->message;
					g_warning ("transaction.vala:1065: %s", _data_->_tmp69_);
					_g_error_free0 (_data_->e);
				}
				__finally0:
				if (G_UNLIKELY (_data_->_inner_error0_ != NULL)) {
					_g_object_unref0 (_data_->launcher);
					g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _data_->_inner_error0_->message, g_quark_to_string (_data_->_inner_error0_->domain), _data_->_inner_error0_->code);
					g_clear_error (&_data_->_inner_error0_);
					g_object_unref (_data_->_async_result);
					return FALSE;
				}
				_g_object_unref0 (_data_->launcher);
			}
		}
	}
	g_task_return_pointer (_data_->_async_result, _data_, NULL);
	if (_data_->_state_ != 0) {
		while (!g_task_get_completed (_data_->_async_result)) {
			g_main_context_iteration (g_task_get_context (_data_->_async_result), TRUE);
		}
	}
	g_object_unref (_data_->_async_result);
	return FALSE;
}

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

void
pamac_transaction_run_async (PamacTransaction* self,
                             GAsyncReadyCallback _callback_,
                             gpointer _user_data_)
{
	PamacTransactionRunAsyncData* _data_;
	PamacTransaction* _tmp0_;
	g_return_if_fail (self != NULL);
	_data_ = g_slice_new0 (PamacTransactionRunAsyncData);
	_data_->_async_result = g_task_new (G_OBJECT (self), NULL, _callback_, _user_data_);
	g_task_set_task_data (_data_->_async_result, _data_, pamac_transaction_run_async_data_free);
	_tmp0_ = _g_object_ref0 (self);
	_data_->self = _tmp0_;
	pamac_transaction_run_async_co (_data_);
}

gboolean
pamac_transaction_run_finish (PamacTransaction* self,
                              GAsyncResult* _res_)
{
	gboolean result;
	PamacTransactionRunAsyncData* _data_;
	_data_ = g_task_propagate_pointer (G_TASK (_res_), NULL);
	result = _data_->result;
	return result;
}

static void
pamac_transaction_run_async_ready (GObject* source_object,
                                   GAsyncResult* _res_,
                                   gpointer _user_data_)
{
	PamacTransactionRunAsyncData* _data_;
	_data_ = _user_data_;
	_data_->_source_object_ = source_object;
	_data_->_res_ = _res_;
	pamac_transaction_run_async_co (_data_);
}

static gboolean
pamac_transaction_run_async_co (PamacTransactionRunAsyncData* _data_)
{
	switch (_data_->_state_) {
		case 0:
		goto _state_0;
		case 1:
		goto _state_1;
		case 2:
		goto _state_2;
		case 3:
		goto _state_3;
		case 4:
		goto _state_4;
		case 5:
		goto _state_5;
		case 6:
		goto _state_6;
		case 7:
		goto _state_7;
		case 8:
		goto _state_8;
		default:
		g_assert_not_reached ();
	}
	_state_0:
	_data_->_tmp0_ = _data_->self->priv->transaction_interface;
	if (_data_->_tmp0_ == NULL) {
		_data_->_tmp1_ = g_ptr_array_new_full ((guint) 1, _g_free0_);
		_data_->details = _data_->_tmp1_;
		_data_->_tmp2_ = _data_->details;
		_data_->_tmp3_ = g_strdup ("failed to connect to dbus daemon");
		g_ptr_array_add (_data_->_tmp2_, _data_->_tmp3_);
		_data_->_tmp4_ = _data_->details;
		g_signal_emit (_data_->self, pamac_transaction_signals[PAMAC_TRANSACTION_EMIT_ERROR_SIGNAL], 0, "Daemon Error", _data_->_tmp4_);
		_data_->result = FALSE;
		_g_ptr_array_unref0 (_data_->details);
		g_task_return_pointer (_data_->_async_result, _data_, NULL);
		if (_data_->_state_ != 0) {
			while (!g_task_get_completed (_data_->_async_result)) {
				g_main_context_iteration (g_task_get_context (_data_->_async_result), TRUE);
			}
		}
		g_object_unref (_data_->_async_result);
		return FALSE;
	}
	_data_->success = TRUE;
	if (_data_->self->priv->sysupgrading) {
		_data_->_tmp9_ = TRUE;
	} else {
		_data_->_tmp10_ = _data_->self->priv->to_install;
		_data_->_tmp11_ = g_hash_table_size (_data_->_tmp10_);
		_data_->_tmp12_ = _data_->_tmp11_;
		_data_->_tmp9_ = _data_->_tmp12_ > ((guint) 0);
	}
	if (_data_->_tmp9_) {
		_data_->_tmp8_ = TRUE;
	} else {
		_data_->_tmp13_ = _data_->self->priv->to_remove;
		_data_->_tmp14_ = g_hash_table_size (_data_->_tmp13_);
		_data_->_tmp15_ = _data_->_tmp14_;
		_data_->_tmp8_ = _data_->_tmp15_ > ((guint) 0);
	}
	if (_data_->_tmp8_) {
		_data_->_tmp7_ = TRUE;
	} else {
		_data_->_tmp16_ = _data_->self->priv->to_load_local;
		_data_->_tmp17_ = g_hash_table_size (_data_->_tmp16_);
		_data_->_tmp18_ = _data_->_tmp17_;
		_data_->_tmp7_ = _data_->_tmp18_ > ((guint) 0);
	}
	if (_data_->_tmp7_) {
		_data_->_tmp6_ = TRUE;
	} else {
		_data_->_tmp19_ = _data_->self->priv->to_load_remote;
		_data_->_tmp20_ = g_hash_table_size (_data_->_tmp19_);
		_data_->_tmp21_ = _data_->_tmp20_;
		_data_->_tmp6_ = _data_->_tmp21_ > ((guint) 0);
	}
	if (_data_->_tmp6_) {
		_data_->_tmp5_ = TRUE;
	} else {
		_data_->_tmp22_ = _data_->self->priv->to_build;
		_data_->_tmp23_ = g_hash_table_size (_data_->_tmp22_);
		_data_->_tmp24_ = _data_->_tmp23_;
		_data_->_tmp5_ = _data_->_tmp24_ > ((guint) 0);
	}
	if (_data_->_tmp5_) {
		_data_->_state_ = 1;
		pamac_transaction_run_alpm_transaction (_data_->self, pamac_transaction_run_async_ready, _data_);
		return FALSE;
		_state_1:
		_data_->success = pamac_transaction_run_alpm_transaction_finish (_data_->self, _data_->_res_);
		_data_->_tmp26_ = _data_->self->priv->_dry_run;
		if (!_data_->_tmp26_) {
			_data_->_tmp25_ = _data_->success;
		} else {
			_data_->_tmp25_ = FALSE;
		}
		if (_data_->_tmp25_) {
			_data_->_tmp27_ = _data_->self->priv->to_build_queue;
			if (g_queue_get_length (_data_->_tmp27_) != ((guint) 0)) {
				_data_->_state_ = 2;
				pamac_transaction_build_aur_packages (_data_->self, pamac_transaction_run_async_ready, _data_);
				return FALSE;
				_state_2:
				_data_->success = pamac_transaction_build_aur_packages_finish (_data_->self, _data_->_res_);
				_data_->_tmp28_ = _data_->self->priv->build_cancellable;
				g_cancellable_reset (_data_->_tmp28_);
			}
			if (_data_->success) {
				_data_->_tmp30_ = _data_->self->priv->snap_to_install;
				_data_->_tmp31_ = g_hash_table_size (_data_->_tmp30_);
				_data_->_tmp32_ = _data_->_tmp31_;
				if (_data_->_tmp32_ > ((guint) 0)) {
					_data_->_tmp29_ = TRUE;
				} else {
					_data_->_tmp33_ = _data_->self->priv->snap_to_remove;
					_data_->_tmp34_ = g_hash_table_size (_data_->_tmp33_);
					_data_->_tmp35_ = _data_->_tmp34_;
					_data_->_tmp29_ = _data_->_tmp35_ > ((guint) 0);
				}
				if (_data_->_tmp29_) {
					_data_->_state_ = 3;
					pamac_transaction_run_snap_transaction (_data_->self, pamac_transaction_run_async_ready, _data_);
					return FALSE;
					_state_3:
					_data_->success = pamac_transaction_run_snap_transaction_finish (_data_->self, _data_->_res_);
				}
			}
			if (_data_->success) {
				_data_->_tmp38_ = _data_->self->priv->flatpak_to_install;
				_data_->_tmp39_ = g_hash_table_size (_data_->_tmp38_);
				_data_->_tmp40_ = _data_->_tmp39_;
				if (_data_->_tmp40_ > ((guint) 0)) {
					_data_->_tmp37_ = TRUE;
				} else {
					_data_->_tmp41_ = _data_->self->priv->flatpak_to_remove;
					_data_->_tmp42_ = g_hash_table_size (_data_->_tmp41_);
					_data_->_tmp43_ = _data_->_tmp42_;
					_data_->_tmp37_ = _data_->_tmp43_ > ((guint) 0);
				}
				if (_data_->_tmp37_) {
					_data_->_tmp36_ = TRUE;
				} else {
					_data_->_tmp44_ = _data_->self->priv->flatpak_to_upgrade;
					_data_->_tmp45_ = g_hash_table_size (_data_->_tmp44_);
					_data_->_tmp46_ = _data_->_tmp45_;
					_data_->_tmp36_ = _data_->_tmp46_ > ((guint) 0);
				}
				if (_data_->_tmp36_) {
					_data_->_state_ = 4;
					pamac_transaction_run_flatpak_transaction (_data_->self, pamac_transaction_run_async_ready, _data_);
					return FALSE;
					_state_4:
					_data_->success = pamac_transaction_run_flatpak_transaction_finish (_data_->self, _data_->_res_);
				}
			}
		}
		pamac_transaction_remove_authorization (_data_->self);
		_data_->_tmp47_ = _data_->self->priv->_dry_run;
		if (!_data_->_tmp47_) {
			_data_->_tmp48_ = _data_->self->priv->_database;
			pamac_database_refresh (_data_->_tmp48_);
		}
		if (_data_->success) {
			_data_->_tmp49_ = g_strconcat (g_dgettext (NULL, "Transaction successfully finished"), ".", NULL);
			_data_->_tmp50_ = _data_->_tmp49_;
			g_signal_emit (_data_->self, pamac_transaction_signals[PAMAC_TRANSACTION_EMIT_ACTION_SIGNAL], 0, _data_->_tmp50_);
			_g_free0 (_data_->_tmp50_);
		} else {
			_data_->_tmp51_ = _data_->self->priv->to_build_queue;
			g_queue_clear (_data_->_tmp51_);
			_data_->_tmp52_ = _data_->self->priv->snap_to_install;
			g_hash_table_remove_all (_data_->_tmp52_);
			_data_->_tmp53_ = _data_->self->priv->snap_to_remove;
			g_hash_table_remove_all (_data_->_tmp53_);
			_data_->_tmp54_ = _data_->self->priv->flatpak_to_install;
			g_hash_table_remove_all (_data_->_tmp54_);
			_data_->_tmp55_ = _data_->self->priv->flatpak_to_remove;
			g_hash_table_remove_all (_data_->_tmp55_);
			_data_->_tmp56_ = _data_->self->priv->flatpak_to_upgrade;
			g_hash_table_remove_all (_data_->_tmp56_);
		}
		_data_->self->priv->sysupgrading = FALSE;
		_data_->self->priv->force_refresh = FALSE;
		_data_->_tmp57_ = _data_->self->priv->to_install;
		g_hash_table_remove_all (_data_->_tmp57_);
		_data_->_tmp58_ = _data_->self->priv->to_remove;
		g_hash_table_remove_all (_data_->_tmp58_);
		_data_->_tmp59_ = _data_->self->priv->to_load_local;
		g_hash_table_remove_all (_data_->_tmp59_);
		_data_->_tmp60_ = _data_->self->priv->to_load_remote;
		g_hash_table_remove_all (_data_->_tmp60_);
		_data_->_tmp61_ = _data_->self->priv->to_build;
		g_hash_table_remove_all (_data_->_tmp61_);
		_data_->_tmp62_ = _data_->self->priv->clone_files;
		g_hash_table_remove_all (_data_->_tmp62_);
		_data_->_tmp63_ = _data_->self->priv->clone_deps_files;
		g_hash_table_remove_all (_data_->_tmp63_);
		_data_->_tmp64_ = _data_->self->priv->ignorepkgs;
		g_hash_table_remove_all (_data_->_tmp64_);
		_data_->_tmp65_ = _data_->self->priv->overwrite_files;
		g_hash_table_remove_all (_data_->_tmp65_);
		_data_->_tmp66_ = _data_->self->priv->to_install_as_dep;
		g_hash_table_remove_all (_data_->_tmp66_);
	} else {
		_data_->_tmp67_ = _data_->self->priv->snap_to_install;
		_data_->_tmp68_ = g_hash_table_size (_data_->_tmp67_);
		_data_->_tmp69_ = _data_->_tmp68_;
		if (_data_->_tmp69_ > ((guint) 0)) {
			_data_->_tmp70_ = g_strconcat (g_dgettext (NULL, "Preparing"), "...", NULL);
			_data_->_tmp71_ = _data_->_tmp70_;
			g_signal_emit (_data_->self, pamac_transaction_signals[PAMAC_TRANSACTION_EMIT_ACTION_SIGNAL], 0, _data_->_tmp71_);
			_g_free0 (_data_->_tmp71_);
			g_signal_emit (_data_->self, pamac_transaction_signals[PAMAC_TRANSACTION_START_PREPARING_SIGNAL], 0);
			_data_->_tmp72_ = _data_->self->priv->snap_to_install;
			g_hash_table_iter_init (&_data_->iter, _data_->_tmp72_);
			_data_->_tmp73_ = g_ptr_array_new_full ((guint) 0, NULL);
			_data_->not_install = _data_->_tmp73_;
			while (TRUE) {
				_data_->_tmp74_ = NULL;
				_data_->_tmp75_ = NULL;
				_data_->_tmp76_ = g_hash_table_iter_next (&_data_->iter, (gpointer*) (&_data_->_tmp74_), (gpointer*) (&_data_->_tmp75_));
				_data_->snap_name = (const gchar*) _data_->_tmp74_;
				_g_object_unref0 (_data_->pkg);
				_data_->_tmp77_ = _g_object_ref0 ((PamacSnapPackage*) _data_->_tmp75_);
				_data_->pkg = _data_->_tmp77_;
				if (!_data_->_tmp76_) {
					break;
				}
				_data_->_tmp78_ = _data_->pkg;
				_data_->_tmp79_ = pamac_snap_package_get_confined (_data_->_tmp78_);
				_data_->_tmp80_ = _data_->_tmp79_;
				if (g_strcmp0 (_data_->_tmp80_, g_dgettext (NULL, "Yes")) != 0) {
					_data_->_tmp81_ = _data_->pkg;
					_data_->_tmp82_ = pamac_package_get_app_name ((PamacPackage*) _data_->_tmp81_);
					_data_->_tmp83_ = _data_->_tmp82_;
					_data_->_state_ = 5;
					pamac_transaction_ask_snap_install_classic (_data_->self, _data_->_tmp83_, pamac_transaction_run_async_ready, _data_);
					return FALSE;
					_state_5:
					_data_->answer = pamac_transaction_ask_snap_install_classic_finish (_data_->self, _data_->_res_);
					if (!_data_->answer) {
						_data_->_tmp84_ = _data_->not_install;
						_data_->_tmp85_ = _data_->snap_name;
						g_ptr_array_add (_data_->_tmp84_, _data_->_tmp85_);
					}
				}
			}
			_data_->_tmp86_ = _data_->not_install;
			{
				_data_->name_collection = _data_->_tmp86_;
				for (_data_->name_index = 0; _data_->name_index < _data_->name_collection->len; _data_->name_index = _data_->name_index + 1) {
					_data_->name = (const gchar*) g_ptr_array_index (_data_->name_collection, _data_->name_index);
					{
						_data_->_tmp87_ = _data_->self->priv->snap_to_install;
						_data_->_tmp88_ = _data_->name;
						g_hash_table_remove (_data_->_tmp87_, _data_->_tmp88_);
					}
				}
			}
			g_signal_emit (_data_->self, pamac_transaction_signals[PAMAC_TRANSACTION_STOP_PREPARING_SIGNAL], 0);
			_g_object_unref0 (_data_->pkg);
			_g_ptr_array_unref0 (_data_->not_install);
		}
		_data_->_tmp89_ = pamac_transaction_summary_new ();
		_data_->summary = _data_->_tmp89_;
		_data_->_tmp91_ = _data_->self->priv->snap_to_install;
		_data_->_tmp92_ = g_hash_table_size (_data_->_tmp91_);
		_data_->_tmp93_ = _data_->_tmp92_;
		if (_data_->_tmp93_ > ((guint) 0)) {
			_data_->_tmp90_ = TRUE;
		} else {
			_data_->_tmp94_ = _data_->self->priv->snap_to_remove;
			_data_->_tmp95_ = g_hash_table_size (_data_->_tmp94_);
			_data_->_tmp96_ = _data_->_tmp95_;
			_data_->_tmp90_ = _data_->_tmp96_ > ((guint) 0);
		}
		if (_data_->_tmp90_) {
			g_signal_emit (_data_->self, pamac_transaction_signals[PAMAC_TRANSACTION_START_PREPARING_SIGNAL], 0);
			_data_->_tmp97_ = _data_->self->priv->snap_to_install;
			g_hash_table_iter_init (&_data_->_vala1_iter, _data_->_tmp97_);
			while (TRUE) {
				_data_->_tmp98_ = NULL;
				_data_->_tmp99_ = g_hash_table_iter_next (&_data_->_vala1_iter, (gpointer*) NULL, (gpointer*) (&_data_->_tmp98_));
				_g_object_unref0 (_data_->_vala1_pkg);
				_data_->_tmp100_ = _g_object_ref0 ((PamacSnapPackage*) _data_->_tmp98_);
				_data_->_vala1_pkg = _data_->_tmp100_;
				if (!_data_->_tmp99_) {
					break;
				}
				_data_->_tmp101_ = _data_->summary;
				_data_->_tmp102_ = pamac_transaction_summary_get_to_install (_data_->_tmp101_);
				_data_->_tmp103_ = _data_->_tmp102_;
				_data_->_tmp104_ = _data_->_vala1_pkg;
				_data_->_tmp105_ = _g_object_ref0 ((PamacPackage*) _data_->_tmp104_);
				g_ptr_array_add (_data_->_tmp103_, _data_->_tmp105_);
			}
			_data_->_tmp106_ = _data_->self->priv->snap_to_remove;
			g_hash_table_iter_init (&_data_->_vala1_iter, _data_->_tmp106_);
			while (TRUE) {
				_data_->_tmp107_ = NULL;
				_data_->_tmp108_ = g_hash_table_iter_next (&_data_->_vala1_iter, (gpointer*) NULL, (gpointer*) (&_data_->_tmp107_));
				_g_object_unref0 (_data_->_vala1_pkg);
				_data_->_tmp109_ = _g_object_ref0 ((PamacSnapPackage*) _data_->_tmp107_);
				_data_->_vala1_pkg = _data_->_tmp109_;
				if (!_data_->_tmp108_) {
					break;
				}
				_data_->_tmp110_ = _data_->summary;
				_data_->_tmp111_ = pamac_transaction_summary_get_to_remove (_data_->_tmp110_);
				_data_->_tmp112_ = _data_->_tmp111_;
				_data_->_tmp113_ = _data_->_vala1_pkg;
				_data_->_tmp114_ = _g_object_ref0 ((PamacPackage*) _data_->_tmp113_);
				g_ptr_array_add (_data_->_tmp112_, _data_->_tmp114_);
			}
			g_signal_emit (_data_->self, pamac_transaction_signals[PAMAC_TRANSACTION_STOP_PREPARING_SIGNAL], 0);
			_g_object_unref0 (_data_->_vala1_pkg);
		}
		_data_->_tmp117_ = _data_->self->priv->flatpak_to_install;
		_data_->_tmp118_ = g_hash_table_size (_data_->_tmp117_);
		_data_->_tmp119_ = _data_->_tmp118_;
		if (_data_->_tmp119_ > ((guint) 0)) {
			_data_->_tmp116_ = TRUE;
		} else {
			_data_->_tmp120_ = _data_->self->priv->flatpak_to_remove;
			_data_->_tmp121_ = g_hash_table_size (_data_->_tmp120_);
			_data_->_tmp122_ = _data_->_tmp121_;
			_data_->_tmp116_ = _data_->_tmp122_ > ((guint) 0);
		}
		if (_data_->_tmp116_) {
			_data_->_tmp115_ = TRUE;
		} else {
			_data_->_tmp123_ = _data_->self->priv->flatpak_to_upgrade;
			_data_->_tmp124_ = g_hash_table_size (_data_->_tmp123_);
			_data_->_tmp125_ = _data_->_tmp124_;
			_data_->_tmp115_ = _data_->_tmp125_ > ((guint) 0);
		}
		if (_data_->_tmp115_) {
			g_signal_emit (_data_->self, pamac_transaction_signals[PAMAC_TRANSACTION_START_PREPARING_SIGNAL], 0);
			_data_->_tmp126_ = _data_->self->priv->flatpak_to_install;
			g_hash_table_iter_init (&_data_->_vala2_iter, _data_->_tmp126_);
			while (TRUE) {
				_data_->_tmp127_ = NULL;
				_data_->_tmp128_ = g_hash_table_iter_next (&_data_->_vala2_iter, (gpointer*) NULL, (gpointer*) (&_data_->_tmp127_));
				_g_object_unref0 (_data_->_vala2_pkg);
				_data_->_tmp129_ = _g_object_ref0 ((PamacFlatpakPackage*) _data_->_tmp127_);
				_data_->_vala2_pkg = _data_->_tmp129_;
				if (!_data_->_tmp128_) {
					break;
				}
				_data_->_tmp130_ = _data_->summary;
				_data_->_tmp131_ = pamac_transaction_summary_get_to_install (_data_->_tmp130_);
				_data_->_tmp132_ = _data_->_tmp131_;
				_data_->_tmp133_ = _data_->_vala2_pkg;
				_data_->_tmp134_ = _g_object_ref0 ((PamacPackage*) _data_->_tmp133_);
				g_ptr_array_add (_data_->_tmp132_, _data_->_tmp134_);
			}
			_data_->_tmp135_ = _data_->self->priv->flatpak_to_remove;
			g_hash_table_iter_init (&_data_->_vala2_iter, _data_->_tmp135_);
			while (TRUE) {
				_data_->_tmp136_ = NULL;
				_data_->_tmp137_ = g_hash_table_iter_next (&_data_->_vala2_iter, (gpointer*) NULL, (gpointer*) (&_data_->_tmp136_));
				_g_object_unref0 (_data_->_vala2_pkg);
				_data_->_tmp138_ = _g_object_ref0 ((PamacFlatpakPackage*) _data_->_tmp136_);
				_data_->_vala2_pkg = _data_->_tmp138_;
				if (!_data_->_tmp137_) {
					break;
				}
				_data_->_tmp139_ = _data_->summary;
				_data_->_tmp140_ = pamac_transaction_summary_get_to_remove (_data_->_tmp139_);
				_data_->_tmp141_ = _data_->_tmp140_;
				_data_->_tmp142_ = _data_->_vala2_pkg;
				_data_->_tmp143_ = _g_object_ref0 ((PamacPackage*) _data_->_tmp142_);
				g_ptr_array_add (_data_->_tmp141_, _data_->_tmp143_);
			}
			_data_->_tmp144_ = _data_->self->priv->flatpak_to_upgrade;
			g_hash_table_iter_init (&_data_->_vala2_iter, _data_->_tmp144_);
			while (TRUE) {
				_data_->_tmp145_ = NULL;
				_data_->_tmp146_ = g_hash_table_iter_next (&_data_->_vala2_iter, (gpointer*) NULL, (gpointer*) (&_data_->_tmp145_));
				_g_object_unref0 (_data_->_vala2_pkg);
				_data_->_tmp147_ = _g_object_ref0 ((PamacFlatpakPackage*) _data_->_tmp145_);
				_data_->_vala2_pkg = _data_->_tmp147_;
				if (!_data_->_tmp146_) {
					break;
				}
				_data_->_tmp148_ = _data_->summary;
				_data_->_tmp149_ = pamac_transaction_summary_get_to_upgrade (_data_->_tmp148_);
				_data_->_tmp150_ = _data_->_tmp149_;
				_data_->_tmp151_ = _data_->_vala2_pkg;
				_data_->_tmp152_ = _g_object_ref0 ((PamacPackage*) _data_->_tmp151_);
				g_ptr_array_add (_data_->_tmp150_, _data_->_tmp152_);
			}
			g_signal_emit (_data_->self, pamac_transaction_signals[PAMAC_TRANSACTION_STOP_PREPARING_SIGNAL], 0);
			_g_object_unref0 (_data_->_vala2_pkg);
		}
		_data_->_tmp155_ = _data_->summary;
		_data_->_tmp156_ = pamac_transaction_summary_get_to_install (_data_->_tmp155_);
		_data_->_tmp157_ = _data_->_tmp156_;
		_data_->_tmp158_ = vala_g_ptr_array_get_length (_data_->_tmp157_);
		_data_->_tmp159_ = _data_->_tmp158_;
		if (_data_->_tmp159_ == 0) {
			_data_->_tmp160_ = _data_->summary;
			_data_->_tmp161_ = pamac_transaction_summary_get_to_remove (_data_->_tmp160_);
			_data_->_tmp162_ = _data_->_tmp161_;
			_data_->_tmp163_ = vala_g_ptr_array_get_length (_data_->_tmp162_);
			_data_->_tmp164_ = _data_->_tmp163_;
			_data_->_tmp154_ = _data_->_tmp164_ == 0;
		} else {
			_data_->_tmp154_ = FALSE;
		}
		if (_data_->_tmp154_) {
			_data_->_tmp165_ = _data_->summary;
			_data_->_tmp166_ = pamac_transaction_summary_get_to_upgrade (_data_->_tmp165_);
			_data_->_tmp167_ = _data_->_tmp166_;
			_data_->_tmp168_ = vala_g_ptr_array_get_length (_data_->_tmp167_);
			_data_->_tmp169_ = _data_->_tmp168_;
			_data_->_tmp153_ = _data_->_tmp169_ == 0;
		} else {
			_data_->_tmp153_ = FALSE;
		}
		if (_data_->_tmp153_) {
			_data_->_tmp170_ = g_strconcat (g_dgettext (NULL, "Nothing to do"), ".", NULL);
			_data_->_tmp171_ = _data_->_tmp170_;
			g_signal_emit (_data_->self, pamac_transaction_signals[PAMAC_TRANSACTION_EMIT_ACTION_SIGNAL], 0, _data_->_tmp171_);
			_g_free0 (_data_->_tmp171_);
			_data_->result = FALSE;
			_g_object_unref0 (_data_->summary);
			g_task_return_pointer (_data_->_async_result, _data_, NULL);
			if (_data_->_state_ != 0) {
				while (!g_task_get_completed (_data_->_async_result)) {
					g_main_context_iteration (g_task_get_context (_data_->_async_result), TRUE);
				}
			}
			g_object_unref (_data_->_async_result);
			return FALSE;
		} else {
			_data_->_tmp172_ = _data_->summary;
			_data_->_state_ = 6;
			pamac_transaction_ask_commit (_data_->self, _data_->_tmp172_, pamac_transaction_run_async_ready, _data_);
			return FALSE;
			_state_6:
			_data_->success = pamac_transaction_ask_commit_finish (_data_->self, _data_->_res_);
			if (!_data_->success) {
				g_signal_emit (_data_->self, pamac_transaction_signals[PAMAC_TRANSACTION_STOP_PREPARING_SIGNAL], 0);
				_data_->_tmp173_ = g_strconcat (g_dgettext (NULL, "Transaction cancelled"), ".", NULL);
				_data_->_tmp174_ = _data_->_tmp173_;
				g_signal_emit (_data_->self, pamac_transaction_signals[PAMAC_TRANSACTION_EMIT_ACTION_SIGNAL], 0, _data_->_tmp174_);
				_g_free0 (_data_->_tmp174_);
			}
			_data_->_tmp175_ = _data_->self->priv->_dry_run;
			if (_data_->_tmp175_) {
				_data_->result = TRUE;
				_g_object_unref0 (_data_->summary);
				g_task_return_pointer (_data_->_async_result, _data_, NULL);
				if (_data_->_state_ != 0) {
					while (!g_task_get_completed (_data_->_async_result)) {
						g_main_context_iteration (g_task_get_context (_data_->_async_result), TRUE);
					}
				}
				g_object_unref (_data_->_async_result);
				return FALSE;
			}
			if (_data_->success) {
				_data_->_tmp177_ = _data_->self->priv->snap_to_install;
				_data_->_tmp178_ = g_hash_table_size (_data_->_tmp177_);
				_data_->_tmp179_ = _data_->_tmp178_;
				if (_data_->_tmp179_ > ((guint) 0)) {
					_data_->_tmp176_ = TRUE;
				} else {
					_data_->_tmp180_ = _data_->self->priv->snap_to_remove;
					_data_->_tmp181_ = g_hash_table_size (_data_->_tmp180_);
					_data_->_tmp182_ = _data_->_tmp181_;
					_data_->_tmp176_ = _data_->_tmp182_ > ((guint) 0);
				}
				if (_data_->_tmp176_) {
					_data_->_state_ = 7;
					pamac_transaction_run_snap_transaction (_data_->self, pamac_transaction_run_async_ready, _data_);
					return FALSE;
					_state_7:
					_data_->success = pamac_transaction_run_snap_transaction_finish (_data_->self, _data_->_res_);
				}
			}
			if (_data_->success) {
				_data_->_tmp185_ = _data_->self->priv->flatpak_to_install;
				_data_->_tmp186_ = g_hash_table_size (_data_->_tmp185_);
				_data_->_tmp187_ = _data_->_tmp186_;
				if (_data_->_tmp187_ > ((guint) 0)) {
					_data_->_tmp184_ = TRUE;
				} else {
					_data_->_tmp188_ = _data_->self->priv->flatpak_to_remove;
					_data_->_tmp189_ = g_hash_table_size (_data_->_tmp188_);
					_data_->_tmp190_ = _data_->_tmp189_;
					_data_->_tmp184_ = _data_->_tmp190_ > ((guint) 0);
				}
				if (_data_->_tmp184_) {
					_data_->_tmp183_ = TRUE;
				} else {
					_data_->_tmp191_ = _data_->self->priv->flatpak_to_upgrade;
					_data_->_tmp192_ = g_hash_table_size (_data_->_tmp191_);
					_data_->_tmp193_ = _data_->_tmp192_;
					_data_->_tmp183_ = _data_->_tmp193_ > ((guint) 0);
				}
				if (_data_->_tmp183_) {
					_data_->_state_ = 8;
					pamac_transaction_run_flatpak_transaction (_data_->self, pamac_transaction_run_async_ready, _data_);
					return FALSE;
					_state_8:
					_data_->success = pamac_transaction_run_flatpak_transaction_finish (_data_->self, _data_->_res_);
				}
			}
			if (_data_->success) {
				_data_->_tmp194_ = g_strconcat (g_dgettext (NULL, "Transaction successfully finished"), ".", NULL);
				_data_->_tmp195_ = _data_->_tmp194_;
				g_signal_emit (_data_->self, pamac_transaction_signals[PAMAC_TRANSACTION_EMIT_ACTION_SIGNAL], 0, _data_->_tmp195_);
				_g_free0 (_data_->_tmp195_);
			}
			_data_->_tmp196_ = _data_->self->priv->_database;
			pamac_database_refresh (_data_->_tmp196_);
			if (!_data_->success) {
				_data_->_tmp197_ = _data_->self->priv->snap_to_install;
				g_hash_table_remove_all (_data_->_tmp197_);
				_data_->_tmp198_ = _data_->self->priv->snap_to_remove;
				g_hash_table_remove_all (_data_->_tmp198_);
				_data_->_tmp199_ = _data_->self->priv->flatpak_to_install;
				g_hash_table_remove_all (_data_->_tmp199_);
				_data_->_tmp200_ = _data_->self->priv->flatpak_to_remove;
				g_hash_table_remove_all (_data_->_tmp200_);
				_data_->_tmp201_ = _data_->self->priv->flatpak_to_upgrade;
				g_hash_table_remove_all (_data_->_tmp201_);
			}
		}
		_g_object_unref0 (_data_->summary);
	}
	_data_->result = _data_->success;
	g_task_return_pointer (_data_->_async_result, _data_, NULL);
	if (_data_->_state_ != 0) {
		while (!g_task_get_completed (_data_->_async_result)) {
			g_main_context_iteration (g_task_get_context (_data_->_async_result), TRUE);
		}
	}
	g_object_unref (_data_->_async_result);
	return FALSE;
}

static void
pamac_transaction_add_config_ignore_pkgs (PamacTransaction* self)
{
	g_return_if_fail (self != NULL);
	{
		GHashTableIter _name_it = {0};
		PamacConfig* _tmp0_;
		GHashTable* _tmp1_;
		GHashTable* _tmp2_;
		GHashTableIter _tmp3_ = {0};
		const gchar* name = NULL;
		_tmp0_ = self->priv->config;
		_tmp1_ = pamac_config_get_ignorepkgs (_tmp0_);
		_tmp2_ = _tmp1_;
		g_hash_table_iter_init (&_tmp3_, _tmp2_);
		_name_it = _tmp3_;
		while (TRUE) {
			gconstpointer _tmp4_;
			const gchar* _tmp5_;
			GHashTable* _tmp6_;
			const gchar* _tmp7_;
			gchar* _tmp8_;
			_tmp4_ = _vala_hash_set_next_value (&_name_it);
			name = (const gchar*) _tmp4_;
			_tmp5_ = name;
			if (!(_tmp5_ != NULL)) {
				break;
			}
			_tmp6_ = self->priv->ignorepkgs;
			_tmp7_ = name;
			_tmp8_ = g_strdup (_tmp7_);
			g_hash_table_add (_tmp6_, _tmp8_);
		}
	}
}

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

static void
pamac_transaction_add_optdeps (PamacTransaction* self,
                               GAsyncReadyCallback _callback_,
                               gpointer _user_data_)
{
	PamacTransactionAddOptdepsData* _data_;
	PamacTransaction* _tmp0_;
	g_return_if_fail (self != NULL);
	_data_ = g_slice_new0 (PamacTransactionAddOptdepsData);
	_data_->_async_result = g_task_new (G_OBJECT (self), NULL, _callback_, _user_data_);
	g_task_set_task_data (_data_->_async_result, _data_, pamac_transaction_add_optdeps_data_free);
	_tmp0_ = _g_object_ref0 (self);
	_data_->self = _tmp0_;
	pamac_transaction_add_optdeps_co (_data_);
}

static void
pamac_transaction_add_optdeps_finish (PamacTransaction* self,
                                      GAsyncResult* _res_)
{
	PamacTransactionAddOptdepsData* _data_;
	_data_ = g_task_propagate_pointer (G_TASK (_res_), NULL);
}

static void
pamac_transaction_add_optdeps_ready (GObject* source_object,
                                     GAsyncResult* _res_,
                                     gpointer _user_data_)
{
	PamacTransactionAddOptdepsData* _data_;
	_data_ = _user_data_;
	_data_->_source_object_ = source_object;
	_data_->_res_ = _res_;
	pamac_transaction_add_optdeps_co (_data_);
}

static gboolean
pamac_transaction_add_optdeps_co (PamacTransactionAddOptdepsData* _data_)
{
	switch (_data_->_state_) {
		case 0:
		goto _state_0;
		case 1:
		goto _state_1;
		case 2:
		goto _state_2;
		default:
		g_assert_not_reached ();
	}
	_state_0:
	_data_->_tmp0_ = g_str_hash;
	_data_->_tmp1_ = g_str_equal;
	_data_->_tmp2_ = g_hash_table_new_full (_data_->_tmp0_, _data_->_tmp1_, NULL, _g_free0_);
	_data_->to_add_to_install = _data_->_tmp2_;
	{
		_data_->_tmp3_ = _data_->self->priv->to_install;
		memset (&_data_->_tmp4_, 0, sizeof (GHashTableIter));
		g_hash_table_iter_init (&_data_->_tmp4_, _data_->_tmp3_);
		_data_->_name_it = _data_->_tmp4_;
		while (TRUE) {
			_data_->_tmp5_ = _vala_hash_set_next_value (&_data_->_name_it);
			_data_->name = (const gchar*) _data_->_tmp5_;
			_data_->_tmp6_ = _data_->name;
			if (!(_data_->_tmp6_ != NULL)) {
				break;
			}
			_data_->_tmp7_ = _data_->self->priv->_database;
			_data_->_tmp8_ = _data_->name;
			if (!pamac_database_is_installed_pkg (_data_->_tmp7_, _data_->_tmp8_)) {
				_data_->_tmp9_ = _data_->self->priv->_database;
				_data_->_tmp10_ = _data_->name;
				_data_->_state_ = 1;
				pamac_database_get_uninstalled_optdeps_async (_data_->_tmp9_, _data_->_tmp10_, pamac_transaction_add_optdeps_ready, _data_);
				return FALSE;
				_state_1:
				_data_->_tmp11_ = pamac_database_get_uninstalled_optdeps_finish (_data_->_tmp9_, _data_->_res_);
				_data_->uninstalled_optdeps = _data_->_tmp11_;
				_data_->_tmp12_ = g_ptr_array_new_full ((guint) 0, _g_free0_);
				_data_->real_uninstalled_optdeps = _data_->_tmp12_;
				_data_->_tmp13_ = _data_->uninstalled_optdeps;
				{
					_data_->optdep_collection = _data_->_tmp13_;
					for (_data_->optdep_index = 0; _data_->optdep_index < _data_->optdep_collection->len; _data_->optdep_index = _data_->optdep_index + 1) {
						_data_->optdep = (const gchar*) g_ptr_array_index (_data_->optdep_collection, _data_->optdep_index);
						{
							_data_->_tmp14_ = _data_->optdep;
							_data_->_tmp16_ = _data_->_tmp15_ = g_strsplit (_data_->_tmp14_, ": ", 2);
							_data_->splitted = _data_->_tmp16_;
							_data_->splitted_length1 = _vala_array_length (_data_->_tmp15_);
							_data_->_splitted_size_ = _data_->splitted_length1;
							_data_->_tmp17_ = _data_->splitted;
							_data_->_tmp17__length1 = _data_->splitted_length1;
							_data_->_tmp18_ = _data_->_tmp17_[0];
							_data_->optdep_name = _data_->_tmp18_;
							_data_->_tmp20_ = _data_->self->priv->to_install;
							_data_->_tmp21_ = _data_->optdep_name;
							if (!g_hash_table_contains (_data_->_tmp20_, _data_->_tmp21_)) {
								_data_->_tmp22_ = _data_->to_add_to_install;
								_data_->_tmp23_ = _data_->optdep_name;
								_data_->_tmp19_ = !g_hash_table_contains (_data_->_tmp22_, _data_->_tmp23_);
							} else {
								_data_->_tmp19_ = FALSE;
							}
							if (_data_->_tmp19_) {
								_data_->_tmp24_ = _data_->real_uninstalled_optdeps;
								_data_->_tmp25_ = _data_->optdep;
								_data_->_tmp26_ = g_strdup (_data_->_tmp25_);
								g_ptr_array_add (_data_->_tmp24_, _data_->_tmp26_);
							}
							_data_->splitted = (_vala_array_free (_data_->splitted, _data_->splitted_length1, (GDestroyNotify) g_free), NULL);
						}
					}
				}
				_data_->_tmp27_ = _data_->real_uninstalled_optdeps;
				_data_->_tmp28_ = vala_g_ptr_array_get_length (_data_->_tmp27_);
				_data_->_tmp29_ = _data_->_tmp28_;
				if (_data_->_tmp29_ > 0) {
					_data_->_tmp30_ = _data_->name;
					_data_->_tmp31_ = _data_->real_uninstalled_optdeps;
					_data_->_state_ = 2;
					pamac_transaction_choose_optdeps (_data_->self, _data_->_tmp30_, _data_->_tmp31_, pamac_transaction_add_optdeps_ready, _data_);
					return FALSE;
					_state_2:
					_data_->_tmp32_ = pamac_transaction_choose_optdeps_finish (_data_->self, _data_->_res_);
					_data_->optdeps = _data_->_tmp32_;
					_data_->_tmp33_ = _data_->optdeps;
					{
						_data_->_vala1_optdep_collection = _data_->_tmp33_;
						for (_data_->_vala1_optdep_index = 0; _data_->_vala1_optdep_index < _data_->_vala1_optdep_collection->len; _data_->_vala1_optdep_index = _data_->_vala1_optdep_index + 1) {
							_data_->_vala1_optdep = (const gchar*) g_ptr_array_index (_data_->_vala1_optdep_collection, _data_->_vala1_optdep_index);
							{
								_data_->_tmp34_ = _data_->_vala1_optdep;
								_data_->_tmp36_ = _data_->_tmp35_ = g_strsplit (_data_->_tmp34_, ": ", 2);
								_data_->_tmp37_ = _data_->_tmp36_;
								_data_->_tmp37__length1 = _vala_array_length (_data_->_tmp35_);
								_data_->_tmp38_ = _data_->_tmp37_[0];
								_data_->_tmp39_ = g_strdup (_data_->_tmp38_);
								_data_->_tmp40_ = _data_->_tmp39_;
								_data_->_tmp37_ = (_vala_array_free (_data_->_tmp37_, _data_->_tmp37__length1, (GDestroyNotify) g_free), NULL);
								_data_->_vala1_optdep_name = _data_->_tmp40_;
								_data_->_tmp41_ = _data_->to_add_to_install;
								_data_->_tmp42_ = _data_->_vala1_optdep_name;
								_data_->_vala1_optdep_name = NULL;
								g_hash_table_add (_data_->_tmp41_, _data_->_tmp42_);
								_g_free0 (_data_->_vala1_optdep_name);
							}
						}
					}
					_g_ptr_array_unref0 (_data_->optdeps);
				}
				_g_ptr_array_unref0 (_data_->real_uninstalled_optdeps);
				_g_ptr_array_unref0 (_data_->uninstalled_optdeps);
			}
		}
	}
	{
		_data_->_tmp43_ = _data_->to_add_to_install;
		memset (&_data_->_tmp44_, 0, sizeof (GHashTableIter));
		g_hash_table_iter_init (&_data_->_tmp44_, _data_->_tmp43_);
		_data_->_vala1__name_it = _data_->_tmp44_;
		while (TRUE) {
			_data_->_tmp45_ = _vala_hash_set_next_value (&_data_->_vala1__name_it);
			_data_->_vala1_name = (const gchar*) _data_->_tmp45_;
			_data_->_tmp46_ = _data_->_vala1_name;
			if (!(_data_->_tmp46_ != NULL)) {
				break;
			}
			_data_->_tmp47_ = _data_->_vala1_name;
			pamac_transaction_add_pkg_to_install (_data_->self, _data_->_tmp47_);
			_data_->_tmp48_ = _data_->_vala1_name;
			pamac_transaction_add_pkg_to_mark_as_dep (_data_->self, _data_->_tmp48_);
		}
	}
	_g_hash_table_unref0 (_data_->to_add_to_install);
	g_task_return_pointer (_data_->_async_result, _data_, NULL);
	if (_data_->_state_ != 0) {
		while (!g_task_get_completed (_data_->_async_result)) {
			g_main_context_iteration (g_task_get_context (_data_->_async_result), TRUE);
		}
	}
	g_object_unref (_data_->_async_result);
	return FALSE;
}

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

static void
pamac_transaction_run_alpm_transaction (PamacTransaction* self,
                                        GAsyncReadyCallback _callback_,
                                        gpointer _user_data_)
{
	PamacTransactionRunAlpmTransactionData* _data_;
	PamacTransaction* _tmp0_;
	g_return_if_fail (self != NULL);
	_data_ = g_slice_new0 (PamacTransactionRunAlpmTransactionData);
	_data_->_async_result = g_task_new (G_OBJECT (self), NULL, _callback_, _user_data_);
	g_task_set_task_data (_data_->_async_result, _data_, pamac_transaction_run_alpm_transaction_data_free);
	_tmp0_ = _g_object_ref0 (self);
	_data_->self = _tmp0_;
	pamac_transaction_run_alpm_transaction_co (_data_);
}

static gboolean
pamac_transaction_run_alpm_transaction_finish (PamacTransaction* self,
                                               GAsyncResult* _res_)
{
	gboolean result;
	PamacTransactionRunAlpmTransactionData* _data_;
	_data_ = g_task_propagate_pointer (G_TASK (_res_), NULL);
	result = _data_->result;
	return result;
}

static void
pamac_transaction_run_alpm_transaction_ready (GObject* source_object,
                                              GAsyncResult* _res_,
                                              gpointer _user_data_)
{
	PamacTransactionRunAlpmTransactionData* _data_;
	_data_ = _user_data_;
	_data_->_source_object_ = source_object;
	_data_->_res_ = _res_;
	pamac_transaction_run_alpm_transaction_co (_data_);
}

static gboolean
pamac_transaction_run_alpm_transaction_co (PamacTransactionRunAlpmTransactionData* _data_)
{
	switch (_data_->_state_) {
		case 0:
		goto _state_0;
		case 1:
		goto _state_1;
		case 2:
		goto _state_2;
		case 3:
		goto _state_3;
		case 4:
		goto _state_4;
		case 5:
		goto _state_5;
		case 6:
		goto _state_6;
		case 7:
		goto _state_7;
		case 8:
		goto _state_8;
		case 9:
		goto _state_9;
		default:
		g_assert_not_reached ();
	}
	_state_0:
	_data_->_tmp0_ = g_strconcat (g_dgettext (NULL, "Preparing"), "...", NULL);
	_data_->_tmp1_ = _data_->_tmp0_;
	g_signal_emit (_data_->self, pamac_transaction_signals[PAMAC_TRANSACTION_EMIT_ACTION_SIGNAL], 0, _data_->_tmp1_);
	_g_free0 (_data_->_tmp1_);
	_data_->auto_sysupgrading = FALSE;
	_data_->_tmp5_ = _data_->self->priv->_dry_run;
	if (!_data_->_tmp5_) {
		_data_->_tmp4_ = !_data_->self->priv->sysupgrading;
	} else {
		_data_->_tmp4_ = FALSE;
	}
	if (_data_->_tmp4_) {
		_data_->_tmp6_ = _data_->self->priv->config;
		_data_->_tmp7_ = pamac_config_get_simple_install (_data_->_tmp6_);
		_data_->_tmp8_ = _data_->_tmp7_;
		_data_->_tmp3_ = !_data_->_tmp8_;
	} else {
		_data_->_tmp3_ = FALSE;
	}
	if (_data_->_tmp3_) {
		_data_->_tmp9_ = _data_->self->priv->to_install;
		_data_->_tmp10_ = g_hash_table_size (_data_->_tmp9_);
		_data_->_tmp11_ = _data_->_tmp10_;
		_data_->_tmp2_ = _data_->_tmp11_ > ((guint) 0);
	} else {
		_data_->_tmp2_ = FALSE;
	}
	if (_data_->_tmp2_) {
		{
			_data_->_tmp12_ = _data_->self->priv->to_install;
			memset (&_data_->_tmp13_, 0, sizeof (GHashTableIter));
			g_hash_table_iter_init (&_data_->_tmp13_, _data_->_tmp12_);
			_data_->_name_it = _data_->_tmp13_;
			while (TRUE) {
				_data_->_tmp14_ = _vala_hash_set_next_value (&_data_->_name_it);
				_data_->name = (const gchar*) _data_->_tmp14_;
				_data_->_tmp15_ = _data_->name;
				if (!(_data_->_tmp15_ != NULL)) {
					break;
				}
				_data_->_tmp16_ = _data_->self->priv->_database;
				_data_->_tmp17_ = _data_->name;
				if (pamac_database_is_installed_pkg (_data_->_tmp16_, _data_->_tmp17_)) {
					_data_->_tmp18_ = _data_->self->priv->_database;
					_data_->_tmp19_ = _data_->name;
					if (pamac_database_is_sync_pkg (_data_->_tmp18_, _data_->_tmp19_)) {
						_data_->_tmp20_ = _data_->self->priv->_database;
						_data_->_tmp21_ = _data_->name;
						_data_->_tmp22_ = pamac_database_get_installed_pkg (_data_->_tmp20_, _data_->_tmp21_);
						_data_->pkg = _data_->_tmp22_;
						_data_->_tmp23_ = _data_->pkg;
						_data_->_tmp24_ = pamac_package_get_installed_version ((PamacPackage*) _data_->_tmp23_);
						_data_->_tmp25_ = _data_->_tmp24_;
						_data_->_tmp26_ = _data_->pkg;
						_data_->_tmp27_ = pamac_package_get_version ((PamacPackage*) _data_->_tmp26_);
						_data_->_tmp28_ = _data_->_tmp27_;
						if (g_strcmp0 (_data_->_tmp25_, _data_->_tmp28_) != 0) {
							_data_->auto_sysupgrading = TRUE;
							break;
						}
					}
				} else {
					_data_->auto_sysupgrading = TRUE;
					break;
				}
			}
		}
	}
	_data_->success = FALSE;
	_data_->_tmp31_ = _data_->self->priv->_dry_run;
	if (!_data_->_tmp31_) {
		_data_->_tmp32_ = _data_->self->priv->_no_refresh;
		_data_->_tmp30_ = !_data_->_tmp32_;
	} else {
		_data_->_tmp30_ = FALSE;
	}
	if (_data_->_tmp30_) {
		if (_data_->self->priv->sysupgrading) {
			_data_->_tmp33_ = TRUE;
		} else {
			_data_->_tmp33_ = _data_->auto_sysupgrading;
		}
		_data_->_tmp29_ = _data_->_tmp33_;
	} else {
		_data_->_tmp29_ = FALSE;
	}
	if (_data_->_tmp29_) {
		_data_->_state_ = 1;
		pamac_transaction_get_authorization_async (_data_->self, pamac_transaction_run_alpm_transaction_ready, _data_);
		return FALSE;
		_state_1:
		_data_->success = pamac_transaction_get_authorization_finish (_data_->self, _data_->_res_);
		if (!_data_->success) {
			_data_->result = FALSE;
			g_task_return_pointer (_data_->_async_result, _data_, NULL);
			if (_data_->_state_ != 0) {
				while (!g_task_get_completed (_data_->_async_result)) {
					g_main_context_iteration (g_task_get_context (_data_->_async_result), TRUE);
				}
			}
			g_object_unref (_data_->_async_result);
			return FALSE;
		}
		_data_->_tmp34_ = _data_->self->priv->config;
		_data_->_tmp35_ = pamac_config_get_enable_aur (_data_->_tmp34_);
		_data_->_tmp36_ = _data_->_tmp35_;
		_data_->enable_aur_copy = _data_->_tmp36_;
		if (_data_->auto_sysupgrading) {
			_data_->_tmp37_ = _data_->self->priv->config;
			pamac_config_set_enable_aur (_data_->_tmp37_, FALSE);
		}
		_data_->_state_ = 2;
		pamac_transaction_refresh_dbs_async (_data_->self, pamac_transaction_run_alpm_transaction_ready, _data_);
		return FALSE;
		_state_2:
		_data_->success = pamac_transaction_refresh_dbs_finish (_data_->self, _data_->_res_);
		_data_->_tmp38_ = _data_->self->priv->config;
		pamac_config_set_enable_aur (_data_->_tmp38_, _data_->enable_aur_copy);
		if (!_data_->success) {
			_data_->result = FALSE;
			g_task_return_pointer (_data_->_async_result, _data_, NULL);
			if (_data_->_state_ != 0) {
				while (!g_task_get_completed (_data_->_async_result)) {
					g_main_context_iteration (g_task_get_context (_data_->_async_result), TRUE);
				}
			}
			g_object_unref (_data_->_async_result);
			return FALSE;
		}
	}
	_data_->_tmp39_ = _data_->self->priv->to_install;
	_data_->_tmp40_ = g_hash_table_size (_data_->_tmp39_);
	_data_->_tmp41_ = _data_->_tmp40_;
	if (_data_->_tmp41_ > ((guint) 0)) {
		_data_->_state_ = 3;
		pamac_transaction_add_optdeps (_data_->self, pamac_transaction_run_alpm_transaction_ready, _data_);
		return FALSE;
		_state_3:
		pamac_transaction_add_optdeps_finish (_data_->self, _data_->_res_);
	}
	if (_data_->self->priv->sysupgrading) {
		_data_->_tmp42_ = _data_->self->priv->config;
		_data_->_tmp43_ = pamac_config_get_check_aur_updates (_data_->_tmp42_);
		_data_->_tmp44_ = _data_->_tmp43_;
		if (_data_->_tmp44_) {
			_data_->_tmp45_ = _data_->self->priv->_database;
			_data_->_tmp46_ = _data_->self->priv->ignorepkgs;
			_data_->_state_ = 4;
			pamac_database_get_aur_updates_async (_data_->_tmp45_, _data_->_tmp46_, pamac_transaction_run_alpm_transaction_ready, _data_);
			return FALSE;
			_state_4:
			_data_->_tmp47_ = pamac_database_get_aur_updates_finish (_data_->_tmp45_, _data_->_res_);
			_data_->updates = _data_->_tmp47_;
			_data_->_tmp48_ = _data_->updates;
			_data_->_tmp49_ = pamac_updates_get_aur_updates (_data_->_tmp48_);
			_data_->_tmp50_ = _data_->_tmp49_;
			{
				_data_->aur_pkg_collection = _data_->_tmp50_;
				for (_data_->aur_pkg_index = 0; _data_->aur_pkg_index < _data_->aur_pkg_collection->len; _data_->aur_pkg_index = _data_->aur_pkg_index + 1) {
					_data_->aur_pkg = (PamacAURPackage*) g_ptr_array_index (_data_->aur_pkg_collection, _data_->aur_pkg_index);
					{
						_data_->_tmp51_ = _data_->aur_pkg;
						_data_->_tmp52_ = pamac_package_get_name ((PamacPackage*) _data_->_tmp51_);
						_data_->_tmp53_ = _data_->_tmp52_;
						pamac_transaction_add_pkg_to_build (_data_->self, _data_->_tmp53_, TRUE, TRUE);
					}
				}
			}
			_data_->_tmp54_ = _data_->updates;
			_data_->_tmp55_ = pamac_updates_get_ignored_aur_updates (_data_->_tmp54_);
			_data_->_tmp56_ = _data_->_tmp55_;
			{
				_data_->_vala1_aur_pkg_collection = _data_->_tmp56_;
				for (_data_->_vala1_aur_pkg_index = 0; _data_->_vala1_aur_pkg_index < _data_->_vala1_aur_pkg_collection->len; _data_->_vala1_aur_pkg_index = _data_->_vala1_aur_pkg_index + 1) {
					_data_->_vala1_aur_pkg = (PamacAURPackage*) g_ptr_array_index (_data_->_vala1_aur_pkg_collection, _data_->_vala1_aur_pkg_index);
					{
						_data_->_tmp57_ = _data_->_vala1_aur_pkg;
						_data_->_tmp58_ = pamac_package_get_name ((PamacPackage*) _data_->_tmp57_);
						_data_->_tmp59_ = _data_->_tmp58_;
						_data_->_tmp60_ = _data_->_vala1_aur_pkg;
						_data_->_tmp61_ = pamac_package_get_installed_version ((PamacPackage*) _data_->_tmp60_);
						_data_->_tmp62_ = _data_->_tmp61_;
						_data_->_tmp63_ = _data_->_vala1_aur_pkg;
						_data_->_tmp64_ = pamac_package_get_version ((PamacPackage*) _data_->_tmp63_);
						_data_->_tmp65_ = _data_->_tmp64_;
						_data_->_tmp66_ = g_strdup_printf (g_dgettext (NULL, "%1$s: ignoring package upgrade (%2$s => %3$s)"), _data_->_tmp59_, _data_->_tmp62_, _data_->_tmp65_);
						_data_->_tmp67_ = _data_->_tmp66_;
						_data_->_tmp68_ = g_strdup_printf ("%s: %s", g_dgettext (NULL, "Warning"), _data_->_tmp67_);
						_data_->_tmp69_ = _data_->_tmp68_;
						g_signal_emit (_data_->self, pamac_transaction_signals[PAMAC_TRANSACTION_EMIT_SCRIPT_OUTPUT_SIGNAL], 0, _data_->_tmp69_);
						_g_free0 (_data_->_tmp69_);
						_g_free0 (_data_->_tmp67_);
					}
				}
			}
			_g_object_unref0 (_data_->updates);
		}
		_data_->_tmp70_ = _data_->self->priv->to_build;
		_data_->_tmp71_ = g_hash_table_size (_data_->_tmp70_);
		_data_->_tmp72_ = _data_->_tmp71_;
		if (_data_->_tmp72_ > ((guint) 0)) {
			_data_->_tmp73_ = _data_->self->priv->to_build;
			_data_->self->priv->to_build = NULL;
			_data_->to_build_copy = _data_->_tmp73_;
			_data_->_tmp74_ = g_str_hash;
			_data_->_tmp75_ = g_str_equal;
			_data_->_tmp76_ = g_hash_table_new_full (_data_->_tmp74_, _data_->_tmp75_, NULL, _g_free0_);
			_g_hash_table_unref0 (_data_->self->priv->to_build);
			_data_->self->priv->to_build = _data_->_tmp76_;
			_data_->_tmp77_ = NULL;
			_data_->_state_ = 5;
			pamac_transaction_trans_prepare (_data_->self, pamac_transaction_run_alpm_transaction_ready, _data_);
			return FALSE;
			_state_5:
			_data_->_tmp78_ = pamac_transaction_trans_prepare_finish (_data_->self, _data_->_res_, &_data_->_tmp77_);
			_g_object_unref0 (_data_->summary);
			_data_->summary = _data_->_tmp77_;
			_data_->success = _data_->_tmp78_;
			if (_data_->success) {
				_data_->_tmp79_ = _data_->summary;
				_data_->_state_ = 6;
				pamac_transaction_trans_run (_data_->self, _data_->_tmp79_, pamac_transaction_run_alpm_transaction_ready, _data_);
				return FALSE;
				_state_6:
				_data_->success = pamac_transaction_trans_run_finish (_data_->self, _data_->_res_);
			}
			if (!_data_->success) {
				_data_->result = FALSE;
				_g_object_unref0 (_data_->summary);
				_g_hash_table_unref0 (_data_->to_build_copy);
				g_task_return_pointer (_data_->_async_result, _data_, NULL);
				if (_data_->_state_ != 0) {
					while (!g_task_get_completed (_data_->_async_result)) {
						g_main_context_iteration (g_task_get_context (_data_->_async_result), TRUE);
					}
				}
				g_object_unref (_data_->_async_result);
				return FALSE;
			}
			_data_->_tmp80_ = _data_->to_build_copy;
			_data_->to_build_copy = NULL;
			_g_hash_table_unref0 (_data_->self->priv->to_build);
			_data_->self->priv->to_build = _data_->_tmp80_;
			_g_object_unref0 (_data_->summary);
			_g_hash_table_unref0 (_data_->to_build_copy);
		}
	}
	_data_->_tmp81_ = _data_->self->priv->to_build;
	_data_->_tmp82_ = g_hash_table_size (_data_->_tmp81_);
	_data_->_tmp83_ = _data_->_tmp82_;
	if (_data_->_tmp83_ > ((guint) 0)) {
		_data_->_state_ = 7;
		pamac_transaction_compute_aur_build_list (_data_->self, pamac_transaction_run_alpm_transaction_ready, _data_);
		return FALSE;
		_state_7:
		_data_->success = pamac_transaction_compute_aur_build_list_finish (_data_->self, _data_->_res_);
		if (!_data_->success) {
			_data_->result = FALSE;
			g_task_return_pointer (_data_->_async_result, _data_, NULL);
			if (_data_->_state_ != 0) {
				while (!g_task_get_completed (_data_->_async_result)) {
					g_main_context_iteration (g_task_get_context (_data_->_async_result), TRUE);
				}
			}
			g_object_unref (_data_->_async_result);
			return FALSE;
		}
	}
	_data_->_tmp84_ = NULL;
	_data_->_state_ = 8;
	pamac_transaction_trans_prepare (_data_->self, pamac_transaction_run_alpm_transaction_ready, _data_);
	return FALSE;
	_state_8:
	_data_->_tmp85_ = pamac_transaction_trans_prepare_finish (_data_->self, _data_->_res_, &_data_->_tmp84_);
	_g_object_unref0 (_data_->_vala1_summary);
	_data_->_vala1_summary = _data_->_tmp84_;
	_data_->success = _data_->_tmp85_;
	if (_data_->success) {
		_data_->_tmp86_ = _data_->_vala1_summary;
		_data_->_state_ = 9;
		pamac_transaction_trans_run (_data_->self, _data_->_tmp86_, pamac_transaction_run_alpm_transaction_ready, _data_);
		return FALSE;
		_state_9:
		_data_->success = pamac_transaction_trans_run_finish (_data_->self, _data_->_res_);
	}
	_data_->result = _data_->success;
	_g_object_unref0 (_data_->_vala1_summary);
	g_task_return_pointer (_data_->_async_result, _data_, NULL);
	if (_data_->_state_ != 0) {
		while (!g_task_get_completed (_data_->_async_result)) {
			g_main_context_iteration (g_task_get_context (_data_->_async_result), TRUE);
		}
	}
	g_object_unref (_data_->_async_result);
	return FALSE;
}

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

static void
pamac_transaction_trans_check_prepare (PamacTransaction* self,
                                       GAsyncReadyCallback _callback_,
                                       gpointer _user_data_)
{
	PamacTransactionTransCheckPrepareData* _data_;
	PamacTransaction* _tmp0_;
	g_return_if_fail (self != NULL);
	_data_ = g_slice_new0 (PamacTransactionTransCheckPrepareData);
	_data_->_async_result = g_task_new (G_OBJECT (self), NULL, _callback_, _user_data_);
	g_task_set_task_data (_data_->_async_result, _data_, pamac_transaction_trans_check_prepare_data_free);
	_tmp0_ = _g_object_ref0 (self);
	_data_->self = _tmp0_;
	pamac_transaction_trans_check_prepare_co (_data_);
}

static gboolean
pamac_transaction_trans_check_prepare_finish (PamacTransaction* self,
                                              GAsyncResult* _res_,
                                              PamacTransactionSummary** summary)
{
	gboolean result;
	PamacTransactionTransCheckPrepareData* _data_;
	_data_ = g_task_propagate_pointer (G_TASK (_res_), NULL);
	if (summary) {
		*summary = _data_->summary;
	} else {
		_g_object_unref0 (_data_->summary);
	}
	_data_->summary = NULL;
	result = _data_->result;
	return result;
}

static Block45Data*
block45_data_ref (Block45Data* _data45_)
{
	g_atomic_int_inc (&_data45_->_ref_count_);
	return _data45_;
}

static void
block45_data_unref (void * _userdata_)
{
	Block45Data* _data45_;
	_data45_ = (Block45Data*) _userdata_;
	if (g_atomic_int_dec_and_test (&_data45_->_ref_count_)) {
		PamacTransaction* self;
		self = _data45_->self;
		_g_object_unref0 (_data45_->new_summary);
		_g_object_unref0 (self);
		g_slice_free (Block45Data, _data45_);
	}
}

static void
pamac_transaction_trans_check_prepare_ready (GObject* source_object,
                                             GAsyncResult* _res_,
                                             gpointer _user_data_)
{
	PamacTransactionTransCheckPrepareData* _data_;
	_data_ = _user_data_;
	_data_->_source_object_ = source_object;
	_data_->_res_ = _res_;
	pamac_transaction_trans_check_prepare_co (_data_);
}

static gboolean
_pamac_transaction_trans_check_prepare_co_gsource_func (gpointer self)
{
	gboolean result;
	result = pamac_transaction_trans_check_prepare_co (self);
	return result;
}

static gint
___lambda45_ (Block45Data* _data45_)
{
	PamacTransaction* self;
	PamacAlpmUtils* _tmp0_;
	PamacConfig* _tmp1_;
	gboolean _tmp2_;
	gboolean _tmp3_;
	PamacConfig* _tmp4_;
	gboolean _tmp5_;
	gboolean _tmp6_;
	GHashTable* _tmp7_;
	GHashTable* _tmp8_;
	GHashTable* _tmp9_;
	GHashTable* _tmp10_;
	GHashTable* _tmp11_;
	GHashTable* _tmp12_;
	GHashTable* _tmp13_;
	gboolean _tmp14_;
	GMainContext* _tmp15_;
	gint result;
	self = _data45_->self;
	_tmp0_ = self->priv->alpm_utils;
	_tmp1_ = self->priv->config;
	_tmp2_ = pamac_config_get_enable_downgrade (_tmp1_);
	_tmp3_ = _tmp2_;
	_tmp4_ = self->priv->config;
	_tmp5_ = pamac_config_get_simple_install (_tmp4_);
	_tmp6_ = _tmp5_;
	_tmp7_ = self->priv->to_install;
	_tmp8_ = self->priv->to_remove;
	_tmp9_ = self->priv->to_load_local;
	_tmp10_ = self->priv->to_load_remote;
	_tmp11_ = self->priv->to_build;
	_tmp12_ = self->priv->ignorepkgs;
	_tmp13_ = self->priv->overwrite_files;
	_tmp14_ = pamac_alpm_utils_trans_check_prepare (_tmp0_, self->priv->sysupgrading, _tmp3_, _tmp6_, self->priv->trans_flags, _tmp7_, _tmp8_, _tmp9_, _tmp10_, _tmp11_, _tmp12_, _tmp13_, &_data45_->new_summary);
	_data45_->success = _tmp14_;
	_tmp15_ = self->priv->context;
	g_main_context_invoke_full (_tmp15_, G_PRIORITY_DEFAULT, _pamac_transaction_trans_check_prepare_co_gsource_func, _data45_->_async_data_, NULL);
	result = 0;
	return result;
}

static gpointer
____lambda45__gthread_func (gpointer self)
{
	gpointer result;
	result = (gpointer) ((gintptr) ___lambda45_ (self));
	block45_data_unref (self);
	return result;
}

static gboolean
pamac_transaction_trans_check_prepare_co (PamacTransactionTransCheckPrepareData* _data_)
{
	switch (_data_->_state_) {
		case 0:
		goto _state_0;
		case 1:
		goto _state_1;
		case 2:
		goto _state_2;
		case 3:
		goto _state_3;
		default:
		g_assert_not_reached ();
	}
	_state_0:
	_data_->_data45_ = g_slice_new0 (Block45Data);
	_data_->_data45_->_ref_count_ = 1;
	_data_->_data45_->self = g_object_ref (_data_->self);
	_data_->_data45_->_async_data_ = _data_;
	_data_->_data45_->success = FALSE;
	_data_->_tmp0_ = pamac_transaction_summary_new ();
	_g_object_unref0 (_data_->summary);
	_data_->summary = _data_->_tmp0_;
	_data_->_tmp1_ = _data_->self->priv->to_load_remote;
	_data_->_tmp2_ = g_hash_table_size (_data_->_tmp1_);
	_data_->_tmp3_ = _data_->_tmp2_;
	if (_data_->_tmp3_ > ((guint) 0)) {
		_data_->_state_ = 1;
		pamac_transaction_get_authorization_async (_data_->self, pamac_transaction_trans_check_prepare_ready, _data_);
		return FALSE;
		_state_1:
		_data_->_data45_->success = pamac_transaction_get_authorization_finish (_data_->self, _data_->_res_);
		if (!_data_->_data45_->success) {
			_data_->result = FALSE;
			block45_data_unref (_data_->_data45_);
			_data_->_data45_ = NULL;
			g_task_return_pointer (_data_->_async_result, _data_, NULL);
			if (_data_->_state_ != 0) {
				while (!g_task_get_completed (_data_->_async_result)) {
					g_main_context_iteration (g_task_get_context (_data_->_async_result), TRUE);
				}
			}
			g_object_unref (_data_->_async_result);
			return FALSE;
		}
		{
			_data_->_tmp4_ = _data_->self->priv->to_load_remote;
			_data_->_tmp5_ = g_hash_table_size (_data_->_tmp4_);
			_data_->_tmp6_ = _data_->_tmp5_;
			_data_->_tmp7_ = g_ptr_array_new_full (_data_->_tmp6_, _g_free0_);
			_data_->to_load_remote_array = _data_->_tmp7_;
			{
				_data_->_tmp8_ = _data_->self->priv->to_load_remote;
				memset (&_data_->_tmp9_, 0, sizeof (GHashTableIter));
				g_hash_table_iter_init (&_data_->_tmp9_, _data_->_tmp8_);
				_data_->_url_it = _data_->_tmp9_;
				while (TRUE) {
					_data_->_tmp10_ = _vala_hash_set_next_value (&_data_->_url_it);
					_data_->url = (const gchar*) _data_->_tmp10_;
					_data_->_tmp11_ = _data_->url;
					if (!(_data_->_tmp11_ != NULL)) {
						break;
					}
					_data_->_tmp12_ = _data_->to_load_remote_array;
					_data_->_tmp13_ = _data_->url;
					_data_->_tmp14_ = g_strdup (_data_->_tmp13_);
					g_ptr_array_add (_data_->_tmp12_, _data_->_tmp14_);
				}
			}
			_data_->_tmp15_ = _data_->self->priv->transaction_interface;
			_data_->_tmp16_ = _data_->to_load_remote_array;
			_data_->_tmp17_ = 0;
			_data_->_state_ = 2;
			pamac_transaction_interface_download_pkgs (_data_->_tmp15_, _data_->_tmp16_, pamac_transaction_trans_check_prepare_ready, _data_);
			return FALSE;
			_state_2:
			_data_->_tmp18_ = pamac_transaction_interface_download_pkgs_finish (_data_->_tmp15_, _data_->_res_, &_data_->_tmp17_, &_data_->_inner_error0_);
			_data_->dload_paths = _data_->_tmp18_;
			_data_->dload_paths_length1 = _data_->_tmp17_;
			_data_->_dload_paths_size_ = _data_->dload_paths_length1;
			if (G_UNLIKELY (_data_->_inner_error0_ != NULL)) {
				_g_ptr_array_unref0 (_data_->to_load_remote_array);
				goto __catch0_g_error;
			}
			_data_->_tmp19_ = _data_->dload_paths;
			_data_->_tmp19__length1 = _data_->dload_paths_length1;
			if (_data_->_tmp19__length1 == 0) {
				_data_->_data45_->success = FALSE;
			} else {
				_data_->_tmp20_ = _data_->self->priv->to_load_remote;
				g_hash_table_remove_all (_data_->_tmp20_);
				_data_->_tmp21_ = _data_->dload_paths;
				_data_->_tmp21__length1 = _data_->dload_paths_length1;
				{
					_data_->path_collection_length1 = 0;
					_data_->_path_collection_size_ = 0;
					_data_->path_collection = _data_->_tmp21_;
					_data_->path_collection_length1 = _data_->_tmp21__length1;
					for (_data_->path_it = 0; _data_->path_it < _data_->path_collection_length1; _data_->path_it = _data_->path_it + 1) {
						_data_->path = _data_->path_collection[_data_->path_it];
						{
							_data_->_tmp22_ = _data_->self->priv->to_load_remote;
							_data_->_tmp23_ = _data_->path;
							_data_->_tmp24_ = g_strdup (_data_->_tmp23_);
							g_hash_table_add (_data_->_tmp22_, _data_->_tmp24_);
						}
					}
				}
			}
			_data_->dload_paths = (_vala_array_free (_data_->dload_paths, _data_->dload_paths_length1, (GDestroyNotify) g_free), NULL);
			_g_ptr_array_unref0 (_data_->to_load_remote_array);
		}
		goto __finally0;
		__catch0_g_error:
		{
			_data_->e = _data_->_inner_error0_;
			_data_->_inner_error0_ = NULL;
			_data_->_tmp25_ = g_ptr_array_new_full ((guint) 1, _g_free0_);
			_data_->details = _data_->_tmp25_;
			_data_->_tmp26_ = _data_->details;
			_data_->_tmp27_ = _data_->e;
			_data_->_tmp28_ = _data_->_tmp27_->message;
			_data_->_tmp29_ = g_strdup_printf ("download_pkgs: %s", _data_->_tmp28_);
			g_ptr_array_add (_data_->_tmp26_, _data_->_tmp29_);
			_data_->_tmp30_ = _data_->details;
			g_signal_emit (_data_->self, pamac_transaction_signals[PAMAC_TRANSACTION_EMIT_ERROR_SIGNAL], 0, "Daemon Error", _data_->_tmp30_);
			_data_->_data45_->success = FALSE;
			_g_ptr_array_unref0 (_data_->details);
			_g_error_free0 (_data_->e);
		}
		__finally0:
		if (G_UNLIKELY (_data_->_inner_error0_ != NULL)) {
			block45_data_unref (_data_->_data45_);
			_data_->_data45_ = NULL;
			_g_object_unref0 (_data_->summary);
			g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _data_->_inner_error0_->message, g_quark_to_string (_data_->_inner_error0_->domain), _data_->_inner_error0_->code);
			g_clear_error (&_data_->_inner_error0_);
			g_object_unref (_data_->_async_result);
			return FALSE;
		}
		if (!_data_->_data45_->success) {
			_data_->result = FALSE;
			block45_data_unref (_data_->_data45_);
			_data_->_data45_ = NULL;
			g_task_return_pointer (_data_->_async_result, _data_, NULL);
			if (_data_->_state_ != 0) {
				while (!g_task_get_completed (_data_->_async_result)) {
					g_main_context_iteration (g_task_get_context (_data_->_async_result), TRUE);
				}
			}
			g_object_unref (_data_->_async_result);
			return FALSE;
		}
	}
	_data_->_tmp31_ = pamac_transaction_summary_new ();
	_data_->_data45_->new_summary = _data_->_tmp31_;
	{
		_data_->_tmp32_ = g_thread_try_new ("trans_check_prepare", ____lambda45__gthread_func, block45_data_ref (_data_->_data45_), &_data_->_inner_error0_);
		_data_->_tmp33_ = _data_->_tmp32_;
		_g_thread_unref0 (_data_->_tmp33_);
		if (G_UNLIKELY (_data_->_inner_error0_ != NULL)) {
			goto __catch1_g_error;
		}
		_data_->_state_ = 3;
		return FALSE;
		_state_3:
		;
	}
	goto __finally1;
	__catch1_g_error:
	{
		_data_->_vala1_e = _data_->_inner_error0_;
		_data_->_inner_error0_ = NULL;
		_data_->_tmp34_ = _data_->_vala1_e;
		_data_->_tmp35_ = _data_->_tmp34_->message;
		g_warning ("transaction.vala:1401: %s", _data_->_tmp35_);
		_g_error_free0 (_data_->_vala1_e);
	}
	__finally1:
	if (G_UNLIKELY (_data_->_inner_error0_ != NULL)) {
		block45_data_unref (_data_->_data45_);
		_data_->_data45_ = NULL;
		_g_object_unref0 (_data_->summary);
		g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _data_->_inner_error0_->message, g_quark_to_string (_data_->_inner_error0_->domain), _data_->_inner_error0_->code);
		g_clear_error (&_data_->_inner_error0_);
		g_object_unref (_data_->_async_result);
		return FALSE;
	}
	_data_->_tmp36_ = _data_->_data45_->new_summary;
	_data_->_tmp37_ = _g_object_ref0 (_data_->_tmp36_);
	_g_object_unref0 (_data_->summary);
	_data_->summary = _data_->_tmp37_;
	_data_->result = _data_->_data45_->success;
	block45_data_unref (_data_->_data45_);
	_data_->_data45_ = NULL;
	g_task_return_pointer (_data_->_async_result, _data_, NULL);
	if (_data_->_state_ != 0) {
		while (!g_task_get_completed (_data_->_async_result)) {
			g_main_context_iteration (g_task_get_context (_data_->_async_result), TRUE);
		}
	}
	g_object_unref (_data_->_async_result);
	return FALSE;
}

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

void
pamac_transaction_check_dbs (PamacTransaction* self,
                             GAsyncReadyCallback _callback_,
                             gpointer _user_data_)
{
	PamacTransactionCheckDbsData* _data_;
	PamacTransaction* _tmp0_;
	g_return_if_fail (self != NULL);
	_data_ = g_slice_new0 (PamacTransactionCheckDbsData);
	_data_->_async_result = g_task_new (G_OBJECT (self), NULL, _callback_, _user_data_);
	g_task_set_task_data (_data_->_async_result, _data_, pamac_transaction_check_dbs_data_free);
	_tmp0_ = _g_object_ref0 (self);
	_data_->self = _tmp0_;
	pamac_transaction_check_dbs_co (_data_);
}

void
pamac_transaction_check_dbs_finish (PamacTransaction* self,
                                    GAsyncResult* _res_)
{
	PamacTransactionCheckDbsData* _data_;
	_data_ = g_task_propagate_pointer (G_TASK (_res_), NULL);
}

static void
pamac_transaction_check_dbs_ready (GObject* source_object,
                                   GAsyncResult* _res_,
                                   gpointer _user_data_)
{
	PamacTransactionCheckDbsData* _data_;
	_data_ = _user_data_;
	_data_->_source_object_ = source_object;
	_data_->_res_ = _res_;
	pamac_transaction_check_dbs_co (_data_);
}

static gboolean
pamac_transaction_check_dbs_co (PamacTransactionCheckDbsData* _data_)
{
	switch (_data_->_state_) {
		case 0:
		goto _state_0;
		case 1:
		goto _state_1;
		case 2:
		goto _state_2;
		default:
		g_assert_not_reached ();
	}
	_state_0:
	_data_->_tmp0_ = _data_->self->priv->_database;
	_data_->_tmp1_ = pamac_database_get_dbs_missing (_data_->_tmp0_);
	_data_->_tmp2_ = _data_->_tmp1_;
	if (_data_->_tmp2_) {
		_data_->_state_ = 1;
		pamac_transaction_refresh_dbs_async (_data_->self, pamac_transaction_check_dbs_ready, _data_);
		return FALSE;
		_state_1:
		pamac_transaction_refresh_dbs_finish (_data_->self, _data_->_res_);
		_data_->_tmp3_ = _data_->self->priv->_database;
		pamac_database_refresh (_data_->_tmp3_);
	} else {
		_data_->_tmp4_ = _data_->self->priv->config;
		_data_->_tmp5_ = pamac_config_get_enable_aur (_data_->_tmp4_);
		_data_->_tmp6_ = _data_->_tmp5_;
		if (_data_->_tmp6_) {
			_data_->_tmp7_ = _data_->self->priv->config;
			_data_->_tmp8_ = pamac_config_get_db_path (_data_->_tmp7_);
			_data_->_tmp9_ = _data_->_tmp8_;
			_data_->_tmp10_ = g_build_filename (_data_->_tmp9_, "sync", "packages-meta-ext-v1.json.gz", NULL);
			_data_->absolute_path = _data_->_tmp10_;
			_data_->_tmp11_ = _data_->absolute_path;
			_data_->_tmp12_ = g_file_new_for_path (_data_->_tmp11_);
			_data_->zipfile = _data_->_tmp12_;
			_data_->_tmp13_ = _data_->zipfile;
			if (!g_file_query_exists (_data_->_tmp13_, NULL)) {
				_data_->_state_ = 2;
				pamac_transaction_refresh_dbs_async (_data_->self, pamac_transaction_check_dbs_ready, _data_);
				return FALSE;
				_state_2:
				pamac_transaction_refresh_dbs_finish (_data_->self, _data_->_res_);
				_data_->_tmp14_ = _data_->self->priv->_database;
				pamac_database_refresh (_data_->_tmp14_);
			}
			_g_object_unref0 (_data_->zipfile);
			_g_free0 (_data_->absolute_path);
		}
	}
	g_task_return_pointer (_data_->_async_result, _data_, NULL);
	if (_data_->_state_ != 0) {
		while (!g_task_get_completed (_data_->_async_result)) {
			g_main_context_iteration (g_task_get_context (_data_->_async_result), TRUE);
		}
	}
	g_object_unref (_data_->_async_result);
	return FALSE;
}

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

void
pamac_transaction_refresh_dbs_async (PamacTransaction* self,
                                     GAsyncReadyCallback _callback_,
                                     gpointer _user_data_)
{
	PamacTransactionRefreshDbsAsyncData* _data_;
	PamacTransaction* _tmp0_;
	g_return_if_fail (self != NULL);
	_data_ = g_slice_new0 (PamacTransactionRefreshDbsAsyncData);
	_data_->_async_result = g_task_new (G_OBJECT (self), NULL, _callback_, _user_data_);
	g_task_set_task_data (_data_->_async_result, _data_, pamac_transaction_refresh_dbs_async_data_free);
	_tmp0_ = _g_object_ref0 (self);
	_data_->self = _tmp0_;
	pamac_transaction_refresh_dbs_async_co (_data_);
}

gboolean
pamac_transaction_refresh_dbs_finish (PamacTransaction* self,
                                      GAsyncResult* _res_)
{
	gboolean result;
	PamacTransactionRefreshDbsAsyncData* _data_;
	_data_ = g_task_propagate_pointer (G_TASK (_res_), NULL);
	result = _data_->result;
	return result;
}

static void
pamac_transaction_refresh_dbs_async_ready (GObject* source_object,
                                           GAsyncResult* _res_,
                                           gpointer _user_data_)
{
	PamacTransactionRefreshDbsAsyncData* _data_;
	_data_ = _user_data_;
	_data_->_source_object_ = source_object;
	_data_->_res_ = _res_;
	pamac_transaction_refresh_dbs_async_co (_data_);
}

static gboolean
pamac_transaction_refresh_dbs_async_co (PamacTransactionRefreshDbsAsyncData* _data_)
{
	switch (_data_->_state_) {
		case 0:
		goto _state_0;
		case 1:
		goto _state_1;
		case 2:
		goto _state_2;
		default:
		g_assert_not_reached ();
	}
	_state_0:
	_data_->success = FALSE;
	{
		_data_->_tmp1_ = _data_->self->priv->transaction_interface;
		_data_->_state_ = 1;
		pamac_transaction_interface_trans_refresh (_data_->_tmp1_, _data_->self->priv->force_refresh, pamac_transaction_refresh_dbs_async_ready, _data_);
		return FALSE;
		_state_1:
		_data_->_tmp0_ = pamac_transaction_interface_trans_refresh_finish (_data_->_tmp1_, _data_->_res_, &_data_->_inner_error0_);
		if (G_UNLIKELY (_data_->_inner_error0_ != NULL)) {
			goto __catch0_g_error;
		}
		_data_->success = _data_->_tmp0_;
		_data_->_tmp2_ = _data_->self->priv->config;
		_data_->_tmp3_ = pamac_config_get_enable_aur (_data_->_tmp2_);
		_data_->_tmp4_ = _data_->_tmp3_;
		if (_data_->_tmp4_) {
			_data_->_tmp5_ = _data_->self->priv->transaction_interface;
			_data_->_state_ = 2;
			pamac_transaction_interface_trans_refresh_aur (_data_->_tmp5_, _data_->self->priv->force_refresh, pamac_transaction_refresh_dbs_async_ready, _data_);
			return FALSE;
			_state_2:
			_data_->aur_success = pamac_transaction_interface_trans_refresh_aur_finish (_data_->_tmp5_, _data_->_res_, &_data_->_inner_error0_);
			if (G_UNLIKELY (_data_->_inner_error0_ != NULL)) {
				goto __catch0_g_error;
			}
			if (!_data_->aur_success) {
				g_signal_emit (_data_->self, pamac_transaction_signals[PAMAC_TRANSACTION_EMIT_WARNING_SIGNAL], 0, g_dgettext (NULL, "Failed to synchronize AUR database"));
			}
		}
	}
	goto __finally0;
	__catch0_g_error:
	{
		_data_->e = _data_->_inner_error0_;
		_data_->_inner_error0_ = NULL;
		_data_->_tmp6_ = g_ptr_array_new_full ((guint) 1, _g_free0_);
		_data_->details = _data_->_tmp6_;
		_data_->_tmp7_ = _data_->details;
		_data_->_tmp8_ = _data_->e;
		_data_->_tmp9_ = _data_->_tmp8_->message;
		_data_->_tmp10_ = g_strdup_printf ("trans_refresh: %s", _data_->_tmp9_);
		g_ptr_array_add (_data_->_tmp7_, _data_->_tmp10_);
		_data_->_tmp11_ = _data_->details;
		g_signal_emit (_data_->self, pamac_transaction_signals[PAMAC_TRANSACTION_EMIT_ERROR_SIGNAL], 0, "Daemon Error", _data_->_tmp11_);
		_data_->success = FALSE;
		_g_ptr_array_unref0 (_data_->details);
		_g_error_free0 (_data_->e);
	}
	__finally0:
	if (G_UNLIKELY (_data_->_inner_error0_ != NULL)) {
		g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _data_->_inner_error0_->message, g_quark_to_string (_data_->_inner_error0_->domain), _data_->_inner_error0_->code);
		g_clear_error (&_data_->_inner_error0_);
		g_object_unref (_data_->_async_result);
		return FALSE;
	}
	_data_->result = _data_->success;
	g_task_return_pointer (_data_->_async_result, _data_, NULL);
	if (_data_->_state_ != 0) {
		while (!g_task_get_completed (_data_->_async_result)) {
			g_main_context_iteration (g_task_get_context (_data_->_async_result), TRUE);
		}
	}
	g_object_unref (_data_->_async_result);
	return FALSE;
}

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

void
pamac_transaction_refresh_files_dbs_async (PamacTransaction* self,
                                           GAsyncReadyCallback _callback_,
                                           gpointer _user_data_)
{
	PamacTransactionRefreshFilesDbsAsyncData* _data_;
	PamacTransaction* _tmp0_;
	g_return_if_fail (self != NULL);
	_data_ = g_slice_new0 (PamacTransactionRefreshFilesDbsAsyncData);
	_data_->_async_result = g_task_new (G_OBJECT (self), NULL, _callback_, _user_data_);
	g_task_set_task_data (_data_->_async_result, _data_, pamac_transaction_refresh_files_dbs_async_data_free);
	_tmp0_ = _g_object_ref0 (self);
	_data_->self = _tmp0_;
	pamac_transaction_refresh_files_dbs_async_co (_data_);
}

gboolean
pamac_transaction_refresh_files_dbs_finish (PamacTransaction* self,
                                            GAsyncResult* _res_)
{
	gboolean result;
	PamacTransactionRefreshFilesDbsAsyncData* _data_;
	_data_ = g_task_propagate_pointer (G_TASK (_res_), NULL);
	result = _data_->result;
	return result;
}

static void
pamac_transaction_refresh_files_dbs_async_ready (GObject* source_object,
                                                 GAsyncResult* _res_,
                                                 gpointer _user_data_)
{
	PamacTransactionRefreshFilesDbsAsyncData* _data_;
	_data_ = _user_data_;
	_data_->_source_object_ = source_object;
	_data_->_res_ = _res_;
	pamac_transaction_refresh_files_dbs_async_co (_data_);
}

static gboolean
pamac_transaction_refresh_files_dbs_async_co (PamacTransactionRefreshFilesDbsAsyncData* _data_)
{
	switch (_data_->_state_) {
		case 0:
		goto _state_0;
		case 1:
		goto _state_1;
		default:
		g_assert_not_reached ();
	}
	_state_0:
	_data_->success = FALSE;
	{
		_data_->_tmp1_ = _data_->self->priv->transaction_interface;
		_data_->_state_ = 1;
		pamac_transaction_interface_trans_refresh_files (_data_->_tmp1_, _data_->self->priv->force_refresh, pamac_transaction_refresh_files_dbs_async_ready, _data_);
		return FALSE;
		_state_1:
		_data_->_tmp0_ = pamac_transaction_interface_trans_refresh_files_finish (_data_->_tmp1_, _data_->_res_, &_data_->_inner_error0_);
		if (G_UNLIKELY (_data_->_inner_error0_ != NULL)) {
			goto __catch0_g_error;
		}
		_data_->success = _data_->_tmp0_;
	}
	goto __finally0;
	__catch0_g_error:
	{
		_data_->e = _data_->_inner_error0_;
		_data_->_inner_error0_ = NULL;
		_data_->_tmp2_ = g_ptr_array_new_full ((guint) 1, _g_free0_);
		_data_->details = _data_->_tmp2_;
		_data_->_tmp3_ = _data_->details;
		_data_->_tmp4_ = _data_->e;
		_data_->_tmp5_ = _data_->_tmp4_->message;
		_data_->_tmp6_ = g_strdup_printf ("trans_refresh_files: %s", _data_->_tmp5_);
		g_ptr_array_add (_data_->_tmp3_, _data_->_tmp6_);
		_data_->_tmp7_ = _data_->details;
		g_signal_emit (_data_->self, pamac_transaction_signals[PAMAC_TRANSACTION_EMIT_ERROR_SIGNAL], 0, "Daemon Error", _data_->_tmp7_);
		_data_->success = FALSE;
		_g_ptr_array_unref0 (_data_->details);
		_g_error_free0 (_data_->e);
	}
	__finally0:
	if (G_UNLIKELY (_data_->_inner_error0_ != NULL)) {
		g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _data_->_inner_error0_->message, g_quark_to_string (_data_->_inner_error0_->domain), _data_->_inner_error0_->code);
		g_clear_error (&_data_->_inner_error0_);
		g_object_unref (_data_->_async_result);
		return FALSE;
	}
	_data_->result = _data_->success;
	g_task_return_pointer (_data_->_async_result, _data_, NULL);
	if (_data_->_state_ != 0) {
		while (!g_task_get_completed (_data_->_async_result)) {
			g_main_context_iteration (g_task_get_context (_data_->_async_result), TRUE);
		}
	}
	g_object_unref (_data_->_async_result);
	return FALSE;
}

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

static void
pamac_transaction_trans_prepare (PamacTransaction* self,
                                 GAsyncReadyCallback _callback_,
                                 gpointer _user_data_)
{
	PamacTransactionTransPrepareData* _data_;
	PamacTransaction* _tmp0_;
	g_return_if_fail (self != NULL);
	_data_ = g_slice_new0 (PamacTransactionTransPrepareData);
	_data_->_async_result = g_task_new (G_OBJECT (self), NULL, _callback_, _user_data_);
	g_task_set_task_data (_data_->_async_result, _data_, pamac_transaction_trans_prepare_data_free);
	_tmp0_ = _g_object_ref0 (self);
	_data_->self = _tmp0_;
	pamac_transaction_trans_prepare_co (_data_);
}

static gboolean
pamac_transaction_trans_prepare_finish (PamacTransaction* self,
                                        GAsyncResult* _res_,
                                        PamacTransactionSummary** summary)
{
	gboolean result;
	PamacTransactionTransPrepareData* _data_;
	_data_ = g_task_propagate_pointer (G_TASK (_res_), NULL);
	if (summary) {
		*summary = _data_->summary;
	} else {
		_g_object_unref0 (_data_->summary);
	}
	_data_->summary = NULL;
	result = _data_->result;
	return result;
}

static void
pamac_transaction_trans_prepare_ready (GObject* source_object,
                                       GAsyncResult* _res_,
                                       gpointer _user_data_)
{
	PamacTransactionTransPrepareData* _data_;
	_data_ = _user_data_;
	_data_->_source_object_ = source_object;
	_data_->_res_ = _res_;
	pamac_transaction_trans_prepare_co (_data_);
}

static gboolean
pamac_transaction_trans_prepare_co (PamacTransactionTransPrepareData* _data_)
{
	switch (_data_->_state_) {
		case 0:
		goto _state_0;
		case 1:
		goto _state_1;
		case 2:
		goto _state_2;
		case 3:
		goto _state_3;
		case 4:
		goto _state_4;
		case 5:
		goto _state_5;
		case 6:
		goto _state_6;
		default:
		g_assert_not_reached ();
	}
	_state_0:
	g_signal_emit (_data_->self, pamac_transaction_signals[PAMAC_TRANSACTION_START_PREPARING_SIGNAL], 0);
	pamac_transaction_add_config_ignore_pkgs (_data_->self);
	pamac_transaction_set_flags (_data_->self);
	_data_->_tmp0_ = NULL;
	_data_->_state_ = 1;
	pamac_transaction_trans_check_prepare (_data_->self, pamac_transaction_trans_prepare_ready, _data_);
	return FALSE;
	_state_1:
	_data_->_tmp1_ = pamac_transaction_trans_check_prepare_finish (_data_->self, _data_->_res_, &_data_->_tmp0_);
	_g_object_unref0 (_data_->summary);
	_data_->summary = _data_->_tmp0_;
	_data_->success = _data_->_tmp1_;
	g_signal_emit (_data_->self, pamac_transaction_signals[PAMAC_TRANSACTION_STOP_PREPARING_SIGNAL], 0);
	if (!_data_->success) {
		_data_->_tmp2_ = _data_->self->priv->to_build;
		_data_->_tmp3_ = g_hash_table_size (_data_->_tmp2_);
		_data_->_tmp4_ = _data_->_tmp3_;
		if (_data_->_tmp4_ > ((guint) 0)) {
			_data_->_tmp5_ = pamac_transaction_summary_new ();
			_data_->empty_summary = _data_->_tmp5_;
			_data_->_tmp6_ = _data_->empty_summary;
			_data_->_state_ = 2;
			pamac_transaction_ask_edit_build_files_real (_data_->self, _data_->_tmp6_, pamac_transaction_trans_prepare_ready, _data_);
			return FALSE;
			_state_2:
			if (pamac_transaction_ask_edit_build_files_real_finish (_data_->self, _data_->_res_)) {
				{
					_data_->_tmp7_ = _data_->self->priv->to_build;
					memset (&_data_->_tmp8_, 0, sizeof (GHashTableIter));
					g_hash_table_iter_init (&_data_->_tmp8_, _data_->_tmp7_);
					_data_->_name_it = _data_->_tmp8_;
					while (TRUE) {
						_data_->_tmp9_ = _vala_hash_set_next_value (&_data_->_name_it);
						_data_->name = (const gchar*) _data_->_tmp9_;
						_data_->_tmp10_ = _data_->name;
						if (!(_data_->_tmp10_ != NULL)) {
							break;
						}
						_data_->_tmp11_ = _data_->self->priv->alpm_utils;
						_data_->_tmp12_ = _data_->_tmp11_->unresolvables;
						_data_->_tmp13_ = _data_->name;
						_data_->_tmp14_ = g_str_equal;
						_data_->found = g_ptr_array_find_with_equal_func (_data_->_tmp12_, _data_->_tmp13_, _data_->_tmp14_, NULL);
						if (!_data_->found) {
							_data_->_tmp15_ = _data_->self->priv->alpm_utils;
							_data_->_tmp16_ = _data_->_tmp15_->unresolvables;
							_data_->_tmp17_ = _data_->name;
							_data_->_tmp18_ = g_strdup (_data_->_tmp17_);
							g_ptr_array_add (_data_->_tmp16_, _data_->_tmp18_);
						}
					}
				}
				_data_->_tmp19_ = _data_->self->priv->alpm_utils;
				_data_->_tmp20_ = _data_->_tmp19_->unresolvables;
				{
					_data_->pkgname_collection = _data_->_tmp20_;
					for (_data_->pkgname_index = 0; _data_->pkgname_index < _data_->pkgname_collection->len; _data_->pkgname_index = _data_->pkgname_index + 1) {
						_data_->pkgname = (const gchar*) g_ptr_array_index (_data_->pkgname_collection, _data_->pkgname_index);
						{
							_data_->_tmp21_ = _data_->self->priv->_database;
							_data_->_tmp22_ = pamac_database_get_real_aur_build_dir (_data_->_tmp21_);
							_data_->real_aur_build_dir = _data_->_tmp22_;
							_data_->_tmp23_ = _data_->real_aur_build_dir;
							_data_->_tmp24_ = _data_->pkgname;
							_data_->_tmp25_ = g_build_filename (_data_->_tmp23_, _data_->_tmp24_, NULL);
							_data_->pkgdir = _data_->_tmp25_;
							_data_->_tmp26_ = _data_->pkgdir;
							_data_->_tmp27_ = _data_->pkgname;
							_data_->_state_ = 3;
							pamac_transaction_clone_build_files_if_needed (_data_->self, _data_->_tmp26_, _data_->_tmp27_, pamac_transaction_trans_prepare_ready, _data_);
							return FALSE;
							_state_3:
							_data_->success = pamac_transaction_clone_build_files_if_needed_finish (_data_->self, _data_->_res_);
							if (!_data_->success) {
								_data_->_tmp28_ = g_ptr_array_new_full ((guint) 1, _g_free0_);
								_data_->details = _data_->_tmp28_;
								_data_->_tmp29_ = _data_->details;
								_data_->_tmp30_ = _data_->pkgname;
								_data_->_tmp31_ = g_strdup_printf (g_dgettext (NULL, "Failed to clone %s build files"), _data_->_tmp30_);
								g_ptr_array_add (_data_->_tmp29_, _data_->_tmp31_);
								_data_->_tmp32_ = _data_->details;
								g_signal_emit (_data_->self, pamac_transaction_signals[PAMAC_TRANSACTION_EMIT_ERROR_SIGNAL], 0, g_dgettext (NULL, "Failed to prepare transaction"), _data_->_tmp32_);
								_data_->_tmp33_ = _data_->self->priv->alpm_utils;
								_data_->_tmp34_ = g_ptr_array_new_full ((guint) 0, _g_free0_);
								_g_ptr_array_unref0 (_data_->_tmp33_->unresolvables);
								_data_->_tmp33_->unresolvables = _data_->_tmp34_;
								_data_->result = FALSE;
								_g_ptr_array_unref0 (_data_->details);
								_g_free0 (_data_->pkgdir);
								_g_object_unref0 (_data_->empty_summary);
								g_task_return_pointer (_data_->_async_result, _data_, NULL);
								if (_data_->_state_ != 0) {
									while (!g_task_get_completed (_data_->_async_result)) {
										g_main_context_iteration (g_task_get_context (_data_->_async_result), TRUE);
									}
								}
								g_object_unref (_data_->_async_result);
								return FALSE;
							}
							_g_free0 (_data_->pkgdir);
						}
					}
				}
				_data_->_tmp35_ = _data_->self->priv->alpm_utils;
				_data_->_tmp36_ = _data_->_tmp35_->unresolvables;
				_data_->_state_ = 4;
				pamac_transaction_edit_build_files (_data_->self, _data_->_tmp36_, pamac_transaction_trans_prepare_ready, _data_);
				return FALSE;
				_state_4:
				pamac_transaction_edit_build_files_finish (_data_->self, _data_->_res_);
				_data_->_tmp37_ = _data_->self->priv->alpm_utils;
				_data_->_tmp38_ = g_ptr_array_new_full ((guint) 0, _g_free0_);
				_g_ptr_array_unref0 (_data_->_tmp37_->unresolvables);
				_data_->_tmp37_->unresolvables = _data_->_tmp38_;
				g_signal_emit (_data_->self, pamac_transaction_signals[PAMAC_TRANSACTION_EMIT_SCRIPT_OUTPUT_SIGNAL], 0, "");
				_data_->_state_ = 5;
				pamac_transaction_compute_aur_build_list (_data_->self, pamac_transaction_trans_prepare_ready, _data_);
				return FALSE;
				_state_5:
				_data_->success = pamac_transaction_compute_aur_build_list_finish (_data_->self, _data_->_res_);
				if (!_data_->success) {
					_data_->result = FALSE;
					_g_object_unref0 (_data_->empty_summary);
					g_task_return_pointer (_data_->_async_result, _data_, NULL);
					if (_data_->_state_ != 0) {
						while (!g_task_get_completed (_data_->_async_result)) {
							g_main_context_iteration (g_task_get_context (_data_->_async_result), TRUE);
						}
					}
					g_object_unref (_data_->_async_result);
					return FALSE;
				}
				_data_->_tmp39_ = NULL;
				_data_->_state_ = 6;
				pamac_transaction_trans_prepare (_data_->self, pamac_transaction_trans_prepare_ready, _data_);
				return FALSE;
				_state_6:
				_data_->_tmp40_ = pamac_transaction_trans_prepare_finish (_data_->self, _data_->_res_, &_data_->_tmp39_);
				_g_object_unref0 (_data_->summary);
				_data_->summary = _data_->_tmp39_;
				_data_->success = _data_->_tmp40_;
			} else {
				_data_->_tmp41_ = g_strconcat (g_dgettext (NULL, "Transaction cancelled"), ".", NULL);
				_data_->_tmp42_ = _data_->_tmp41_;
				g_signal_emit (_data_->self, pamac_transaction_signals[PAMAC_TRANSACTION_EMIT_ACTION_SIGNAL], 0, _data_->_tmp42_);
				_g_free0 (_data_->_tmp42_);
			}
			_g_object_unref0 (_data_->empty_summary);
		}
	}
	_data_->result = _data_->success;
	g_task_return_pointer (_data_->_async_result, _data_, NULL);
	if (_data_->_state_ != 0) {
		while (!g_task_get_completed (_data_->_async_result)) {
			g_main_context_iteration (g_task_get_context (_data_->_async_result), TRUE);
		}
	}
	g_object_unref (_data_->_async_result);
	return FALSE;
}

static void
pamac_transaction_trans_run_data_free (gpointer _data)
{
	PamacTransactionTransRunData* _data_;
	_data_ = _data;
	_g_object_unref0 (_data_->summary);
	_g_object_unref0 (_data_->self);
	g_slice_free (PamacTransactionTransRunData, _data_);
}

static void
pamac_transaction_trans_run (PamacTransaction* self,
                             PamacTransactionSummary* summary,
                             GAsyncReadyCallback _callback_,
                             gpointer _user_data_)
{
	PamacTransactionTransRunData* _data_;
	PamacTransaction* _tmp0_;
	PamacTransactionSummary* _tmp1_;
	g_return_if_fail (self != NULL);
	g_return_if_fail (summary != NULL);
	_data_ = g_slice_new0 (PamacTransactionTransRunData);
	_data_->_async_result = g_task_new (G_OBJECT (self), NULL, _callback_, _user_data_);
	g_task_set_task_data (_data_->_async_result, _data_, pamac_transaction_trans_run_data_free);
	_tmp0_ = _g_object_ref0 (self);
	_data_->self = _tmp0_;
	_tmp1_ = _g_object_ref0 (summary);
	_g_object_unref0 (_data_->summary);
	_data_->summary = _tmp1_;
	pamac_transaction_trans_run_co (_data_);
}

static gboolean
pamac_transaction_trans_run_finish (PamacTransaction* self,
                                    GAsyncResult* _res_)
{
	gboolean result;
	PamacTransactionTransRunData* _data_;
	_data_ = g_task_propagate_pointer (G_TASK (_res_), NULL);
	result = _data_->result;
	return result;
}

static void
pamac_transaction_trans_run_ready (GObject* source_object,
                                   GAsyncResult* _res_,
                                   gpointer _user_data_)
{
	PamacTransactionTransRunData* _data_;
	_data_ = _user_data_;
	_data_->_source_object_ = source_object;
	_data_->_res_ = _res_;
	pamac_transaction_trans_run_co (_data_);
}

static gboolean
pamac_transaction_trans_run_co (PamacTransactionTransRunData* _data_)
{
	switch (_data_->_state_) {
		case 0:
		goto _state_0;
		case 1:
		goto _state_1;
		case 2:
		goto _state_2;
		case 3:
		goto _state_3;
		case 4:
		goto _state_4;
		case 5:
		goto _state_5;
		case 6:
		goto _state_6;
		case 7:
		goto _state_7;
		case 8:
		goto _state_8;
		case 9:
		goto _state_9;
		case 10:
		goto _state_10;
		case 11:
		goto _state_11;
		case 12:
		goto _state_12;
		case 13:
		goto _state_13;
		case 14:
		goto _state_14;
		case 15:
		goto _state_15;
		case 16:
		goto _state_16;
		case 17:
		goto _state_17;
		default:
		g_assert_not_reached ();
	}
	_state_0:
	_data_->_tmp0_ = pamac_transaction_summary_get_aur_pkgbases_to_build (_data_->summary);
	_data_->_tmp1_ = _data_->_tmp0_;
	_data_->_tmp2_ = vala_g_ptr_array_get_length (_data_->_tmp1_);
	_data_->_tmp3_ = _data_->_tmp2_;
	if (_data_->_tmp3_ != 0) {
		_data_->_tmp4_ = _data_->self->priv->to_build_queue;
		g_queue_clear (_data_->_tmp4_);
		_data_->_tmp5_ = pamac_transaction_summary_get_aur_pkgbases_to_build (_data_->summary);
		_data_->_tmp6_ = _data_->_tmp5_;
		{
			_data_->name_collection = _data_->_tmp6_;
			for (_data_->name_index = 0; _data_->name_index < _data_->name_collection->len; _data_->name_index = _data_->name_index + 1) {
				_data_->name = (const gchar*) g_ptr_array_index (_data_->name_collection, _data_->name_index);
				{
					_data_->_tmp7_ = _data_->self->priv->to_build_queue;
					_data_->_tmp8_ = _data_->name;
					_data_->_tmp9_ = g_strdup (_data_->_tmp8_);
					g_queue_push_tail (_data_->_tmp7_, _data_->_tmp9_);
				}
			}
		}
		_data_->_tmp10_ = _data_->self->priv->aur_pkgs_to_install;
		g_hash_table_remove_all (_data_->_tmp10_);
		_data_->_tmp11_ = pamac_transaction_summary_get_to_build (_data_->summary);
		_data_->_tmp12_ = _data_->_tmp11_;
		{
			_data_->pkg_collection = _data_->_tmp12_;
			for (_data_->pkg_index = 0; _data_->pkg_index < _data_->pkg_collection->len; _data_->pkg_index = _data_->pkg_index + 1) {
				_data_->pkg = (PamacPackage*) g_ptr_array_index (_data_->pkg_collection, _data_->pkg_index);
				{
					_data_->_tmp13_ = _data_->pkg;
					_data_->_tmp14_ = pamac_package_get_name (_data_->_tmp13_);
					_data_->_tmp15_ = _data_->_tmp14_;
					_data_->pkgname = _data_->_tmp15_;
					_data_->_tmp16_ = _data_->self->priv->aur_pkgs_to_install;
					_data_->_tmp17_ = _data_->pkgname;
					_data_->_tmp18_ = g_strdup (_data_->_tmp17_);
					g_hash_table_add (_data_->_tmp16_, _data_->_tmp18_);
					_data_->_tmp19_ = _data_->self->priv->to_build;
					_data_->_tmp20_ = _data_->pkgname;
					if (!g_hash_table_contains (_data_->_tmp19_, _data_->_tmp20_)) {
						_data_->_tmp21_ = _data_->pkg;
						_data_->_tmp22_ = _g_object_ref0 (PAMAC_IS_ALPM_PACKAGE (_data_->_tmp21_) ? ((PamacAlpmPackage*) _data_->_tmp21_) : NULL);
						_data_->alpmpkg = _data_->_tmp22_;
						_data_->_tmp23_ = _data_->alpmpkg;
						if (_data_->_tmp23_ != NULL) {
							_data_->_tmp24_ = _data_->alpmpkg;
							_data_->_tmp25_ = pamac_alpm_package_get_provides (_data_->_tmp24_);
							_data_->_tmp26_ = _data_->_tmp25_;
							{
								_data_->provide_collection = _data_->_tmp26_;
								for (_data_->provide_index = 0; _data_->provide_index < _data_->provide_collection->len; _data_->provide_index = _data_->provide_index + 1) {
									_data_->provide = (const gchar*) g_ptr_array_index (_data_->provide_collection, _data_->provide_index);
									{
										_data_->_tmp27_ = _data_->self->priv->_database;
										_data_->_tmp28_ = _data_->provide;
										_data_->_tmp29_ = pamac_database_get_alpm_dep_name (_data_->_tmp27_, _data_->_tmp28_);
										_data_->provide_name = _data_->_tmp29_;
										_data_->_tmp30_ = _data_->self->priv->to_build;
										_data_->_tmp31_ = _data_->provide_name;
										if (g_hash_table_contains (_data_->_tmp30_, _data_->_tmp31_)) {
											_data_->_tmp32_ = _data_->self->priv->to_build;
											_data_->_tmp33_ = _data_->provide_name;
											g_hash_table_remove (_data_->_tmp32_, _data_->_tmp33_);
											_data_->_tmp34_ = _data_->self->priv->to_build;
											_data_->_tmp35_ = _data_->pkgname;
											_data_->_tmp36_ = g_strdup (_data_->_tmp35_);
											g_hash_table_add (_data_->_tmp34_, _data_->_tmp36_);
											_g_free0 (_data_->provide_name);
											break;
										}
										_g_free0 (_data_->provide_name);
									}
								}
							}
						}
						_g_object_unref0 (_data_->alpmpkg);
					}
				}
			}
		}
		_data_->_state_ = 1;
		pamac_transaction_ask_edit_build_files_real (_data_->self, _data_->summary, pamac_transaction_trans_run_ready, _data_);
		return FALSE;
		_state_1:
		if (pamac_transaction_ask_edit_build_files_real_finish (_data_->self, _data_->_res_)) {
			_data_->_tmp37_ = _data_->self->priv->_database;
			_data_->_tmp38_ = pamac_database_get_real_aur_build_dir (_data_->_tmp37_);
			_data_->real_aur_build_dir = _data_->_tmp38_;
			_data_->_tmp39_ = pamac_transaction_summary_get_aur_pkgbases_to_build (_data_->summary);
			_data_->_tmp40_ = _data_->_tmp39_;
			{
				_data_->pkgname_collection = _data_->_tmp40_;
				for (_data_->pkgname_index = 0; _data_->pkgname_index < _data_->pkgname_collection->len; _data_->pkgname_index = _data_->pkgname_index + 1) {
					_data_->_vala1_pkgname = (const gchar*) g_ptr_array_index (_data_->pkgname_collection, _data_->pkgname_index);
					{
						_data_->_tmp41_ = _data_->real_aur_build_dir;
						_data_->_tmp42_ = _data_->_vala1_pkgname;
						_data_->_tmp43_ = g_build_filename (_data_->_tmp41_, _data_->_tmp42_, NULL);
						_data_->pkgdir = _data_->_tmp43_;
						_data_->_tmp44_ = _data_->pkgdir;
						_data_->_tmp45_ = _data_->_vala1_pkgname;
						_data_->_state_ = 2;
						pamac_transaction_clone_build_files_if_needed (_data_->self, _data_->_tmp44_, _data_->_tmp45_, pamac_transaction_trans_run_ready, _data_);
						return FALSE;
						_state_2:
						_data_->success = pamac_transaction_clone_build_files_if_needed_finish (_data_->self, _data_->_res_);
						if (!_data_->success) {
							_data_->_tmp46_ = g_ptr_array_new_full ((guint) 1, _g_free0_);
							_data_->details = _data_->_tmp46_;
							_data_->_tmp47_ = _data_->details;
							_data_->_tmp48_ = _data_->_vala1_pkgname;
							_data_->_tmp49_ = g_strdup_printf (g_dgettext (NULL, "Failed to clone %s build files"), _data_->_tmp48_);
							g_ptr_array_add (_data_->_tmp47_, _data_->_tmp49_);
							_data_->_tmp50_ = _data_->details;
							g_signal_emit (_data_->self, pamac_transaction_signals[PAMAC_TRANSACTION_EMIT_ERROR_SIGNAL], 0, g_dgettext (NULL, "Failed to prepare transaction"), _data_->_tmp50_);
							_data_->result = FALSE;
							_g_ptr_array_unref0 (_data_->details);
							_g_free0 (_data_->pkgdir);
							g_task_return_pointer (_data_->_async_result, _data_, NULL);
							if (_data_->_state_ != 0) {
								while (!g_task_get_completed (_data_->_async_result)) {
									g_main_context_iteration (g_task_get_context (_data_->_async_result), TRUE);
								}
							}
							g_object_unref (_data_->_async_result);
							return FALSE;
						}
						_g_free0 (_data_->pkgdir);
					}
				}
			}
			_data_->_tmp51_ = pamac_transaction_summary_get_aur_pkgbases_to_build (_data_->summary);
			_data_->_tmp52_ = _data_->_tmp51_;
			_data_->_state_ = 3;
			pamac_transaction_edit_build_files (_data_->self, _data_->_tmp52_, pamac_transaction_trans_run_ready, _data_);
			return FALSE;
			_state_3:
			pamac_transaction_edit_build_files_finish (_data_->self, _data_->_res_);
			g_signal_emit (_data_->self, pamac_transaction_signals[PAMAC_TRANSACTION_EMIT_SCRIPT_OUTPUT_SIGNAL], 0, "");
			_data_->_state_ = 4;
			pamac_transaction_compute_aur_build_list (_data_->self, pamac_transaction_trans_run_ready, _data_);
			return FALSE;
			_state_4:
			_data_->_vala1_success = pamac_transaction_compute_aur_build_list_finish (_data_->self, _data_->_res_);
			_data_->_tmp53_ = NULL;
			_data_->_state_ = 5;
			pamac_transaction_trans_prepare (_data_->self, pamac_transaction_trans_run_ready, _data_);
			return FALSE;
			_state_5:
			_data_->_tmp54_ = pamac_transaction_trans_prepare_finish (_data_->self, _data_->_res_, &_data_->_tmp53_);
			_g_object_unref0 (_data_->new_summary);
			_data_->new_summary = _data_->_tmp53_;
			_data_->_vala1_success = _data_->_tmp54_;
			if (_data_->_vala1_success) {
				_data_->_tmp55_ = _data_->new_summary;
				_data_->_state_ = 6;
				pamac_transaction_trans_run (_data_->self, _data_->_tmp55_, pamac_transaction_trans_run_ready, _data_);
				return FALSE;
				_state_6:
				_data_->result = pamac_transaction_trans_run_finish (_data_->self, _data_->_res_);
				_g_object_unref0 (_data_->new_summary);
				g_task_return_pointer (_data_->_async_result, _data_, NULL);
				if (_data_->_state_ != 0) {
					while (!g_task_get_completed (_data_->_async_result)) {
						g_main_context_iteration (g_task_get_context (_data_->_async_result), TRUE);
					}
				}
				g_object_unref (_data_->_async_result);
				return FALSE;
			}
			_g_object_unref0 (_data_->new_summary);
		}
	}
	_data_->_tmp61_ = pamac_transaction_summary_get_to_install (_data_->summary);
	_data_->_tmp62_ = _data_->_tmp61_;
	_data_->_tmp63_ = vala_g_ptr_array_get_length (_data_->_tmp62_);
	_data_->_tmp64_ = _data_->_tmp63_;
	if (_data_->_tmp64_ != 0) {
		_data_->_tmp60_ = TRUE;
	} else {
		_data_->_tmp65_ = pamac_transaction_summary_get_to_upgrade (_data_->summary);
		_data_->_tmp66_ = _data_->_tmp65_;
		_data_->_tmp67_ = vala_g_ptr_array_get_length (_data_->_tmp66_);
		_data_->_tmp68_ = _data_->_tmp67_;
		_data_->_tmp60_ = _data_->_tmp68_ != 0;
	}
	if (_data_->_tmp60_) {
		_data_->_tmp59_ = TRUE;
	} else {
		_data_->_tmp69_ = pamac_transaction_summary_get_to_downgrade (_data_->summary);
		_data_->_tmp70_ = _data_->_tmp69_;
		_data_->_tmp71_ = vala_g_ptr_array_get_length (_data_->_tmp70_);
		_data_->_tmp72_ = _data_->_tmp71_;
		_data_->_tmp59_ = _data_->_tmp72_ != 0;
	}
	if (_data_->_tmp59_) {
		_data_->_tmp58_ = TRUE;
	} else {
		_data_->_tmp73_ = pamac_transaction_summary_get_to_reinstall (_data_->summary);
		_data_->_tmp74_ = _data_->_tmp73_;
		_data_->_tmp75_ = vala_g_ptr_array_get_length (_data_->_tmp74_);
		_data_->_tmp76_ = _data_->_tmp75_;
		_data_->_tmp58_ = _data_->_tmp76_ != 0;
	}
	if (_data_->_tmp58_) {
		_data_->_tmp57_ = TRUE;
	} else {
		_data_->_tmp77_ = pamac_transaction_summary_get_conflicts_to_remove (_data_->summary);
		_data_->_tmp78_ = _data_->_tmp77_;
		_data_->_tmp79_ = vala_g_ptr_array_get_length (_data_->_tmp78_);
		_data_->_tmp80_ = _data_->_tmp79_;
		_data_->_tmp57_ = _data_->_tmp80_ != 0;
	}
	if (_data_->_tmp57_) {
		_data_->_tmp56_ = TRUE;
	} else {
		_data_->_tmp81_ = pamac_transaction_summary_get_to_remove (_data_->summary);
		_data_->_tmp82_ = _data_->_tmp81_;
		_data_->_tmp83_ = vala_g_ptr_array_get_length (_data_->_tmp82_);
		_data_->_tmp84_ = _data_->_tmp83_;
		_data_->_tmp56_ = _data_->_tmp84_ != 0;
	}
	if (_data_->_tmp56_) {
		_data_->_tmp85_ = pamac_transaction_summary_get_to_install (_data_->summary);
		_data_->_tmp86_ = _data_->_tmp85_;
		{
			_data_->_vala1_pkg_collection = _data_->_tmp86_;
			for (_data_->_vala1_pkg_index = 0; _data_->_vala1_pkg_index < _data_->_vala1_pkg_collection->len; _data_->_vala1_pkg_index = _data_->_vala1_pkg_index + 1) {
				_data_->_vala1_pkg = (PamacPackage*) g_ptr_array_index (_data_->_vala1_pkg_collection, _data_->_vala1_pkg_index);
				{
					_data_->_tmp87_ = _data_->_vala1_pkg;
					_data_->_tmp88_ = pamac_package_get_name (_data_->_tmp87_);
					_data_->_tmp89_ = _data_->_tmp88_;
					_data_->_vala2_pkgname = _data_->_tmp89_;
					_data_->_tmp91_ = _data_->self->priv->to_install;
					_data_->_tmp92_ = _data_->_vala2_pkgname;
					if (!g_hash_table_contains (_data_->_tmp91_, _data_->_tmp92_)) {
						_data_->_tmp93_ = pamac_transaction_summary_get_to_load (_data_->summary);
						_data_->_tmp94_ = _data_->_tmp93_;
						_data_->_tmp95_ = _data_->_vala2_pkgname;
						_data_->_tmp96_ = g_str_equal;
						_data_->_tmp90_ = !g_ptr_array_find_with_equal_func (_data_->_tmp94_, _data_->_tmp95_, _data_->_tmp96_, NULL);
					} else {
						_data_->_tmp90_ = FALSE;
					}
					if (_data_->_tmp90_) {
						_data_->_tmp97_ = _data_->self->priv->to_install;
						_data_->_tmp98_ = _data_->_vala2_pkgname;
						_data_->_tmp99_ = g_strdup (_data_->_tmp98_);
						g_hash_table_add (_data_->_tmp97_, _data_->_tmp99_);
						_data_->find_top_provider = FALSE;
						_data_->_tmp100_ = _data_->_vala1_pkg;
						_data_->_tmp101_ = _g_object_ref0 (PAMAC_IS_ALPM_PACKAGE (_data_->_tmp100_) ? ((PamacAlpmPackage*) _data_->_tmp100_) : NULL);
						_data_->_vala1_alpmpkg = _data_->_tmp101_;
						_data_->_tmp102_ = _data_->_vala1_alpmpkg;
						if (_data_->_tmp102_ != NULL) {
							_data_->_tmp103_ = _data_->_vala1_alpmpkg;
							_data_->_tmp104_ = pamac_alpm_package_get_provides (_data_->_tmp103_);
							_data_->_tmp105_ = _data_->_tmp104_;
							{
								_data_->_vala1_provide_collection = _data_->_tmp105_;
								for (_data_->_vala1_provide_index = 0; _data_->_vala1_provide_index < _data_->_vala1_provide_collection->len; _data_->_vala1_provide_index = _data_->_vala1_provide_index + 1) {
									_data_->_vala1_provide = (const gchar*) g_ptr_array_index (_data_->_vala1_provide_collection, _data_->_vala1_provide_index);
									{
										_data_->_tmp106_ = _data_->self->priv->_database;
										_data_->_tmp107_ = _data_->_vala1_provide;
										_data_->_tmp108_ = pamac_database_get_alpm_dep_name (_data_->_tmp106_, _data_->_tmp107_);
										_data_->_vala1_provide_name = _data_->_tmp108_;
										_data_->_tmp109_ = _data_->self->priv->to_install;
										_data_->_tmp110_ = _data_->_vala1_provide_name;
										if (g_hash_table_contains (_data_->_tmp109_, _data_->_tmp110_)) {
											_data_->_tmp111_ = _data_->self->priv->to_install;
											_data_->_tmp112_ = _data_->_vala1_provide_name;
											g_hash_table_remove (_data_->_tmp111_, _data_->_tmp112_);
											_data_->_tmp113_ = _data_->self->priv->to_install;
											_data_->_tmp114_ = _data_->_vala2_pkgname;
											_data_->_tmp115_ = g_strdup (_data_->_tmp114_);
											g_hash_table_add (_data_->_tmp113_, _data_->_tmp115_);
											_data_->find_top_provider = TRUE;
											_g_free0 (_data_->_vala1_provide_name);
											break;
										}
										_g_free0 (_data_->_vala1_provide_name);
									}
								}
							}
						}
						if (!_data_->find_top_provider) {
							_data_->_tmp116_ = _data_->self->priv->to_install_as_dep;
							_data_->_tmp117_ = _data_->_vala2_pkgname;
							_data_->_tmp118_ = g_strdup (_data_->_tmp117_);
							g_hash_table_add (_data_->_tmp116_, _data_->_tmp118_);
						}
						_g_object_unref0 (_data_->_vala1_alpmpkg);
					}
				}
			}
		}
		_data_->_tmp119_ = _data_->self->priv->to_remove;
		g_hash_table_remove_all (_data_->_tmp119_);
		_data_->_tmp120_ = pamac_transaction_summary_get_to_remove (_data_->summary);
		_data_->_tmp121_ = _data_->_tmp120_;
		{
			_data_->_vala2_pkg_collection = _data_->_tmp121_;
			for (_data_->_vala2_pkg_index = 0; _data_->_vala2_pkg_index < _data_->_vala2_pkg_collection->len; _data_->_vala2_pkg_index = _data_->_vala2_pkg_index + 1) {
				_data_->_vala2_pkg = (PamacPackage*) g_ptr_array_index (_data_->_vala2_pkg_collection, _data_->_vala2_pkg_index);
				{
					_data_->_tmp122_ = _data_->self->priv->to_remove;
					_data_->_tmp123_ = _data_->_vala2_pkg;
					_data_->_tmp124_ = pamac_package_get_name (_data_->_tmp123_);
					_data_->_tmp125_ = _data_->_tmp124_;
					_data_->_tmp126_ = g_strdup (_data_->_tmp125_);
					g_hash_table_add (_data_->_tmp122_, _data_->_tmp126_);
				}
			}
		}
		_data_->_state_ = 7;
		pamac_transaction_ask_commit_real (_data_->self, _data_->summary, pamac_transaction_trans_run_ready, _data_);
		return FALSE;
		_state_7:
		_data_->_vala2_success = pamac_transaction_ask_commit_real_finish (_data_->self, _data_->_res_);
		if (!_data_->_vala2_success) {
			_data_->_tmp128_ = pamac_transaction_summary_get_to_build (_data_->summary);
			_data_->_tmp129_ = _data_->_tmp128_;
			_data_->_tmp130_ = vala_g_ptr_array_get_length (_data_->_tmp129_);
			_data_->_tmp131_ = _data_->_tmp130_;
			_data_->_tmp127_ = _data_->_tmp131_ != 0;
		} else {
			_data_->_tmp127_ = FALSE;
		}
		if (_data_->_tmp127_) {
			_data_->_tmp132_ = g_strdup ("rm");
			_data_->_tmp133_ = g_strdup ("-f");
			_data_->_tmp134_ = _data_->self->priv->tmp_path;
			_data_->_tmp135_ = g_strdup_printf ("%s/pamac_aur.db", _data_->_tmp134_);
			_data_->_tmp136_ = g_new0 (gchar*, 3 + 1);
			_data_->_tmp136_[0] = _data_->_tmp132_;
			_data_->_tmp136_[1] = _data_->_tmp133_;
			_data_->_tmp136_[2] = _data_->_tmp135_;
			_data_->_tmp137_ = _data_->_tmp136_;
			_data_->_tmp137__length1 = 3;
			_data_->_state_ = 8;
			pamac_transaction_launch_subprocess (_data_->self, _data_->_tmp137_, (gint) 3, pamac_transaction_trans_run_ready, _data_);
			return FALSE;
			_state_8:
			pamac_transaction_launch_subprocess_finish (_data_->self, _data_->_res_);
			_data_->_tmp137_ = (_vala_array_free (_data_->_tmp137_, _data_->_tmp137__length1, (GDestroyNotify) g_free), NULL);
		}
		_data_->_tmp138_ = _data_->self->priv->_dry_run;
		if (_data_->_tmp138_) {
			_data_->result = TRUE;
			g_task_return_pointer (_data_->_async_result, _data_, NULL);
			if (_data_->_state_ != 0) {
				while (!g_task_get_completed (_data_->_async_result)) {
					g_main_context_iteration (g_task_get_context (_data_->_async_result), TRUE);
				}
			}
			g_object_unref (_data_->_async_result);
			return FALSE;
		}
		if (_data_->_vala2_success) {
			_data_->_tmp139_ = pamac_transaction_summary_get_aur_pkgbases_to_build (_data_->summary);
			_data_->_tmp140_ = _data_->_tmp139_;
			_data_->_tmp141_ = vala_g_ptr_array_get_length (_data_->_tmp140_);
			_data_->_tmp142_ = _data_->_tmp141_;
			if (_data_->_tmp142_ != 0) {
				_data_->_tmp143_ = _data_->self->priv->_database;
				_data_->_tmp144_ = pamac_database_get_real_aur_build_dir (_data_->_tmp143_);
				_data_->_vala1_real_aur_build_dir = _data_->_tmp144_;
				_data_->_tmp145_ = pamac_transaction_summary_get_aur_pkgbases_to_build (_data_->summary);
				_data_->_tmp146_ = _data_->_tmp145_;
				{
					_data_->_vala1_pkgname_collection = _data_->_tmp146_;
					for (_data_->_vala1_pkgname_index = 0; _data_->_vala1_pkgname_index < _data_->_vala1_pkgname_collection->len; _data_->_vala1_pkgname_index = _data_->_vala1_pkgname_index + 1) {
						_data_->_vala3_pkgname = (const gchar*) g_ptr_array_index (_data_->_vala1_pkgname_collection, _data_->_vala1_pkgname_index);
						{
							_data_->_tmp147_ = _data_->_vala1_real_aur_build_dir;
							_data_->_tmp148_ = _data_->_vala3_pkgname;
							_data_->_tmp149_ = g_build_filename (_data_->_tmp147_, _data_->_tmp148_, NULL);
							_data_->_vala1_pkgdir = _data_->_tmp149_;
							_data_->_tmp150_ = _data_->_vala1_pkgdir;
							_data_->_tmp151_ = _data_->_vala3_pkgname;
							_data_->_state_ = 9;
							pamac_transaction_clone_build_files_if_needed (_data_->self, _data_->_tmp150_, _data_->_tmp151_, pamac_transaction_trans_run_ready, _data_);
							return FALSE;
							_state_9:
							_data_->_vala2_success = pamac_transaction_clone_build_files_if_needed_finish (_data_->self, _data_->_res_);
							if (_data_->_vala2_success) {
								_data_->_tmp152_ = _data_->_vala1_pkgdir;
								_data_->_tmp153_ = _data_->_vala3_pkgname;
								_data_->_state_ = 10;
								pamac_transaction_check_signatures (_data_->self, _data_->_tmp152_, _data_->_tmp153_, pamac_transaction_trans_run_ready, _data_);
								return FALSE;
								_state_10:
								pamac_transaction_check_signatures_finish (_data_->self, _data_->_res_);
							} else {
								_data_->_tmp154_ = g_ptr_array_new_full ((guint) 1, _g_free0_);
								_data_->_vala1_details = _data_->_tmp154_;
								_data_->_tmp155_ = _data_->_vala1_details;
								_data_->_tmp156_ = _data_->_vala3_pkgname;
								_data_->_tmp157_ = g_strdup_printf (g_dgettext (NULL, "Failed to clone %s build files"), _data_->_tmp156_);
								g_ptr_array_add (_data_->_tmp155_, _data_->_tmp157_);
								_data_->_tmp158_ = _data_->_vala1_details;
								g_signal_emit (_data_->self, pamac_transaction_signals[PAMAC_TRANSACTION_EMIT_ERROR_SIGNAL], 0, g_dgettext (NULL, "Failed to prepare transaction"), _data_->_tmp158_);
								_data_->result = FALSE;
								_g_ptr_array_unref0 (_data_->_vala1_details);
								_g_free0 (_data_->_vala1_pkgdir);
								g_task_return_pointer (_data_->_async_result, _data_, NULL);
								if (_data_->_state_ != 0) {
									while (!g_task_get_completed (_data_->_async_result)) {
										g_main_context_iteration (g_task_get_context (_data_->_async_result), TRUE);
									}
								}
								g_object_unref (_data_->_async_result);
								return FALSE;
							}
							_g_free0 (_data_->_vala1_pkgdir);
						}
					}
				}
			}
			_data_->_tmp159_ = _data_->self->priv->to_install;
			_data_->_tmp160_ = g_hash_table_size (_data_->_tmp159_);
			_data_->_tmp161_ = _data_->_tmp160_;
			_data_->_tmp162_ = g_ptr_array_new_full (_data_->_tmp161_, _g_free0_);
			_data_->to_install_array = _data_->_tmp162_;
			_data_->_tmp163_ = _data_->self->priv->to_remove;
			_data_->_tmp164_ = g_hash_table_size (_data_->_tmp163_);
			_data_->_tmp165_ = _data_->_tmp164_;
			_data_->_tmp166_ = g_ptr_array_new_full (_data_->_tmp165_, _g_free0_);
			_data_->to_remove_array = _data_->_tmp166_;
			_data_->_tmp167_ = _data_->self->priv->to_load_local;
			_data_->_tmp168_ = g_hash_table_size (_data_->_tmp167_);
			_data_->_tmp169_ = _data_->_tmp168_;
			_data_->_tmp170_ = g_ptr_array_new_full (_data_->_tmp169_, _g_free0_);
			_data_->to_load_local_array = _data_->_tmp170_;
			_data_->_tmp171_ = _data_->self->priv->to_load_remote;
			_data_->_tmp172_ = g_hash_table_size (_data_->_tmp171_);
			_data_->_tmp173_ = _data_->_tmp172_;
			_data_->_tmp174_ = g_ptr_array_new_full (_data_->_tmp173_, _g_free0_);
			_data_->to_load_remote_array = _data_->_tmp174_;
			_data_->_tmp175_ = _data_->self->priv->to_install_as_dep;
			_data_->_tmp176_ = g_hash_table_size (_data_->_tmp175_);
			_data_->_tmp177_ = _data_->_tmp176_;
			_data_->_tmp178_ = g_ptr_array_new_full (_data_->_tmp177_, _g_free0_);
			_data_->to_install_as_dep_array = _data_->_tmp178_;
			_data_->_tmp179_ = _data_->self->priv->ignorepkgs;
			_data_->_tmp180_ = g_hash_table_size (_data_->_tmp179_);
			_data_->_tmp181_ = _data_->_tmp180_;
			_data_->_tmp182_ = g_ptr_array_new_full (_data_->_tmp181_, _g_free0_);
			_data_->ignorepkgs_array = _data_->_tmp182_;
			_data_->_tmp183_ = _data_->self->priv->overwrite_files;
			_data_->_tmp184_ = g_hash_table_size (_data_->_tmp183_);
			_data_->_tmp185_ = _data_->_tmp184_;
			_data_->_tmp186_ = g_ptr_array_new_full (_data_->_tmp185_, _g_free0_);
			_data_->overwrite_files_array = _data_->_tmp186_;
			{
				_data_->_tmp187_ = _data_->self->priv->to_install;
				memset (&_data_->_tmp188_, 0, sizeof (GHashTableIter));
				g_hash_table_iter_init (&_data_->_tmp188_, _data_->_tmp187_);
				_data_->_name_it = _data_->_tmp188_;
				while (TRUE) {
					_data_->_tmp189_ = _vala_hash_set_next_value (&_data_->_name_it);
					_data_->_vala1_name = (const gchar*) _data_->_tmp189_;
					_data_->_tmp190_ = _data_->_vala1_name;
					if (!(_data_->_tmp190_ != NULL)) {
						break;
					}
					_data_->_tmp191_ = _data_->to_install_array;
					_data_->_tmp192_ = _data_->_vala1_name;
					_data_->_tmp193_ = g_strdup (_data_->_tmp192_);
					g_ptr_array_add (_data_->_tmp191_, _data_->_tmp193_);
				}
			}
			{
				_data_->_tmp194_ = _data_->self->priv->to_remove;
				memset (&_data_->_tmp195_, 0, sizeof (GHashTableIter));
				g_hash_table_iter_init (&_data_->_tmp195_, _data_->_tmp194_);
				_data_->_vala1__name_it = _data_->_tmp195_;
				while (TRUE) {
					_data_->_tmp196_ = _vala_hash_set_next_value (&_data_->_vala1__name_it);
					_data_->_vala2_name = (const gchar*) _data_->_tmp196_;
					_data_->_tmp197_ = _data_->_vala2_name;
					if (!(_data_->_tmp197_ != NULL)) {
						break;
					}
					_data_->_tmp198_ = _data_->to_remove_array;
					_data_->_tmp199_ = _data_->_vala2_name;
					_data_->_tmp200_ = g_strdup (_data_->_tmp199_);
					g_ptr_array_add (_data_->_tmp198_, _data_->_tmp200_);
				}
			}
			{
				_data_->_tmp201_ = _data_->self->priv->to_load_local;
				memset (&_data_->_tmp202_, 0, sizeof (GHashTableIter));
				g_hash_table_iter_init (&_data_->_tmp202_, _data_->_tmp201_);
				_data_->_vala2__name_it = _data_->_tmp202_;
				while (TRUE) {
					_data_->_tmp203_ = _vala_hash_set_next_value (&_data_->_vala2__name_it);
					_data_->_vala3_name = (const gchar*) _data_->_tmp203_;
					_data_->_tmp204_ = _data_->_vala3_name;
					if (!(_data_->_tmp204_ != NULL)) {
						break;
					}
					_data_->_tmp205_ = _data_->to_load_local_array;
					_data_->_tmp206_ = _data_->_vala3_name;
					_data_->_tmp207_ = g_strdup (_data_->_tmp206_);
					g_ptr_array_add (_data_->_tmp205_, _data_->_tmp207_);
				}
			}
			{
				_data_->_tmp208_ = _data_->self->priv->to_load_remote;
				memset (&_data_->_tmp209_, 0, sizeof (GHashTableIter));
				g_hash_table_iter_init (&_data_->_tmp209_, _data_->_tmp208_);
				_data_->_vala3__name_it = _data_->_tmp209_;
				while (TRUE) {
					_data_->_tmp210_ = _vala_hash_set_next_value (&_data_->_vala3__name_it);
					_data_->_vala4_name = (const gchar*) _data_->_tmp210_;
					_data_->_tmp211_ = _data_->_vala4_name;
					if (!(_data_->_tmp211_ != NULL)) {
						break;
					}
					_data_->_tmp212_ = _data_->to_load_remote_array;
					_data_->_tmp213_ = _data_->_vala4_name;
					_data_->_tmp214_ = g_strdup (_data_->_tmp213_);
					g_ptr_array_add (_data_->_tmp212_, _data_->_tmp214_);
				}
			}
			{
				_data_->_tmp215_ = _data_->self->priv->to_install_as_dep;
				memset (&_data_->_tmp216_, 0, sizeof (GHashTableIter));
				g_hash_table_iter_init (&_data_->_tmp216_, _data_->_tmp215_);
				_data_->_vala4__name_it = _data_->_tmp216_;
				while (TRUE) {
					_data_->_tmp217_ = _vala_hash_set_next_value (&_data_->_vala4__name_it);
					_data_->_vala5_name = (const gchar*) _data_->_tmp217_;
					_data_->_tmp218_ = _data_->_vala5_name;
					if (!(_data_->_tmp218_ != NULL)) {
						break;
					}
					_data_->_tmp219_ = _data_->to_install_as_dep_array;
					_data_->_tmp220_ = _data_->_vala5_name;
					_data_->_tmp221_ = g_strdup (_data_->_tmp220_);
					g_ptr_array_add (_data_->_tmp219_, _data_->_tmp221_);
				}
			}
			{
				_data_->_tmp222_ = _data_->self->priv->ignorepkgs;
				memset (&_data_->_tmp223_, 0, sizeof (GHashTableIter));
				g_hash_table_iter_init (&_data_->_tmp223_, _data_->_tmp222_);
				_data_->_vala5__name_it = _data_->_tmp223_;
				while (TRUE) {
					_data_->_tmp224_ = _vala_hash_set_next_value (&_data_->_vala5__name_it);
					_data_->_vala6_name = (const gchar*) _data_->_tmp224_;
					_data_->_tmp225_ = _data_->_vala6_name;
					if (!(_data_->_tmp225_ != NULL)) {
						break;
					}
					_data_->_tmp226_ = _data_->ignorepkgs_array;
					_data_->_tmp227_ = _data_->_vala6_name;
					_data_->_tmp228_ = g_strdup (_data_->_tmp227_);
					g_ptr_array_add (_data_->_tmp226_, _data_->_tmp228_);
				}
			}
			{
				_data_->_tmp229_ = _data_->self->priv->overwrite_files;
				memset (&_data_->_tmp230_, 0, sizeof (GHashTableIter));
				g_hash_table_iter_init (&_data_->_tmp230_, _data_->_tmp229_);
				_data_->_vala6__name_it = _data_->_tmp230_;
				while (TRUE) {
					_data_->_tmp231_ = _vala_hash_set_next_value (&_data_->_vala6__name_it);
					_data_->_vala7_name = (const gchar*) _data_->_tmp231_;
					_data_->_tmp232_ = _data_->_vala7_name;
					if (!(_data_->_tmp232_ != NULL)) {
						break;
					}
					_data_->_tmp233_ = _data_->overwrite_files_array;
					_data_->_tmp234_ = _data_->_vala7_name;
					_data_->_tmp235_ = g_strdup (_data_->_tmp234_);
					g_ptr_array_add (_data_->_tmp233_, _data_->_tmp235_);
				}
			}
			_data_->_state_ = 11;
			pamac_transaction_get_authorization_async (_data_->self, pamac_transaction_trans_run_ready, _data_);
			return FALSE;
			_state_11:
			_data_->_vala2_success = pamac_transaction_get_authorization_finish (_data_->self, _data_->_res_);
			if (!_data_->_vala2_success) {
				_data_->result = FALSE;
				_g_ptr_array_unref0 (_data_->overwrite_files_array);
				_g_ptr_array_unref0 (_data_->ignorepkgs_array);
				_g_ptr_array_unref0 (_data_->to_install_as_dep_array);
				_g_ptr_array_unref0 (_data_->to_load_remote_array);
				_g_ptr_array_unref0 (_data_->to_load_local_array);
				_g_ptr_array_unref0 (_data_->to_remove_array);
				_g_ptr_array_unref0 (_data_->to_install_array);
				g_task_return_pointer (_data_->_async_result, _data_, NULL);
				if (_data_->_state_ != 0) {
					while (!g_task_get_completed (_data_->_async_result)) {
						g_main_context_iteration (g_task_get_context (_data_->_async_result), TRUE);
					}
				}
				g_object_unref (_data_->_async_result);
				return FALSE;
			}
			{
				_data_->_tmp237_ = _data_->self->priv->transaction_interface;
				_data_->_tmp238_ = _data_->self->priv->config;
				_data_->_tmp239_ = pamac_config_get_enable_downgrade (_data_->_tmp238_);
				_data_->_tmp240_ = _data_->_tmp239_;
				_data_->_tmp241_ = _data_->self->priv->config;
				_data_->_tmp242_ = pamac_config_get_simple_install (_data_->_tmp241_);
				_data_->_tmp243_ = _data_->_tmp242_;
				_data_->_tmp244_ = _data_->self->priv->config;
				_data_->_tmp245_ = pamac_config_get_keep_built_pkgs (_data_->_tmp244_);
				_data_->_tmp246_ = _data_->_tmp245_;
				_data_->_tmp247_ = _data_->to_install_array;
				_data_->_tmp248_ = _data_->to_remove_array;
				_data_->_tmp249_ = _data_->to_load_local_array;
				_data_->_tmp250_ = _data_->to_load_remote_array;
				_data_->_tmp251_ = _data_->to_install_as_dep_array;
				_data_->_tmp252_ = _data_->ignorepkgs_array;
				_data_->_tmp253_ = _data_->overwrite_files_array;
				_data_->_state_ = 12;
				pamac_transaction_interface_trans_run (_data_->_tmp237_, _data_->self->priv->sysupgrading, _data_->_tmp240_, _data_->_tmp243_, _data_->_tmp246_, _data_->self->priv->trans_flags, _data_->_tmp247_, _data_->_tmp248_, _data_->_tmp249_, _data_->_tmp250_, _data_->_tmp251_, _data_->_tmp252_, _data_->_tmp253_, pamac_transaction_trans_run_ready, _data_);
				return FALSE;
				_state_12:
				_data_->_tmp236_ = pamac_transaction_interface_trans_run_finish (_data_->_tmp237_, _data_->_res_, &_data_->_inner_error0_);
				if (G_UNLIKELY (_data_->_inner_error0_ != NULL)) {
					goto __catch0_g_error;
				}
				_data_->_vala2_success = _data_->_tmp236_;
			}
			goto __finally0;
			__catch0_g_error:
			{
				_data_->e = _data_->_inner_error0_;
				_data_->_inner_error0_ = NULL;
				_data_->_tmp254_ = g_ptr_array_new_full ((guint) 1, _g_free0_);
				_data_->_vala2_details = _data_->_tmp254_;
				_data_->_tmp255_ = _data_->_vala2_details;
				_data_->_tmp256_ = _data_->e;
				_data_->_tmp257_ = _data_->_tmp256_->message;
				_data_->_tmp258_ = g_strdup_printf ("trans_run: %s", _data_->_tmp257_);
				g_ptr_array_add (_data_->_tmp255_, _data_->_tmp258_);
				_data_->_tmp259_ = _data_->_vala2_details;
				g_signal_emit (_data_->self, pamac_transaction_signals[PAMAC_TRANSACTION_EMIT_ERROR_SIGNAL], 0, "Daemon Error", _data_->_tmp259_);
				_data_->_vala2_success = FALSE;
				_g_ptr_array_unref0 (_data_->_vala2_details);
				_g_error_free0 (_data_->e);
			}
			__finally0:
			if (G_UNLIKELY (_data_->_inner_error0_ != NULL)) {
				_g_ptr_array_unref0 (_data_->overwrite_files_array);
				_g_ptr_array_unref0 (_data_->ignorepkgs_array);
				_g_ptr_array_unref0 (_data_->to_install_as_dep_array);
				_g_ptr_array_unref0 (_data_->to_load_remote_array);
				_g_ptr_array_unref0 (_data_->to_load_local_array);
				_g_ptr_array_unref0 (_data_->to_remove_array);
				_g_ptr_array_unref0 (_data_->to_install_array);
				g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _data_->_inner_error0_->message, g_quark_to_string (_data_->_inner_error0_->domain), _data_->_inner_error0_->code);
				g_clear_error (&_data_->_inner_error0_);
				g_object_unref (_data_->_async_result);
				return FALSE;
			}
			_data_->result = _data_->_vala2_success;
			_g_ptr_array_unref0 (_data_->overwrite_files_array);
			_g_ptr_array_unref0 (_data_->ignorepkgs_array);
			_g_ptr_array_unref0 (_data_->to_install_as_dep_array);
			_g_ptr_array_unref0 (_data_->to_load_remote_array);
			_g_ptr_array_unref0 (_data_->to_load_local_array);
			_g_ptr_array_unref0 (_data_->to_remove_array);
			_g_ptr_array_unref0 (_data_->to_install_array);
			g_task_return_pointer (_data_->_async_result, _data_, NULL);
			if (_data_->_state_ != 0) {
				while (!g_task_get_completed (_data_->_async_result)) {
					g_main_context_iteration (g_task_get_context (_data_->_async_result), TRUE);
				}
			}
			g_object_unref (_data_->_async_result);
			return FALSE;
		} else {
			_data_->_tmp260_ = g_strconcat (g_dgettext (NULL, "Transaction cancelled"), ".", NULL);
			_data_->_tmp261_ = _data_->_tmp260_;
			g_signal_emit (_data_->self, pamac_transaction_signals[PAMAC_TRANSACTION_EMIT_ACTION_SIGNAL], 0, _data_->_tmp261_);
			_g_free0 (_data_->_tmp261_);
			_data_->result = FALSE;
			g_task_return_pointer (_data_->_async_result, _data_, NULL);
			if (_data_->_state_ != 0) {
				while (!g_task_get_completed (_data_->_async_result)) {
					g_main_context_iteration (g_task_get_context (_data_->_async_result), TRUE);
				}
			}
			g_object_unref (_data_->_async_result);
			return FALSE;
		}
	} else {
		_data_->_tmp262_ = pamac_transaction_summary_get_to_build (_data_->summary);
		_data_->_tmp263_ = _data_->_tmp262_;
		_data_->_tmp264_ = vala_g_ptr_array_get_length (_data_->_tmp263_);
		_data_->_tmp265_ = _data_->_tmp264_;
		if (_data_->_tmp265_ != 0) {
			_data_->_state_ = 13;
			pamac_transaction_ask_commit_real (_data_->self, _data_->summary, pamac_transaction_trans_run_ready, _data_);
			return FALSE;
			_state_13:
			_data_->_vala3_success = pamac_transaction_ask_commit_real_finish (_data_->self, _data_->_res_);
			if (!_data_->_vala3_success) {
				_data_->_tmp266_ = g_strdup ("rm");
				_data_->_tmp267_ = g_strdup ("-f");
				_data_->_tmp268_ = _data_->self->priv->tmp_path;
				_data_->_tmp269_ = g_strdup_printf ("%s/pamac_aur.db", _data_->_tmp268_);
				_data_->_tmp270_ = g_new0 (gchar*, 3 + 1);
				_data_->_tmp270_[0] = _data_->_tmp266_;
				_data_->_tmp270_[1] = _data_->_tmp267_;
				_data_->_tmp270_[2] = _data_->_tmp269_;
				_data_->_tmp271_ = _data_->_tmp270_;
				_data_->_tmp271__length1 = 3;
				_data_->_state_ = 14;
				pamac_transaction_launch_subprocess (_data_->self, _data_->_tmp271_, (gint) 3, pamac_transaction_trans_run_ready, _data_);
				return FALSE;
				_state_14:
				pamac_transaction_launch_subprocess_finish (_data_->self, _data_->_res_);
				_data_->_tmp271_ = (_vala_array_free (_data_->_tmp271_, _data_->_tmp271__length1, (GDestroyNotify) g_free), NULL);
			}
			_data_->_tmp272_ = _data_->self->priv->_dry_run;
			if (_data_->_tmp272_) {
				_data_->result = TRUE;
				g_task_return_pointer (_data_->_async_result, _data_, NULL);
				if (_data_->_state_ != 0) {
					while (!g_task_get_completed (_data_->_async_result)) {
						g_main_context_iteration (g_task_get_context (_data_->_async_result), TRUE);
					}
				}
				g_object_unref (_data_->_async_result);
				return FALSE;
			}
			if (_data_->_vala3_success) {
				_data_->_tmp273_ = _data_->self->priv->_database;
				_data_->_tmp274_ = pamac_database_get_real_aur_build_dir (_data_->_tmp273_);
				_data_->_vala2_real_aur_build_dir = _data_->_tmp274_;
				_data_->_tmp275_ = pamac_transaction_summary_get_aur_pkgbases_to_build (_data_->summary);
				_data_->_tmp276_ = _data_->_tmp275_;
				{
					_data_->_vala2_pkgname_collection = _data_->_tmp276_;
					for (_data_->_vala2_pkgname_index = 0; _data_->_vala2_pkgname_index < _data_->_vala2_pkgname_collection->len; _data_->_vala2_pkgname_index = _data_->_vala2_pkgname_index + 1) {
						_data_->_vala4_pkgname = (const gchar*) g_ptr_array_index (_data_->_vala2_pkgname_collection, _data_->_vala2_pkgname_index);
						{
							_data_->_tmp277_ = _data_->_vala2_real_aur_build_dir;
							_data_->_tmp278_ = _data_->_vala4_pkgname;
							_data_->_tmp279_ = g_build_filename (_data_->_tmp277_, _data_->_tmp278_, NULL);
							_data_->_vala2_pkgdir = _data_->_tmp279_;
							_data_->_tmp280_ = _data_->_vala2_pkgdir;
							_data_->_tmp281_ = _data_->_vala4_pkgname;
							_data_->_state_ = 15;
							pamac_transaction_clone_build_files_if_needed (_data_->self, _data_->_tmp280_, _data_->_tmp281_, pamac_transaction_trans_run_ready, _data_);
							return FALSE;
							_state_15:
							_data_->_vala3_success = pamac_transaction_clone_build_files_if_needed_finish (_data_->self, _data_->_res_);
							if (_data_->_vala3_success) {
								_data_->_tmp282_ = _data_->_vala2_pkgdir;
								_data_->_tmp283_ = _data_->_vala4_pkgname;
								_data_->_state_ = 16;
								pamac_transaction_check_signatures (_data_->self, _data_->_tmp282_, _data_->_tmp283_, pamac_transaction_trans_run_ready, _data_);
								return FALSE;
								_state_16:
								pamac_transaction_check_signatures_finish (_data_->self, _data_->_res_);
							} else {
								_data_->_tmp284_ = g_ptr_array_new_full ((guint) 1, _g_free0_);
								_data_->_vala3_details = _data_->_tmp284_;
								_data_->_tmp285_ = _data_->_vala3_details;
								_data_->_tmp286_ = _data_->_vala4_pkgname;
								_data_->_tmp287_ = g_strdup_printf (g_dgettext (NULL, "Failed to clone %s build files"), _data_->_tmp286_);
								g_ptr_array_add (_data_->_tmp285_, _data_->_tmp287_);
								_data_->_tmp288_ = _data_->_vala3_details;
								g_signal_emit (_data_->self, pamac_transaction_signals[PAMAC_TRANSACTION_EMIT_ERROR_SIGNAL], 0, g_dgettext (NULL, "Failed to prepare transaction"), _data_->_tmp288_);
								_data_->result = FALSE;
								_g_ptr_array_unref0 (_data_->_vala3_details);
								_g_free0 (_data_->_vala2_pkgdir);
								g_task_return_pointer (_data_->_async_result, _data_, NULL);
								if (_data_->_state_ != 0) {
									while (!g_task_get_completed (_data_->_async_result)) {
										g_main_context_iteration (g_task_get_context (_data_->_async_result), TRUE);
									}
								}
								g_object_unref (_data_->_async_result);
								return FALSE;
							}
							_g_free0 (_data_->_vala2_pkgdir);
						}
					}
				}
				_data_->_state_ = 17;
				pamac_transaction_get_authorization_async (_data_->self, pamac_transaction_trans_run_ready, _data_);
				return FALSE;
				_state_17:
				_data_->result = pamac_transaction_get_authorization_finish (_data_->self, _data_->_res_);
				g_task_return_pointer (_data_->_async_result, _data_, NULL);
				if (_data_->_state_ != 0) {
					while (!g_task_get_completed (_data_->_async_result)) {
						g_main_context_iteration (g_task_get_context (_data_->_async_result), TRUE);
					}
				}
				g_object_unref (_data_->_async_result);
				return FALSE;
			} else {
				_data_->_tmp289_ = g_strconcat (g_dgettext (NULL, "Transaction cancelled"), ".", NULL);
				_data_->_tmp290_ = _data_->_tmp289_;
				g_signal_emit (_data_->self, pamac_transaction_signals[PAMAC_TRANSACTION_EMIT_ACTION_SIGNAL], 0, _data_->_tmp290_);
				_g_free0 (_data_->_tmp290_);
				_data_->result = FALSE;
				g_task_return_pointer (_data_->_async_result, _data_, NULL);
				if (_data_->_state_ != 0) {
					while (!g_task_get_completed (_data_->_async_result)) {
						g_main_context_iteration (g_task_get_context (_data_->_async_result), TRUE);
					}
				}
				g_object_unref (_data_->_async_result);
				return FALSE;
			}
		} else {
			_data_->_tmp291_ = g_strconcat (g_dgettext (NULL, "Nothing to do"), ".", NULL);
			_data_->_tmp292_ = _data_->_tmp291_;
			g_signal_emit (_data_->self, pamac_transaction_signals[PAMAC_TRANSACTION_EMIT_ACTION_SIGNAL], 0, _data_->_tmp292_);
			_g_free0 (_data_->_tmp292_);
			_data_->result = TRUE;
			g_task_return_pointer (_data_->_async_result, _data_, NULL);
			if (_data_->_state_ != 0) {
				while (!g_task_get_completed (_data_->_async_result)) {
					g_main_context_iteration (g_task_get_context (_data_->_async_result), TRUE);
				}
			}
			g_object_unref (_data_->_async_result);
			return FALSE;
		}
	}
}

static void
pamac_transaction_set_flags (PamacTransaction* self)
{
	gboolean _tmp0_;
	gboolean _tmp1_;
	gboolean _tmp2_;
	gboolean _tmp4_;
	PamacDatabase* _tmp6_;
	PamacConfig* _tmp7_;
	PamacConfig* _tmp8_;
	gboolean _tmp9_;
	gboolean _tmp10_;
	gboolean _tmp11_;
	g_return_if_fail (self != NULL);
	self->priv->trans_flags = 0;
	_tmp0_ = self->priv->_download_only;
	if (_tmp0_) {
		self->priv->trans_flags = self->priv->trans_flags | (1 << 9);
	}
	_tmp1_ = self->priv->_install_if_needed;
	if (_tmp1_) {
		self->priv->trans_flags = self->priv->trans_flags | (1 << 13);
	}
	_tmp2_ = self->priv->_install_as_dep;
	if (_tmp2_) {
		self->priv->trans_flags = self->priv->trans_flags | (1 << 8);
	} else {
		gboolean _tmp3_;
		_tmp3_ = self->priv->_install_as_explicit;
		if (_tmp3_) {
			self->priv->trans_flags = self->priv->trans_flags | (1 << 14);
		}
	}
	_tmp4_ = self->priv->_remove_if_unneeded;
	if (_tmp4_) {
		self->priv->trans_flags = self->priv->trans_flags | (1 << 15);
	} else {
		gboolean _tmp5_;
		_tmp5_ = self->priv->_cascade;
		if (_tmp5_) {
			self->priv->trans_flags = self->priv->trans_flags | (1 << 4);
		}
	}
	_tmp6_ = self->priv->_database;
	_tmp7_ = pamac_database_get_config (_tmp6_);
	_tmp8_ = _tmp7_;
	_tmp9_ = pamac_config_get_recurse (_tmp8_);
	_tmp10_ = _tmp9_;
	if (_tmp10_) {
		self->priv->trans_flags = self->priv->trans_flags | (1 << 5);
	}
	_tmp11_ = self->priv->_keep_config_files;
	if (!_tmp11_) {
		self->priv->trans_flags = self->priv->trans_flags | (1 << 2);
	}
}

void
pamac_transaction_add_pkg_to_install (PamacTransaction* self,
                                      const gchar* name)
{
	GHashTable* _tmp0_;
	gchar* _tmp1_;
	g_return_if_fail (self != NULL);
	g_return_if_fail (name != NULL);
	_tmp0_ = self->priv->to_install;
	_tmp1_ = g_strdup (name);
	g_hash_table_add (_tmp0_, _tmp1_);
}

void
pamac_transaction_add_pkg_to_remove (PamacTransaction* self,
                                     const gchar* name)
{
	GHashTable* _tmp0_;
	gchar* _tmp1_;
	g_return_if_fail (self != NULL);
	g_return_if_fail (name != NULL);
	_tmp0_ = self->priv->to_remove;
	_tmp1_ = g_strdup (name);
	g_hash_table_add (_tmp0_, _tmp1_);
}

void
pamac_transaction_add_path_to_load (PamacTransaction* self,
                                    const gchar* path)
{
	g_return_if_fail (self != NULL);
	g_return_if_fail (path != NULL);
	if (string_contains (path, "://")) {
		GHashTable* _tmp0_;
		gchar* _tmp1_;
		_tmp0_ = self->priv->to_load_remote;
		_tmp1_ = g_strdup (path);
		g_hash_table_add (_tmp0_, _tmp1_);
	} else {
		GHashTable* _tmp2_;
		gchar* _tmp3_;
		_tmp2_ = self->priv->to_load_local;
		_tmp3_ = g_strdup (path);
		g_hash_table_add (_tmp2_, _tmp3_);
	}
}

void
pamac_transaction_add_pkg_to_build (PamacTransaction* self,
                                    const gchar* name,
                                    gboolean clone_build_files,
                                    gboolean clone_deps_build_files)
{
	PamacConfig* _tmp0_;
	gboolean _tmp1_;
	gboolean _tmp2_;
	GHashTable* _tmp3_;
	gchar* _tmp4_;
	g_return_if_fail (self != NULL);
	g_return_if_fail (name != NULL);
	_tmp0_ = self->priv->config;
	_tmp1_ = pamac_config_get_support_aur (_tmp0_);
	_tmp2_ = _tmp1_;
	if (!_tmp2_) {
		return;
	}
	_tmp3_ = self->priv->to_build;
	_tmp4_ = g_strdup (name);
	g_hash_table_add (_tmp3_, _tmp4_);
	if (clone_build_files) {
		GHashTable* _tmp5_;
		gchar* _tmp6_;
		_tmp5_ = self->priv->clone_files;
		_tmp6_ = g_strdup (name);
		g_hash_table_add (_tmp5_, _tmp6_);
	}
	if (clone_deps_build_files) {
		GHashTable* _tmp7_;
		gchar* _tmp8_;
		_tmp7_ = self->priv->clone_deps_files;
		_tmp8_ = g_strdup (name);
		g_hash_table_add (_tmp7_, _tmp8_);
	}
}

void
pamac_transaction_add_temporary_ignore_pkg (PamacTransaction* self,
                                            const gchar* name)
{
	GHashTable* _tmp0_;
	gchar* _tmp1_;
	g_return_if_fail (self != NULL);
	g_return_if_fail (name != NULL);
	_tmp0_ = self->priv->ignorepkgs;
	_tmp1_ = g_strdup (name);
	g_hash_table_add (_tmp0_, _tmp1_);
}

void
pamac_transaction_add_overwrite_file (PamacTransaction* self,
                                      const gchar* glob)
{
	GHashTable* _tmp0_;
	gchar* _tmp1_;
	g_return_if_fail (self != NULL);
	g_return_if_fail (glob != NULL);
	_tmp0_ = self->priv->overwrite_files;
	_tmp1_ = g_strdup (glob);
	g_hash_table_add (_tmp0_, _tmp1_);
}

void
pamac_transaction_add_pkg_to_mark_as_dep (PamacTransaction* self,
                                          const gchar* name)
{
	GHashTable* _tmp0_;
	gchar* _tmp1_;
	g_return_if_fail (self != NULL);
	g_return_if_fail (name != NULL);
	_tmp0_ = self->priv->to_install_as_dep;
	_tmp1_ = g_strdup (name);
	g_hash_table_add (_tmp0_, _tmp1_);
}

void
pamac_transaction_add_pkgs_to_upgrade (PamacTransaction* self,
                                       gboolean force_refresh)
{
	g_return_if_fail (self != NULL);
	self->priv->force_refresh = force_refresh;
	self->priv->sysupgrading = TRUE;
}

void
pamac_transaction_add_snap_to_install (PamacTransaction* self,
                                       PamacSnapPackage* pkg)
{
	PamacConfig* _tmp0_;
	gboolean _tmp1_;
	gboolean _tmp2_;
	g_return_if_fail (self != NULL);
	g_return_if_fail (pkg != NULL);
	_tmp0_ = self->priv->config;
	_tmp1_ = pamac_config_get_enable_snap (_tmp0_);
	_tmp2_ = _tmp1_;
	if (_tmp2_) {
		GHashTable* _tmp3_;
		const gchar* _tmp4_;
		const gchar* _tmp5_;
		gchar* _tmp6_;
		PamacSnapPackage* _tmp7_;
		_tmp3_ = self->priv->snap_to_install;
		_tmp4_ = pamac_package_get_name ((PamacPackage*) pkg);
		_tmp5_ = _tmp4_;
		_tmp6_ = g_strdup (_tmp5_);
		_tmp7_ = _g_object_ref0 (pkg);
		g_hash_table_insert (_tmp3_, _tmp6_, _tmp7_);
	} else {
		g_warning ("transaction.vala:1779: snap support disabled");
	}
}

void
pamac_transaction_add_snap_to_remove (PamacTransaction* self,
                                      PamacSnapPackage* pkg)
{
	PamacConfig* _tmp0_;
	gboolean _tmp1_;
	gboolean _tmp2_;
	g_return_if_fail (self != NULL);
	g_return_if_fail (pkg != NULL);
	_tmp0_ = self->priv->config;
	_tmp1_ = pamac_config_get_enable_snap (_tmp0_);
	_tmp2_ = _tmp1_;
	if (_tmp2_) {
		GHashTable* _tmp3_;
		const gchar* _tmp4_;
		const gchar* _tmp5_;
		gchar* _tmp6_;
		PamacSnapPackage* _tmp7_;
		_tmp3_ = self->priv->snap_to_remove;
		_tmp4_ = pamac_package_get_name ((PamacPackage*) pkg);
		_tmp5_ = _tmp4_;
		_tmp6_ = g_strdup (_tmp5_);
		_tmp7_ = _g_object_ref0 (pkg);
		g_hash_table_insert (_tmp3_, _tmp6_, _tmp7_);
	} else {
		g_warning ("transaction.vala:1787: snap support disabled");
	}
}

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

static void
pamac_transaction_run_snap_transaction (PamacTransaction* self,
                                        GAsyncReadyCallback _callback_,
                                        gpointer _user_data_)
{
	PamacTransactionRunSnapTransactionData* _data_;
	PamacTransaction* _tmp0_;
	g_return_if_fail (self != NULL);
	_data_ = g_slice_new0 (PamacTransactionRunSnapTransactionData);
	_data_->_async_result = g_task_new (G_OBJECT (self), NULL, _callback_, _user_data_);
	g_task_set_task_data (_data_->_async_result, _data_, pamac_transaction_run_snap_transaction_data_free);
	_tmp0_ = _g_object_ref0 (self);
	_data_->self = _tmp0_;
	pamac_transaction_run_snap_transaction_co (_data_);
}

static gboolean
pamac_transaction_run_snap_transaction_finish (PamacTransaction* self,
                                               GAsyncResult* _res_)
{
	gboolean result;
	PamacTransactionRunSnapTransactionData* _data_;
	_data_ = g_task_propagate_pointer (G_TASK (_res_), NULL);
	result = _data_->result;
	return result;
}

static void
pamac_transaction_run_snap_transaction_ready (GObject* source_object,
                                              GAsyncResult* _res_,
                                              gpointer _user_data_)
{
	PamacTransactionRunSnapTransactionData* _data_;
	_data_ = _user_data_;
	_data_->_source_object_ = source_object;
	_data_->_res_ = _res_;
	pamac_transaction_run_snap_transaction_co (_data_);
}

static gboolean
pamac_transaction_run_snap_transaction_co (PamacTransactionRunSnapTransactionData* _data_)
{
	switch (_data_->_state_) {
		case 0:
		goto _state_0;
		case 1:
		goto _state_1;
		default:
		g_assert_not_reached ();
	}
	_state_0:
	_data_->_tmp0_ = _data_->self->priv->snap_to_install;
	_data_->_tmp1_ = g_hash_table_size (_data_->_tmp0_);
	_data_->_tmp2_ = _data_->_tmp1_;
	_data_->_tmp3_ = g_ptr_array_new_full (_data_->_tmp2_, _g_free0_);
	_data_->snap_to_install_array = _data_->_tmp3_;
	_data_->_tmp4_ = _data_->self->priv->snap_to_remove;
	_data_->_tmp5_ = g_hash_table_size (_data_->_tmp4_);
	_data_->_tmp6_ = _data_->_tmp5_;
	_data_->_tmp7_ = g_ptr_array_new_full (_data_->_tmp6_, _g_free0_);
	_data_->snap_to_remove_array = _data_->_tmp7_;
	_data_->_tmp8_ = _data_->self->priv->snap_to_install;
	g_hash_table_iter_init (&_data_->iter, _data_->_tmp8_);
	while (TRUE) {
		_data_->_tmp9_ = NULL;
		_data_->_tmp10_ = g_hash_table_iter_next (&_data_->iter, (gpointer*) (&_data_->_tmp9_), (gpointer*) NULL);
		_data_->name = (const gchar*) _data_->_tmp9_;
		if (!_data_->_tmp10_) {
			break;
		}
		_data_->_tmp11_ = _data_->snap_to_install_array;
		_data_->_tmp12_ = _data_->name;
		_data_->_tmp13_ = g_strdup (_data_->_tmp12_);
		g_ptr_array_add (_data_->_tmp11_, _data_->_tmp13_);
	}
	_data_->_tmp14_ = _data_->self->priv->snap_to_remove;
	g_hash_table_iter_init (&_data_->iter, _data_->_tmp14_);
	while (TRUE) {
		_data_->_tmp15_ = NULL;
		_data_->_tmp16_ = g_hash_table_iter_next (&_data_->iter, (gpointer*) (&_data_->_tmp15_), (gpointer*) NULL);
		_data_->name = (const gchar*) _data_->_tmp15_;
		if (!_data_->_tmp16_) {
			break;
		}
		_data_->_tmp17_ = _data_->snap_to_remove_array;
		_data_->_tmp18_ = _data_->name;
		_data_->_tmp19_ = g_strdup (_data_->_tmp18_);
		g_ptr_array_add (_data_->_tmp17_, _data_->_tmp19_);
	}
	_data_->_tmp20_ = _data_->self->priv->snap_to_install;
	g_hash_table_remove_all (_data_->_tmp20_);
	_data_->_tmp21_ = _data_->self->priv->snap_to_remove;
	g_hash_table_remove_all (_data_->_tmp21_);
	{
		g_signal_emit (_data_->self, pamac_transaction_signals[PAMAC_TRANSACTION_START_DOWNLOADING_SIGNAL], 0);
		_data_->_tmp22_ = _data_->self->priv->transaction_interface;
		_data_->_tmp23_ = _data_->snap_to_install_array;
		_data_->_tmp24_ = _data_->snap_to_remove_array;
		_data_->_state_ = 1;
		pamac_transaction_interface_snap_trans_run (_data_->_tmp22_, _data_->_tmp23_, _data_->_tmp24_, pamac_transaction_run_snap_transaction_ready, _data_);
		return FALSE;
		_state_1:
		_data_->success = pamac_transaction_interface_snap_trans_run_finish (_data_->_tmp22_, _data_->_res_, &_data_->_inner_error0_);
		if (G_UNLIKELY (_data_->_inner_error0_ != NULL)) {
			goto __catch0_g_error;
		}
		g_signal_emit (_data_->self, pamac_transaction_signals[PAMAC_TRANSACTION_STOP_DOWNLOADING_SIGNAL], 0);
		_data_->result = _data_->success;
		_g_ptr_array_unref0 (_data_->snap_to_remove_array);
		_g_ptr_array_unref0 (_data_->snap_to_install_array);
		g_task_return_pointer (_data_->_async_result, _data_, NULL);
		if (_data_->_state_ != 0) {
			while (!g_task_get_completed (_data_->_async_result)) {
				g_main_context_iteration (g_task_get_context (_data_->_async_result), TRUE);
			}
		}
		g_object_unref (_data_->_async_result);
		return FALSE;
	}
	goto __finally0;
	__catch0_g_error:
	{
		_data_->e = _data_->_inner_error0_;
		_data_->_inner_error0_ = NULL;
		_data_->_tmp25_ = g_ptr_array_new_full ((guint) 1, _g_free0_);
		_data_->details = _data_->_tmp25_;
		_data_->_tmp26_ = _data_->details;
		_data_->_tmp27_ = _data_->e;
		_data_->_tmp28_ = _data_->_tmp27_->message;
		_data_->_tmp29_ = g_strdup_printf ("snap_trans_run: %s", _data_->_tmp28_);
		g_ptr_array_add (_data_->_tmp26_, _data_->_tmp29_);
		_data_->_tmp30_ = _data_->details;
		g_signal_emit (_data_->self, pamac_transaction_signals[PAMAC_TRANSACTION_EMIT_ERROR_SIGNAL], 0, "Daemon Error", _data_->_tmp30_);
		_data_->result = FALSE;
		_g_ptr_array_unref0 (_data_->details);
		_g_error_free0 (_data_->e);
		_g_ptr_array_unref0 (_data_->snap_to_remove_array);
		_g_ptr_array_unref0 (_data_->snap_to_install_array);
		g_task_return_pointer (_data_->_async_result, _data_, NULL);
		if (_data_->_state_ != 0) {
			while (!g_task_get_completed (_data_->_async_result)) {
				g_main_context_iteration (g_task_get_context (_data_->_async_result), TRUE);
			}
		}
		g_object_unref (_data_->_async_result);
		return FALSE;
	}
	__finally0:
	_g_ptr_array_unref0 (_data_->snap_to_remove_array);
	_g_ptr_array_unref0 (_data_->snap_to_install_array);
	g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _data_->_inner_error0_->message, g_quark_to_string (_data_->_inner_error0_->domain), _data_->_inner_error0_->code);
	g_clear_error (&_data_->_inner_error0_);
	g_object_unref (_data_->_async_result);
	return FALSE;
}

static void
pamac_transaction_snap_switch_channel_async_data_free (gpointer _data)
{
	PamacTransactionSnapSwitchChannelAsyncData* _data_;
	_data_ = _data;
	_g_free0 (_data_->snap_name);
	_g_free0 (_data_->channel);
	_g_object_unref0 (_data_->self);
	g_slice_free (PamacTransactionSnapSwitchChannelAsyncData, _data_);
}

void
pamac_transaction_snap_switch_channel_async (PamacTransaction* self,
                                             const gchar* snap_name,
                                             const gchar* channel,
                                             GAsyncReadyCallback _callback_,
                                             gpointer _user_data_)
{
	PamacTransactionSnapSwitchChannelAsyncData* _data_;
	PamacTransaction* _tmp0_;
	gchar* _tmp1_;
	gchar* _tmp2_;
	g_return_if_fail (self != NULL);
	g_return_if_fail (snap_name != NULL);
	g_return_if_fail (channel != NULL);
	_data_ = g_slice_new0 (PamacTransactionSnapSwitchChannelAsyncData);
	_data_->_async_result = g_task_new (G_OBJECT (self), NULL, _callback_, _user_data_);
	g_task_set_task_data (_data_->_async_result, _data_, pamac_transaction_snap_switch_channel_async_data_free);
	_tmp0_ = _g_object_ref0 (self);
	_data_->self = _tmp0_;
	_tmp1_ = g_strdup (snap_name);
	_g_free0 (_data_->snap_name);
	_data_->snap_name = _tmp1_;
	_tmp2_ = g_strdup (channel);
	_g_free0 (_data_->channel);
	_data_->channel = _tmp2_;
	pamac_transaction_snap_switch_channel_async_co (_data_);
}

gboolean
pamac_transaction_snap_switch_channel_finish (PamacTransaction* self,
                                              GAsyncResult* _res_)
{
	gboolean result;
	PamacTransactionSnapSwitchChannelAsyncData* _data_;
	_data_ = g_task_propagate_pointer (G_TASK (_res_), NULL);
	result = _data_->result;
	return result;
}

static void
pamac_transaction_snap_switch_channel_async_ready (GObject* source_object,
                                                   GAsyncResult* _res_,
                                                   gpointer _user_data_)
{
	PamacTransactionSnapSwitchChannelAsyncData* _data_;
	_data_ = _user_data_;
	_data_->_source_object_ = source_object;
	_data_->_res_ = _res_;
	pamac_transaction_snap_switch_channel_async_co (_data_);
}

static gboolean
pamac_transaction_snap_switch_channel_async_co (PamacTransactionSnapSwitchChannelAsyncData* _data_)
{
	switch (_data_->_state_) {
		case 0:
		goto _state_0;
		case 1:
		goto _state_1;
		default:
		g_assert_not_reached ();
	}
	_state_0:
	_data_->_tmp0_ = _data_->self->priv->config;
	_data_->_tmp1_ = pamac_config_get_enable_snap (_data_->_tmp0_);
	_data_->_tmp2_ = _data_->_tmp1_;
	if (_data_->_tmp2_) {
		{
			_data_->_tmp4_ = _data_->self->priv->transaction_interface;
			_data_->_state_ = 1;
			pamac_transaction_interface_snap_switch_channel (_data_->_tmp4_, _data_->snap_name, _data_->channel, pamac_transaction_snap_switch_channel_async_ready, _data_);
			return FALSE;
			_state_1:
			_data_->_tmp3_ = pamac_transaction_interface_snap_switch_channel_finish (_data_->_tmp4_, _data_->_res_, &_data_->_inner_error0_);
			if (G_UNLIKELY (_data_->_inner_error0_ != NULL)) {
				goto __catch0_g_error;
			}
			_data_->result = _data_->_tmp3_;
			g_task_return_pointer (_data_->_async_result, _data_, NULL);
			if (_data_->_state_ != 0) {
				while (!g_task_get_completed (_data_->_async_result)) {
					g_main_context_iteration (g_task_get_context (_data_->_async_result), TRUE);
				}
			}
			g_object_unref (_data_->_async_result);
			return FALSE;
		}
		goto __finally0;
		__catch0_g_error:
		{
			_data_->e = _data_->_inner_error0_;
			_data_->_inner_error0_ = NULL;
			_data_->_tmp5_ = g_ptr_array_new_full ((guint) 1, _g_free0_);
			_data_->details = _data_->_tmp5_;
			_data_->_tmp6_ = _data_->details;
			_data_->_tmp7_ = _data_->e;
			_data_->_tmp8_ = _data_->_tmp7_->message;
			_data_->_tmp9_ = g_strdup_printf ("snap_switch_channel: %s", _data_->_tmp8_);
			g_ptr_array_add (_data_->_tmp6_, _data_->_tmp9_);
			_data_->_tmp10_ = _data_->details;
			g_signal_emit (_data_->self, pamac_transaction_signals[PAMAC_TRANSACTION_EMIT_ERROR_SIGNAL], 0, "Daemon Error", _data_->_tmp10_);
			_g_ptr_array_unref0 (_data_->details);
			_g_error_free0 (_data_->e);
		}
		__finally0:
		if (G_UNLIKELY (_data_->_inner_error0_ != NULL)) {
			g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _data_->_inner_error0_->message, g_quark_to_string (_data_->_inner_error0_->domain), _data_->_inner_error0_->code);
			g_clear_error (&_data_->_inner_error0_);
			g_object_unref (_data_->_async_result);
			return FALSE;
		}
	} else {
		g_warning ("transaction.vala:1829: snap support disabled");
	}
	_data_->result = FALSE;
	g_task_return_pointer (_data_->_async_result, _data_, NULL);
	if (_data_->_state_ != 0) {
		while (!g_task_get_completed (_data_->_async_result)) {
			g_main_context_iteration (g_task_get_context (_data_->_async_result), TRUE);
		}
	}
	g_object_unref (_data_->_async_result);
	return FALSE;
}

void
pamac_transaction_add_flatpak_to_install (PamacTransaction* self,
                                          PamacFlatpakPackage* pkg)
{
	PamacConfig* _tmp0_;
	gboolean _tmp1_;
	gboolean _tmp2_;
	g_return_if_fail (self != NULL);
	g_return_if_fail (pkg != NULL);
	_tmp0_ = self->priv->config;
	_tmp1_ = pamac_config_get_enable_flatpak (_tmp0_);
	_tmp2_ = _tmp1_;
	if (_tmp2_) {
		GHashTable* _tmp3_;
		const gchar* _tmp4_;
		const gchar* _tmp5_;
		gchar* _tmp6_;
		PamacFlatpakPackage* _tmp7_;
		_tmp3_ = self->priv->flatpak_to_install;
		_tmp4_ = pamac_package_get_id ((PamacPackage*) pkg);
		_tmp5_ = _tmp4_;
		_tmp6_ = g_strdup (_tmp5_);
		_tmp7_ = _g_object_ref0 (pkg);
		g_hash_table_insert (_tmp3_, _tmp6_, _tmp7_);
	} else {
		g_warning ("transaction.vala:1838: flatpak support disabled");
	}
}

void
pamac_transaction_add_flatpak_to_remove (PamacTransaction* self,
                                         PamacFlatpakPackage* pkg)
{
	PamacConfig* _tmp0_;
	gboolean _tmp1_;
	gboolean _tmp2_;
	g_return_if_fail (self != NULL);
	g_return_if_fail (pkg != NULL);
	_tmp0_ = self->priv->config;
	_tmp1_ = pamac_config_get_enable_flatpak (_tmp0_);
	_tmp2_ = _tmp1_;
	if (_tmp2_) {
		GHashTable* _tmp3_;
		const gchar* _tmp4_;
		const gchar* _tmp5_;
		gchar* _tmp6_;
		PamacFlatpakPackage* _tmp7_;
		_tmp3_ = self->priv->flatpak_to_remove;
		_tmp4_ = pamac_package_get_id ((PamacPackage*) pkg);
		_tmp5_ = _tmp4_;
		_tmp6_ = g_strdup (_tmp5_);
		_tmp7_ = _g_object_ref0 (pkg);
		g_hash_table_insert (_tmp3_, _tmp6_, _tmp7_);
	} else {
		g_warning ("transaction.vala:1846: flatpak support disabled");
	}
}

void
pamac_transaction_add_flatpak_to_upgrade (PamacTransaction* self,
                                          PamacFlatpakPackage* pkg)
{
	PamacConfig* _tmp0_;
	gboolean _tmp1_;
	gboolean _tmp2_;
	g_return_if_fail (self != NULL);
	g_return_if_fail (pkg != NULL);
	_tmp0_ = self->priv->config;
	_tmp1_ = pamac_config_get_enable_flatpak (_tmp0_);
	_tmp2_ = _tmp1_;
	if (_tmp2_) {
		GHashTable* _tmp3_;
		const gchar* _tmp4_;
		const gchar* _tmp5_;
		gchar* _tmp6_;
		PamacFlatpakPackage* _tmp7_;
		_tmp3_ = self->priv->flatpak_to_upgrade;
		_tmp4_ = pamac_package_get_id ((PamacPackage*) pkg);
		_tmp5_ = _tmp4_;
		_tmp6_ = g_strdup (_tmp5_);
		_tmp7_ = _g_object_ref0 (pkg);
		g_hash_table_insert (_tmp3_, _tmp6_, _tmp7_);
	} else {
		g_warning ("transaction.vala:1854: flatpak support disabled");
	}
}

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

static void
pamac_transaction_run_flatpak_transaction (PamacTransaction* self,
                                           GAsyncReadyCallback _callback_,
                                           gpointer _user_data_)
{
	PamacTransactionRunFlatpakTransactionData* _data_;
	PamacTransaction* _tmp0_;
	g_return_if_fail (self != NULL);
	_data_ = g_slice_new0 (PamacTransactionRunFlatpakTransactionData);
	_data_->_async_result = g_task_new (G_OBJECT (self), NULL, _callback_, _user_data_);
	g_task_set_task_data (_data_->_async_result, _data_, pamac_transaction_run_flatpak_transaction_data_free);
	_tmp0_ = _g_object_ref0 (self);
	_data_->self = _tmp0_;
	pamac_transaction_run_flatpak_transaction_co (_data_);
}

static gboolean
pamac_transaction_run_flatpak_transaction_finish (PamacTransaction* self,
                                                  GAsyncResult* _res_)
{
	gboolean result;
	PamacTransactionRunFlatpakTransactionData* _data_;
	_data_ = g_task_propagate_pointer (G_TASK (_res_), NULL);
	result = _data_->result;
	return result;
}

static void
pamac_transaction_run_flatpak_transaction_ready (GObject* source_object,
                                                 GAsyncResult* _res_,
                                                 gpointer _user_data_)
{
	PamacTransactionRunFlatpakTransactionData* _data_;
	_data_ = _user_data_;
	_data_->_source_object_ = source_object;
	_data_->_res_ = _res_;
	pamac_transaction_run_flatpak_transaction_co (_data_);
}

static gboolean
pamac_transaction_run_flatpak_transaction_co (PamacTransactionRunFlatpakTransactionData* _data_)
{
	switch (_data_->_state_) {
		case 0:
		goto _state_0;
		case 1:
		goto _state_1;
		default:
		g_assert_not_reached ();
	}
	_state_0:
	_data_->_tmp0_ = _data_->self->priv->flatpak_to_install;
	_data_->_tmp1_ = g_hash_table_size (_data_->_tmp0_);
	_data_->_tmp2_ = _data_->_tmp1_;
	_data_->_tmp3_ = g_ptr_array_new_full (_data_->_tmp2_, _g_free0_);
	_data_->flatpak_to_install_array = _data_->_tmp3_;
	_data_->_tmp4_ = _data_->self->priv->flatpak_to_remove;
	_data_->_tmp5_ = g_hash_table_size (_data_->_tmp4_);
	_data_->_tmp6_ = _data_->_tmp5_;
	_data_->_tmp7_ = g_ptr_array_new_full (_data_->_tmp6_, _g_free0_);
	_data_->flatpak_to_remove_array = _data_->_tmp7_;
	_data_->_tmp8_ = _data_->self->priv->flatpak_to_upgrade;
	_data_->_tmp9_ = g_hash_table_size (_data_->_tmp8_);
	_data_->_tmp10_ = _data_->_tmp9_;
	_data_->_tmp11_ = g_ptr_array_new_full (_data_->_tmp10_, _g_free0_);
	_data_->flatpak_to_upgrade_array = _data_->_tmp11_;
	_data_->_tmp12_ = _data_->self->priv->flatpak_to_install;
	g_hash_table_iter_init (&_data_->iter, _data_->_tmp12_);
	while (TRUE) {
		_data_->_tmp13_ = NULL;
		_data_->_tmp14_ = g_hash_table_iter_next (&_data_->iter, (gpointer*) (&_data_->_tmp13_), (gpointer*) NULL);
		_data_->id = (const gchar*) _data_->_tmp13_;
		if (!_data_->_tmp14_) {
			break;
		}
		_data_->_tmp15_ = _data_->flatpak_to_install_array;
		_data_->_tmp16_ = _data_->id;
		_data_->_tmp17_ = g_strdup (_data_->_tmp16_);
		g_ptr_array_add (_data_->_tmp15_, _data_->_tmp17_);
	}
	_data_->_tmp18_ = _data_->self->priv->flatpak_to_remove;
	g_hash_table_iter_init (&_data_->iter, _data_->_tmp18_);
	while (TRUE) {
		_data_->_tmp19_ = NULL;
		_data_->_tmp20_ = g_hash_table_iter_next (&_data_->iter, (gpointer*) (&_data_->_tmp19_), (gpointer*) NULL);
		_data_->id = (const gchar*) _data_->_tmp19_;
		if (!_data_->_tmp20_) {
			break;
		}
		_data_->_tmp21_ = _data_->flatpak_to_remove_array;
		_data_->_tmp22_ = _data_->id;
		_data_->_tmp23_ = g_strdup (_data_->_tmp22_);
		g_ptr_array_add (_data_->_tmp21_, _data_->_tmp23_);
	}
	_data_->_tmp24_ = _data_->self->priv->flatpak_to_upgrade;
	g_hash_table_iter_init (&_data_->iter, _data_->_tmp24_);
	while (TRUE) {
		_data_->_tmp25_ = NULL;
		_data_->_tmp26_ = g_hash_table_iter_next (&_data_->iter, (gpointer*) (&_data_->_tmp25_), (gpointer*) NULL);
		_data_->id = (const gchar*) _data_->_tmp25_;
		if (!_data_->_tmp26_) {
			break;
		}
		_data_->_tmp27_ = _data_->flatpak_to_upgrade_array;
		_data_->_tmp28_ = _data_->id;
		_data_->_tmp29_ = g_strdup (_data_->_tmp28_);
		g_ptr_array_add (_data_->_tmp27_, _data_->_tmp29_);
	}
	_data_->_tmp30_ = _data_->self->priv->flatpak_to_install;
	g_hash_table_remove_all (_data_->_tmp30_);
	_data_->_tmp31_ = _data_->self->priv->flatpak_to_remove;
	g_hash_table_remove_all (_data_->_tmp31_);
	_data_->_tmp32_ = _data_->self->priv->flatpak_to_upgrade;
	g_hash_table_remove_all (_data_->_tmp32_);
	{
		g_signal_emit (_data_->self, pamac_transaction_signals[PAMAC_TRANSACTION_START_DOWNLOADING_SIGNAL], 0);
		_data_->_tmp33_ = _data_->self->priv->transaction_interface;
		_data_->_tmp34_ = _data_->flatpak_to_install_array;
		_data_->_tmp35_ = _data_->flatpak_to_remove_array;
		_data_->_tmp36_ = _data_->flatpak_to_upgrade_array;
		_data_->_state_ = 1;
		pamac_transaction_interface_flatpak_trans_run (_data_->_tmp33_, _data_->_tmp34_, _data_->_tmp35_, _data_->_tmp36_, pamac_transaction_run_flatpak_transaction_ready, _data_);
		return FALSE;
		_state_1:
		_data_->success = pamac_transaction_interface_flatpak_trans_run_finish (_data_->_tmp33_, _data_->_res_, &_data_->_inner_error0_);
		if (G_UNLIKELY (_data_->_inner_error0_ != NULL)) {
			goto __catch0_g_error;
		}
		g_signal_emit (_data_->self, pamac_transaction_signals[PAMAC_TRANSACTION_STOP_DOWNLOADING_SIGNAL], 0);
		_data_->result = _data_->success;
		_g_ptr_array_unref0 (_data_->flatpak_to_upgrade_array);
		_g_ptr_array_unref0 (_data_->flatpak_to_remove_array);
		_g_ptr_array_unref0 (_data_->flatpak_to_install_array);
		g_task_return_pointer (_data_->_async_result, _data_, NULL);
		if (_data_->_state_ != 0) {
			while (!g_task_get_completed (_data_->_async_result)) {
				g_main_context_iteration (g_task_get_context (_data_->_async_result), TRUE);
			}
		}
		g_object_unref (_data_->_async_result);
		return FALSE;
	}
	goto __finally0;
	__catch0_g_error:
	{
		_data_->e = _data_->_inner_error0_;
		_data_->_inner_error0_ = NULL;
		_data_->_tmp37_ = g_ptr_array_new_full ((guint) 1, _g_free0_);
		_data_->details = _data_->_tmp37_;
		_data_->_tmp38_ = _data_->details;
		_data_->_tmp39_ = _data_->e;
		_data_->_tmp40_ = _data_->_tmp39_->message;
		_data_->_tmp41_ = g_strdup_printf ("flatpak_trans_run: %s", _data_->_tmp40_);
		g_ptr_array_add (_data_->_tmp38_, _data_->_tmp41_);
		_data_->_tmp42_ = _data_->details;
		g_signal_emit (_data_->self, pamac_transaction_signals[PAMAC_TRANSACTION_EMIT_ERROR_SIGNAL], 0, "Daemon Error", _data_->_tmp42_);
		_data_->result = FALSE;
		_g_ptr_array_unref0 (_data_->details);
		_g_error_free0 (_data_->e);
		_g_ptr_array_unref0 (_data_->flatpak_to_upgrade_array);
		_g_ptr_array_unref0 (_data_->flatpak_to_remove_array);
		_g_ptr_array_unref0 (_data_->flatpak_to_install_array);
		g_task_return_pointer (_data_->_async_result, _data_, NULL);
		if (_data_->_state_ != 0) {
			while (!g_task_get_completed (_data_->_async_result)) {
				g_main_context_iteration (g_task_get_context (_data_->_async_result), TRUE);
			}
		}
		g_object_unref (_data_->_async_result);
		return FALSE;
	}
	__finally0:
	_g_ptr_array_unref0 (_data_->flatpak_to_upgrade_array);
	_g_ptr_array_unref0 (_data_->flatpak_to_remove_array);
	_g_ptr_array_unref0 (_data_->flatpak_to_install_array);
	g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _data_->_inner_error0_->message, g_quark_to_string (_data_->_inner_error0_->domain), _data_->_inner_error0_->code);
	g_clear_error (&_data_->_inner_error0_);
	g_object_unref (_data_->_async_result);
	return FALSE;
}

static inline GRegex*
_thread_safe_regex_init (GRegex** re,
                         const gchar * pattern,
                         GRegexCompileFlags compile_flags)
{
	if (g_once_init_enter ((volatile gsize*) re)) {
		GRegex* val = g_regex_new (pattern, compile_flags, 0, NULL);
		g_once_init_leave ((volatile gsize*) re, (gsize) val);
	}
	return *re;
}

static gpointer
_g_regex_ref0 (gpointer self)
{
	return self ? g_regex_ref (self) : NULL;
}

static gchar*
pamac_transaction_remove_bash_colors (PamacTransaction* self,
                                      const gchar* msg)
{
	GRegex* regex = NULL;
	GRegex* _tmp0_;
	GError* _inner_error0_ = NULL;
	gchar* result;
	g_return_val_if_fail (self != NULL, NULL);
	g_return_val_if_fail (msg != NULL, NULL);
	_tmp0_ = _g_regex_ref0 (_thread_safe_regex_init (&_tmp_regex_0, "\\x1B\\[[0-9;]*[JKmsu]", 0));
	regex = _tmp0_;
	{
		gchar* _tmp1_ = NULL;
		gchar* _tmp2_;
		gchar* _tmp3_;
		_tmp2_ = g_regex_replace (regex, msg, (gssize) -1, 0, "", 0, &_inner_error0_);
		_tmp1_ = _tmp2_;
		if (G_UNLIKELY (_inner_error0_ != NULL)) {
			goto __catch0_g_error;
		}
		_tmp3_ = _tmp1_;
		_tmp1_ = NULL;
		result = _tmp3_;
		_g_free0 (_tmp1_);
		_g_regex_unref0 (regex);
		return result;
	}
	goto __finally0;
	__catch0_g_error:
	{
		gchar* _tmp4_;
		g_clear_error (&_inner_error0_);
		_tmp4_ = g_strdup (msg);
		result = _tmp4_;
		_g_regex_unref0 (regex);
		return result;
	}
	__finally0:
	_g_regex_unref0 (regex);
	g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error0_->message, g_quark_to_string (_inner_error0_->domain), _inner_error0_->code);
	g_clear_error (&_inner_error0_);
	return NULL;
}

static void
pamac_transaction_real_run_cmd_line_async_data_free (gpointer _data)
{
	PamacTransactionRunCmdLineAsyncData* _data_;
	_data_ = _data;
	_g_ptr_array_unref0 (_data_->args);
	_g_free0 (_data_->working_directory);
	_g_object_unref0 (_data_->cancellable);
	_g_object_unref0 (_data_->self);
	g_slice_free (PamacTransactionRunCmdLineAsyncData, _data_);
}

static void
pamac_transaction_real_run_cmd_line_async (PamacTransaction* self,
                                           GPtrArray* args,
                                           const gchar* working_directory,
                                           GCancellable* cancellable,
                                           GAsyncReadyCallback _callback_,
                                           gpointer _user_data_)
{
	PamacTransactionRunCmdLineAsyncData* _data_;
	PamacTransaction* _tmp0_;
	GPtrArray* _tmp1_;
	gchar* _tmp2_;
	GCancellable* _tmp3_;
	g_return_if_fail (args != NULL);
	g_return_if_fail (cancellable != NULL);
	_data_ = g_slice_new0 (PamacTransactionRunCmdLineAsyncData);
	_data_->_async_result = g_task_new (G_OBJECT (self), cancellable, _callback_, _user_data_);
	g_task_set_task_data (_data_->_async_result, _data_, pamac_transaction_real_run_cmd_line_async_data_free);
	_tmp0_ = _g_object_ref0 (self);
	_data_->self = _tmp0_;
	_tmp1_ = _g_ptr_array_ref0 (args);
	_g_ptr_array_unref0 (_data_->args);
	_data_->args = _tmp1_;
	_tmp2_ = g_strdup (working_directory);
	_g_free0 (_data_->working_directory);
	_data_->working_directory = _tmp2_;
	_tmp3_ = _g_object_ref0 (cancellable);
	_g_object_unref0 (_data_->cancellable);
	_data_->cancellable = _tmp3_;
	pamac_transaction_real_run_cmd_line_async_co (_data_);
}

static gint
pamac_transaction_real_run_cmd_line_finish (PamacTransaction* self,
                                            GAsyncResult* _res_)
{
	gint result;
	PamacTransactionRunCmdLineAsyncData* _data_;
	_data_ = g_task_propagate_pointer (G_TASK (_res_), NULL);
	if (NULL == _data_) {
		gint _tmp0_ = 0;
		return _tmp0_;
	}
	result = _data_->result;
	return result;
}

static void
pamac_transaction_run_cmd_line_async_ready (GObject* source_object,
                                            GAsyncResult* _res_,
                                            gpointer _user_data_)
{
	PamacTransactionRunCmdLineAsyncData* _data_;
	_data_ = _user_data_;
	_data_->_source_object_ = source_object;
	_data_->_res_ = _res_;
	pamac_transaction_real_run_cmd_line_async_co (_data_);
}

static gboolean
pamac_transaction_real_run_cmd_line_async_co (PamacTransactionRunCmdLineAsyncData* _data_)
{
	switch (_data_->_state_) {
		case 0:
		goto _state_0;
		case 1:
		goto _state_1;
		case 2:
		goto _state_2;
		default:
		g_assert_not_reached ();
	}
	_state_0:
	_data_->status = 1;
	_data_->_tmp0_ = g_subprocess_launcher_new ((G_SUBPROCESS_FLAGS_STDIN_INHERIT | G_SUBPROCESS_FLAGS_STDOUT_PIPE) | G_SUBPROCESS_FLAGS_STDERR_MERGE);
	_data_->launcher = _data_->_tmp0_;
	if (_data_->working_directory != NULL) {
		_data_->_tmp1_ = _data_->launcher;
		g_subprocess_launcher_set_cwd (_data_->_tmp1_, _data_->working_directory);
	}
	_data_->_tmp2_ = _data_->launcher;
	_data_->_tmp4_ = _data_->_tmp3_ = g_get_environ ();
	_data_->_tmp5_ = _data_->_tmp4_;
	_data_->_tmp5__length1 = _vala_array_length (_data_->_tmp3_);
	g_subprocess_launcher_set_environ (_data_->_tmp2_, _data_->_tmp5_);
	_data_->_tmp5_ = (_vala_array_free (_data_->_tmp5_, _data_->_tmp5__length1, (GDestroyNotify) g_free), NULL);
	{
		_data_->_tmp6_ = g_ptr_array_copy (_data_->args, _g_strdup_gcopy_func, NULL);
		_data_->args_copy = _data_->_tmp6_;
		_data_->_tmp7_ = _data_->args_copy;
		_data_->_tmp8_ = _data_->args_copy;
		_data_->_tmp9_ = vala_g_ptr_array_get_length (_data_->_tmp8_);
		_data_->_tmp10_ = _data_->_tmp9_;
		g_ptr_array_set_size (_data_->_tmp7_, _data_->_tmp10_ + 1);
		_data_->_tmp11_ = _data_->launcher;
		_data_->_tmp12_ = _data_->args_copy;
		_data_->_tmp13_ = _data_->_tmp12_->pdata;
		_data_->_tmp13__length1 = _data_->_tmp12_->len;
		_data_->_tmp14_ = g_subprocess_launcher_spawnv (_data_->_tmp11_, _data_->_tmp13_, &_data_->_inner_error0_);
		_data_->process = _data_->_tmp14_;
		if (G_UNLIKELY (_data_->_inner_error0_ != NULL)) {
			_g_ptr_array_unref0 (_data_->args_copy);
			goto __catch0_g_error;
		}
		_data_->_tmp15_ = _data_->process;
		_data_->_tmp16_ = g_subprocess_get_stdout_pipe (_data_->_tmp15_);
		_data_->_tmp17_ = g_data_input_stream_new (_data_->_tmp16_);
		_data_->dis = _data_->_tmp17_;
		while (TRUE) {
			_data_->_tmp19_ = _data_->dis;
			_data_->_state_ = 1;
			g_data_input_stream_read_line_async (_data_->_tmp19_, G_PRIORITY_DEFAULT, NULL, pamac_transaction_run_cmd_line_async_ready, _data_);
			return FALSE;
			_state_1:
			_data_->_tmp20_ = g_data_input_stream_read_line_finish (_data_->_tmp19_, _data_->_res_, NULL, &_data_->_inner_error0_);
			_data_->_tmp18_ = _data_->_tmp20_;
			if (G_UNLIKELY (_data_->_inner_error0_ != NULL)) {
				_g_free0 (_data_->line);
				_g_object_unref0 (_data_->dis);
				_g_object_unref0 (_data_->process);
				_g_ptr_array_unref0 (_data_->args_copy);
				goto __catch0_g_error;
			}
			_data_->_tmp21_ = _data_->_tmp18_;
			_data_->_tmp18_ = NULL;
			_g_free0 (_data_->line);
			_data_->line = _data_->_tmp21_;
			_data_->_tmp22_ = _data_->line;
			if (!(_data_->_tmp22_ != NULL)) {
				_g_free0 (_data_->_tmp18_);
				break;
			}
			if (g_cancellable_is_cancelled (_data_->cancellable)) {
				_g_free0 (_data_->_tmp18_);
				break;
			}
			_data_->_tmp23_ = _data_->line;
			_data_->_tmp24_ = pamac_transaction_remove_bash_colors (_data_->self, _data_->_tmp23_);
			_data_->_tmp25_ = _data_->_tmp24_;
			g_signal_emit (_data_->self, pamac_transaction_signals[PAMAC_TRANSACTION_EMIT_SCRIPT_OUTPUT_SIGNAL], 0, _data_->_tmp25_);
			_g_free0 (_data_->_tmp25_);
			_g_free0 (_data_->_tmp18_);
		}
		if (g_cancellable_is_cancelled (_data_->cancellable)) {
			_data_->_tmp26_ = _data_->process;
			g_subprocess_send_signal (_data_->_tmp26_, (gint) SIGINT);
			_data_->_tmp27_ = _data_->process;
			g_subprocess_send_signal (_data_->_tmp27_, (gint) SIGKILL);
		}
		{
			_data_->_tmp28_ = _data_->process;
			_data_->_state_ = 2;
			g_subprocess_wait_async (_data_->_tmp28_, _data_->cancellable, pamac_transaction_run_cmd_line_async_ready, _data_);
			return FALSE;
			_state_2:
			g_subprocess_wait_finish (_data_->_tmp28_, _data_->_res_, &_data_->_inner_error0_);
			if (G_UNLIKELY (_data_->_inner_error0_ != NULL)) {
				goto __catch1_g_error;
			}
			_data_->_tmp29_ = _data_->process;
			if (g_subprocess_get_if_exited (_data_->_tmp29_)) {
				_data_->_tmp30_ = _data_->process;
				_data_->status = g_subprocess_get_exit_status (_data_->_tmp30_);
			}
		}
		goto __finally1;
		__catch1_g_error:
		{
			g_clear_error (&_data_->_inner_error0_);
			_data_->_tmp31_ = _data_->process;
			g_subprocess_send_signal (_data_->_tmp31_, (gint) SIGINT);
			_data_->_tmp32_ = _data_->process;
			g_subprocess_send_signal (_data_->_tmp32_, (gint) SIGKILL);
		}
		__finally1:
		if (G_UNLIKELY (_data_->_inner_error0_ != NULL)) {
			_g_free0 (_data_->line);
			_g_object_unref0 (_data_->dis);
			_g_object_unref0 (_data_->process);
			_g_ptr_array_unref0 (_data_->args_copy);
			goto __catch0_g_error;
		}
		_g_free0 (_data_->line);
		_g_object_unref0 (_data_->dis);
		_g_object_unref0 (_data_->process);
		_g_ptr_array_unref0 (_data_->args_copy);
	}
	goto __finally0;
	__catch0_g_error:
	{
		_data_->e = _data_->_inner_error0_;
		_data_->_inner_error0_ = NULL;
		_data_->_tmp33_ = _data_->e;
		_data_->_tmp34_ = _data_->_tmp33_->message;
		g_warning ("transaction.vala:1938: %s", _data_->_tmp34_);
		_g_error_free0 (_data_->e);
	}
	__finally0:
	if (G_UNLIKELY (_data_->_inner_error0_ != NULL)) {
		_g_object_unref0 (_data_->launcher);
		g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _data_->_inner_error0_->message, g_quark_to_string (_data_->_inner_error0_->domain), _data_->_inner_error0_->code);
		g_clear_error (&_data_->_inner_error0_);
		g_object_unref (_data_->_async_result);
		return FALSE;
	}
	_data_->result = _data_->status;
	_g_object_unref0 (_data_->launcher);
	g_task_return_pointer (_data_->_async_result, _data_, NULL);
	if (_data_->_state_ != 0) {
		while (!g_task_get_completed (_data_->_async_result)) {
			g_main_context_iteration (g_task_get_context (_data_->_async_result), TRUE);
		}
	}
	g_object_unref (_data_->_async_result);
	return FALSE;
}

void
pamac_transaction_run_cmd_line_async (PamacTransaction* self,
                                      GPtrArray* args,
                                      const gchar* working_directory,
                                      GCancellable* cancellable,
                                      GAsyncReadyCallback _callback_,
                                      gpointer _user_data_)
{
	PamacTransactionClass* _klass_;
	_klass_ = PAMAC_TRANSACTION_GET_CLASS (self);
	if (_klass_->run_cmd_line_async) {
		_klass_->run_cmd_line_async (self, args, working_directory, cancellable, _callback_, _user_data_);
	}
}

gint
pamac_transaction_run_cmd_line_finish (PamacTransaction* self,
                                       GAsyncResult* _res_)
{
	PamacTransactionClass* _klass_;
	_klass_ = PAMAC_TRANSACTION_GET_CLASS (self);
	if (_klass_->run_cmd_line_finish) {
		return _klass_->run_cmd_line_finish (self, _res_);
	}
	return -1;
}

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

static void
pamac_transaction_build_aur_packages (PamacTransaction* self,
                                      GAsyncReadyCallback _callback_,
                                      gpointer _user_data_)
{
	PamacTransactionBuildAurPackagesData* _data_;
	PamacTransaction* _tmp0_;
	g_return_if_fail (self != NULL);
	_data_ = g_slice_new0 (PamacTransactionBuildAurPackagesData);
	_data_->_async_result = g_task_new (G_OBJECT (self), NULL, _callback_, _user_data_);
	g_task_set_task_data (_data_->_async_result, _data_, pamac_transaction_build_aur_packages_data_free);
	_tmp0_ = _g_object_ref0 (self);
	_data_->self = _tmp0_;
	pamac_transaction_build_aur_packages_co (_data_);
}

static gboolean
pamac_transaction_build_aur_packages_finish (PamacTransaction* self,
                                             GAsyncResult* _res_)
{
	gboolean result;
	PamacTransactionBuildAurPackagesData* _data_;
	_data_ = g_task_propagate_pointer (G_TASK (_res_), NULL);
	result = _data_->result;
	return result;
}

static void
pamac_transaction_build_aur_packages_ready (GObject* source_object,
                                            GAsyncResult* _res_,
                                            gpointer _user_data_)
{
	PamacTransactionBuildAurPackagesData* _data_;
	_data_ = _user_data_;
	_data_->_source_object_ = source_object;
	_data_->_res_ = _res_;
	pamac_transaction_build_aur_packages_co (_data_);
}

static gchar*
string_slice (const gchar* self,
              glong start,
              glong end)
{
	glong string_length = 0L;
	gint _tmp0_;
	gint _tmp1_;
	gboolean _tmp2_ = FALSE;
	gboolean _tmp3_ = FALSE;
	gchar* _tmp4_;
	gchar* result;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = strlen (self);
	_tmp1_ = _tmp0_;
	string_length = (glong) _tmp1_;
	if (start < ((glong) 0)) {
		start = string_length + start;
	}
	if (end < ((glong) 0)) {
		end = string_length + end;
	}
	if (start >= ((glong) 0)) {
		_tmp2_ = start <= string_length;
	} else {
		_tmp2_ = FALSE;
	}
	g_return_val_if_fail (_tmp2_, NULL);
	if (end >= ((glong) 0)) {
		_tmp3_ = end <= string_length;
	} else {
		_tmp3_ = FALSE;
	}
	g_return_val_if_fail (_tmp3_, NULL);
	g_return_val_if_fail (start <= end, NULL);
	_tmp4_ = g_strndup (((gchar*) self) + start, (gsize) (end - start));
	result = _tmp4_;
	return result;
}

static gint
string_last_index_of_char (const gchar* self,
                           gunichar c,
                           gint start_index)
{
	gchar* _result_ = NULL;
	gchar* _tmp0_;
	gchar* _tmp1_;
	gint result;
	g_return_val_if_fail (self != NULL, 0);
	_tmp0_ = g_utf8_strrchr (((gchar*) self) + start_index, (gssize) -1, c);
	_result_ = _tmp0_;
	_tmp1_ = _result_;
	if (_tmp1_ != NULL) {
		gchar* _tmp2_;
		_tmp2_ = _result_;
		result = (gint) (_tmp2_ - ((gchar*) self));
		return result;
	} else {
		result = -1;
		return result;
	}
}

static gboolean
pamac_transaction_build_aur_packages_co (PamacTransactionBuildAurPackagesData* _data_)
{
	switch (_data_->_state_) {
		case 0:
		goto _state_0;
		case 1:
		goto _state_1;
		case 2:
		goto _state_2;
		case 3:
		goto _state_3;
		case 4:
		goto _state_4;
		case 5:
		goto _state_5;
		default:
		g_assert_not_reached ();
	}
	_state_0:
	_data_->success = TRUE;
	_data_->aur_db = NULL;
	_data_->_tmp0_ = _data_->self->priv->_database;
	_data_->_tmp1_ = pamac_database_get_tmp_handle (_data_->_tmp0_);
	_data_->tmp_handle = _data_->_tmp1_;
	_data_->_tmp2_ = _data_->tmp_handle;
	if (_data_->_tmp2_ != NULL) {
		{
			_data_->_tmp3_ = g_strdup ("cp");
			_data_->_tmp4_ = _data_->self->priv->tmp_path;
			_data_->_tmp5_ = g_strdup_printf ("%s/pamac_aur.db", _data_->_tmp4_);
			_data_->_tmp6_ = _data_->tmp_handle;
			_data_->_tmp7_ = alpm_option_get_dbpath (_data_->_tmp6_);
			_data_->_tmp8_ = _data_->_tmp7_;
			_data_->_tmp9_ = g_strdup_printf ("%ssync", _data_->_tmp8_);
			_data_->_tmp10_ = g_new0 (gchar*, 3 + 1);
			_data_->_tmp10_[0] = _data_->_tmp3_;
			_data_->_tmp10_[1] = _data_->_tmp5_;
			_data_->_tmp10_[2] = _data_->_tmp9_;
			_data_->_tmp11_ = _data_->_tmp10_;
			_data_->_tmp11__length1 = 3;
			_data_->_tmp12_ = g_subprocess_newv (_data_->_tmp11_, G_SUBPROCESS_FLAGS_NONE, &_data_->_inner_error0_);
			_data_->_tmp13_ = _data_->_tmp12_;
			_data_->_tmp11_ = (_vala_array_free (_data_->_tmp11_, _data_->_tmp11__length1, (GDestroyNotify) g_free), NULL);
			_data_->process = _data_->_tmp13_;
			if (G_UNLIKELY (_data_->_inner_error0_ != NULL)) {
				goto __catch0_g_error;
			}
			_data_->_tmp14_ = _data_->process;
			_data_->_state_ = 1;
			g_subprocess_wait_async (_data_->_tmp14_, NULL, pamac_transaction_build_aur_packages_ready, _data_);
			return FALSE;
			_state_1:
			g_subprocess_wait_finish (_data_->_tmp14_, _data_->_res_, &_data_->_inner_error0_);
			if (G_UNLIKELY (_data_->_inner_error0_ != NULL)) {
				_g_object_unref0 (_data_->process);
				goto __catch0_g_error;
			}
			_data_->_tmp15_ = _data_->tmp_handle;
			_data_->_tmp16_ = alpm_register_syncdb (_data_->_tmp15_, "pamac_aur", 0);
			_data_->aur_db = _data_->_tmp16_;
			_data_->_tmp17_ = _data_->aur_db;
			if (_data_->_tmp17_ == NULL) {
				g_signal_emit (_data_->self, pamac_transaction_signals[PAMAC_TRANSACTION_EMIT_WARNING_SIGNAL], 0, g_dgettext (NULL, "Failed to initialize AUR database"));
			}
			_g_object_unref0 (_data_->process);
		}
		goto __finally0;
		__catch0_g_error:
		{
			_data_->e = _data_->_inner_error0_;
			_data_->_inner_error0_ = NULL;
			_data_->_tmp18_ = _data_->e;
			_data_->_tmp19_ = _data_->_tmp18_->message;
			g_warning ("transaction.vala:1957: %s", _data_->_tmp19_);
			_g_error_free0 (_data_->e);
		}
		__finally0:
		if (G_UNLIKELY (_data_->_inner_error0_ != NULL)) {
			_alpm_release0 (_data_->tmp_handle);
			g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _data_->_inner_error0_->message, g_quark_to_string (_data_->_inner_error0_->domain), _data_->_inner_error0_->code);
			g_clear_error (&_data_->_inner_error0_);
			g_object_unref (_data_->_async_result);
			return FALSE;
		}
	}
	_data_->_tmp20_ = g_str_hash;
	_data_->_tmp21_ = g_str_equal;
	_data_->_tmp22_ = g_hash_table_new_full (_data_->_tmp20_, _data_->_tmp21_, _g_free0_, _g_free0_);
	_data_->built_pkgs = _data_->_tmp22_;
	_data_->_tmp23_ = g_ptr_array_new_full ((guint) 0, _g_free0_);
	_data_->to_install_as_dep_array = _data_->_tmp23_;
	while (TRUE) {
		_data_->_tmp24_ = _data_->self->priv->to_build_queue;
		if (!(_data_->_tmp24_->length > ((guint) 0))) {
			break;
		}
		_data_->_tmp25_ = _data_->self->priv->to_build_queue;
		_data_->_tmp26_ = g_queue_pop_head (_data_->_tmp25_);
		_data_->pkgname = (gchar*) _data_->_tmp26_;
		_data_->_tmp27_ = _data_->self->priv->build_cancellable;
		g_cancellable_reset (_data_->_tmp27_);
		_data_->_tmp28_ = g_ptr_array_new_full ((guint) 0, _g_free0_);
		_data_->built_pkgs_path = _data_->_tmp28_;
		_data_->_tmp29_ = _data_->self->priv->_database;
		_data_->_tmp30_ = pamac_database_get_real_aur_build_dir (_data_->_tmp29_);
		_data_->real_aur_build_dir = _data_->_tmp30_;
		_data_->_tmp31_ = _data_->real_aur_build_dir;
		_data_->_tmp32_ = _data_->pkgname;
		_data_->_tmp33_ = g_build_filename (_data_->_tmp31_, _data_->_tmp32_, NULL);
		_data_->pkgdir = _data_->_tmp33_;
		_data_->as_root = geteuid () == ((uid_t) 0);
		_data_->self->priv->building = TRUE;
		g_signal_emit (_data_->self, pamac_transaction_signals[PAMAC_TRANSACTION_START_BUILDING_SIGNAL], 0);
		_data_->_tmp34_ = g_ptr_array_new_full ((guint) 0, _g_free0_);
		_data_->cmdline = _data_->_tmp34_;
		if (_data_->as_root) {
			_data_->_tmp35_ = _data_->cmdline;
			_data_->_tmp36_ = g_strdup ("systemd-run");
			g_ptr_array_add (_data_->_tmp35_, _data_->_tmp36_);
			_data_->_tmp37_ = _data_->cmdline;
			_data_->_tmp38_ = g_strdup ("--service-type=oneshot");
			g_ptr_array_add (_data_->_tmp37_, _data_->_tmp38_);
			_data_->_tmp39_ = _data_->cmdline;
			_data_->_tmp40_ = g_strdup ("--pipe");
			g_ptr_array_add (_data_->_tmp39_, _data_->_tmp40_);
			_data_->_tmp41_ = _data_->cmdline;
			_data_->_tmp42_ = g_strdup ("--wait");
			g_ptr_array_add (_data_->_tmp41_, _data_->_tmp42_);
			_data_->_tmp43_ = _data_->cmdline;
			_data_->_tmp44_ = g_strdup ("--pty");
			g_ptr_array_add (_data_->_tmp43_, _data_->_tmp44_);
			_data_->_tmp45_ = _data_->cmdline;
			_data_->_tmp46_ = g_strdup ("--property=DynamicUser=yes");
			g_ptr_array_add (_data_->_tmp45_, _data_->_tmp46_);
			_data_->_tmp47_ = _data_->cmdline;
			_data_->_tmp48_ = g_strdup ("--property=CacheDirectory=pamac");
			g_ptr_array_add (_data_->_tmp47_, _data_->_tmp48_);
			_data_->_tmp49_ = _data_->cmdline;
			_data_->_tmp50_ = _data_->pkgname;
			_data_->_tmp51_ = g_strdup_printf ("--property=WorkingDirectory=/var/cache/pamac/%s", _data_->_tmp50_);
			g_ptr_array_add (_data_->_tmp49_, _data_->_tmp51_);
		}
		_data_->_tmp52_ = _data_->cmdline;
		_data_->_tmp53_ = g_strdup ("makepkg");
		g_ptr_array_add (_data_->_tmp52_, _data_->_tmp53_);
		_data_->_tmp54_ = _data_->cmdline;
		_data_->_tmp55_ = g_strdup ("-cCf");
		g_ptr_array_add (_data_->_tmp54_, _data_->_tmp55_);
		_data_->_tmp56_ = _data_->cmdline;
		_data_->_tmp57_ = g_strdup ("--nocheck");
		g_ptr_array_add (_data_->_tmp56_, _data_->_tmp57_);
		_data_->_tmp58_ = _data_->self->priv->config;
		_data_->_tmp59_ = pamac_config_get_keep_built_pkgs (_data_->_tmp58_);
		_data_->_tmp60_ = _data_->_tmp59_;
		if (!_data_->_tmp60_) {
			_data_->_tmp61_ = _data_->cmdline;
			_data_->_tmp62_ = g_strdup ("--nosign");
			g_ptr_array_add (_data_->_tmp61_, _data_->_tmp62_);
			_data_->_tmp63_ = _data_->cmdline;
			_data_->_tmp64_ = _data_->pkgdir;
			_data_->_tmp65_ = g_strdup_printf ("PKGDEST=%s", _data_->_tmp64_);
			g_ptr_array_add (_data_->_tmp63_, _data_->_tmp65_);
			_data_->_tmp66_ = _data_->cmdline;
			_data_->_tmp67_ = g_strdup ("PKGEXT=.pkg.tar");
			g_ptr_array_add (_data_->_tmp66_, _data_->_tmp67_);
		}
		g_signal_emit (_data_->self, pamac_transaction_signals[PAMAC_TRANSACTION_EMIT_SCRIPT_OUTPUT_SIGNAL], 0, "");
		_data_->_tmp68_ = _data_->pkgname;
		_data_->_tmp69_ = g_strdup_printf (g_dgettext (NULL, "Building %s"), _data_->_tmp68_);
		_data_->_tmp70_ = _data_->_tmp69_;
		_data_->_tmp71_ = g_strconcat (_data_->_tmp70_, "...", NULL);
		_data_->_tmp72_ = _data_->_tmp71_;
		g_signal_emit (_data_->self, pamac_transaction_signals[PAMAC_TRANSACTION_EMIT_ACTION_SIGNAL], 0, _data_->_tmp72_);
		_g_free0 (_data_->_tmp72_);
		_g_free0 (_data_->_tmp70_);
		g_signal_emit (_data_->self, pamac_transaction_signals[PAMAC_TRANSACTION_IMPORTANT_DETAILS_OUTPOUT_SIGNAL], 0, FALSE);
		_data_->_tmp73_ = _data_->cmdline;
		_data_->_tmp74_ = _data_->pkgdir;
		_data_->_tmp75_ = _data_->self->priv->build_cancellable;
		_data_->_state_ = 2;
		pamac_transaction_run_cmd_line_async (_data_->self, _data_->_tmp73_, _data_->_tmp74_, _data_->_tmp75_, pamac_transaction_build_aur_packages_ready, _data_);
		return FALSE;
		_state_2:
		_data_->status = pamac_transaction_run_cmd_line_finish (_data_->self, _data_->_res_);
		_data_->_tmp76_ = _data_->self->priv->build_cancellable;
		if (g_cancellable_is_cancelled (_data_->_tmp76_)) {
			_data_->status = 1;
		} else {
			if (_data_->status == 1) {
				_data_->_tmp77_ = _data_->pkgname;
				_data_->_tmp78_ = g_strdup_printf (g_dgettext (NULL, "Failed to build %s"), _data_->_tmp77_);
				_data_->_tmp79_ = _data_->_tmp78_;
				_data_->_tmp80_ = g_ptr_array_new_full ((guint) 0, _g_free0_);
				_data_->_tmp81_ = _data_->_tmp80_;
				g_signal_emit (_data_->self, pamac_transaction_signals[PAMAC_TRANSACTION_EMIT_ERROR_SIGNAL], 0, _data_->_tmp79_, _data_->_tmp81_);
				_g_ptr_array_unref0 (_data_->_tmp81_);
				_g_free0 (_data_->_tmp79_);
			}
		}
		if (_data_->status == 0) {
			_data_->_tmp82_ = g_subprocess_launcher_new (G_SUBPROCESS_FLAGS_STDOUT_PIPE);
			_data_->launcher = _data_->_tmp82_;
			_data_->_tmp83_ = _data_->launcher;
			_data_->_tmp84_ = _data_->pkgdir;
			g_subprocess_launcher_set_cwd (_data_->_tmp83_, _data_->_tmp84_);
			{
				_data_->_tmp85_ = g_ptr_array_new_full ((guint) 0, _g_free0_);
				_g_ptr_array_unref0 (_data_->cmdline);
				_data_->cmdline = _data_->_tmp85_;
				if (_data_->as_root) {
					_data_->_tmp86_ = _data_->cmdline;
					_data_->_tmp87_ = g_strdup ("systemd-run");
					g_ptr_array_add (_data_->_tmp86_, _data_->_tmp87_);
					_data_->_tmp88_ = _data_->cmdline;
					_data_->_tmp89_ = g_strdup ("--service-type=oneshot");
					g_ptr_array_add (_data_->_tmp88_, _data_->_tmp89_);
					_data_->_tmp90_ = _data_->cmdline;
					_data_->_tmp91_ = g_strdup ("--pipe");
					g_ptr_array_add (_data_->_tmp90_, _data_->_tmp91_);
					_data_->_tmp92_ = _data_->cmdline;
					_data_->_tmp93_ = g_strdup ("--wait");
					g_ptr_array_add (_data_->_tmp92_, _data_->_tmp93_);
					_data_->_tmp94_ = _data_->cmdline;
					_data_->_tmp95_ = g_strdup ("--pty");
					g_ptr_array_add (_data_->_tmp94_, _data_->_tmp95_);
					_data_->_tmp96_ = _data_->cmdline;
					_data_->_tmp97_ = g_strdup ("--property=DynamicUser=yes");
					g_ptr_array_add (_data_->_tmp96_, _data_->_tmp97_);
					_data_->_tmp98_ = _data_->cmdline;
					_data_->_tmp99_ = g_strdup ("--property=CacheDirectory=pamac");
					g_ptr_array_add (_data_->_tmp98_, _data_->_tmp99_);
					_data_->_tmp100_ = _data_->cmdline;
					_data_->_tmp101_ = _data_->pkgname;
					_data_->_tmp102_ = g_strdup_printf ("--property=WorkingDirectory=/var/cache/pamac/%s", _data_->_tmp101_);
					g_ptr_array_add (_data_->_tmp100_, _data_->_tmp102_);
				}
				_data_->_tmp103_ = _data_->cmdline;
				_data_->_tmp104_ = g_strdup ("makepkg");
				g_ptr_array_add (_data_->_tmp103_, _data_->_tmp104_);
				_data_->_tmp105_ = _data_->cmdline;
				_data_->_tmp106_ = g_strdup ("--packagelist");
				g_ptr_array_add (_data_->_tmp105_, _data_->_tmp106_);
				_data_->_tmp107_ = _data_->self->priv->config;
				_data_->_tmp108_ = pamac_config_get_keep_built_pkgs (_data_->_tmp107_);
				_data_->_tmp109_ = _data_->_tmp108_;
				if (!_data_->_tmp109_) {
					_data_->_tmp110_ = _data_->cmdline;
					_data_->_tmp111_ = _data_->pkgdir;
					_data_->_tmp112_ = g_strdup_printf ("PKGDEST=%s", _data_->_tmp111_);
					g_ptr_array_add (_data_->_tmp110_, _data_->_tmp112_);
					_data_->_tmp113_ = _data_->cmdline;
					_data_->_tmp114_ = g_strdup ("PKGEXT=.pkg.tar");
					g_ptr_array_add (_data_->_tmp113_, _data_->_tmp114_);
				}
				_data_->_tmp115_ = _data_->cmdline;
				_data_->_tmp116_ = _data_->cmdline;
				_data_->_tmp117_ = vala_g_ptr_array_get_length (_data_->_tmp116_);
				_data_->_tmp118_ = _data_->_tmp117_;
				g_ptr_array_set_size (_data_->_tmp115_, _data_->_tmp118_ + 1);
				_data_->_tmp119_ = _data_->launcher;
				_data_->_tmp120_ = _data_->cmdline;
				_data_->_tmp121_ = _data_->_tmp120_->pdata;
				_data_->_tmp121__length1 = _data_->_tmp120_->len;
				_data_->_tmp122_ = g_subprocess_launcher_spawnv (_data_->_tmp119_, _data_->_tmp121_, &_data_->_inner_error0_);
				_data_->_vala1_process = _data_->_tmp122_;
				if (G_UNLIKELY (_data_->_inner_error0_ != NULL)) {
					goto __catch1_g_error;
				}
				_data_->_tmp123_ = _data_->_vala1_process;
				_data_->_state_ = 3;
				g_subprocess_wait_async (_data_->_tmp123_, NULL, pamac_transaction_build_aur_packages_ready, _data_);
				return FALSE;
				_state_3:
				g_subprocess_wait_finish (_data_->_tmp123_, _data_->_res_, &_data_->_inner_error0_);
				if (G_UNLIKELY (_data_->_inner_error0_ != NULL)) {
					_g_object_unref0 (_data_->_vala1_process);
					goto __catch1_g_error;
				}
				_data_->_tmp124_ = _data_->_vala1_process;
				if (g_subprocess_get_if_exited (_data_->_tmp124_)) {
					_data_->_tmp125_ = _data_->_vala1_process;
					_data_->status = g_subprocess_get_exit_status (_data_->_tmp125_);
				}
				if (_data_->status == 0) {
					_data_->_tmp126_ = _data_->_vala1_process;
					_data_->_tmp127_ = g_subprocess_get_stdout_pipe (_data_->_tmp126_);
					_data_->_tmp128_ = g_data_input_stream_new (_data_->_tmp127_);
					_data_->dis = _data_->_tmp128_;
					_data_->line = NULL;
					while (TRUE) {
						_data_->_tmp130_ = _data_->dis;
						_data_->_state_ = 4;
						g_data_input_stream_read_line_async (_data_->_tmp130_, G_PRIORITY_DEFAULT, NULL, pamac_transaction_build_aur_packages_ready, _data_);
						return FALSE;
						_state_4:
						_data_->_tmp131_ = g_data_input_stream_read_line_finish (_data_->_tmp130_, _data_->_res_, NULL, &_data_->_inner_error0_);
						_data_->_tmp129_ = _data_->_tmp131_;
						if (G_UNLIKELY (_data_->_inner_error0_ != NULL)) {
							_g_free0 (_data_->line);
							_g_object_unref0 (_data_->dis);
							_g_object_unref0 (_data_->_vala1_process);
							goto __catch1_g_error;
						}
						_data_->_tmp132_ = _data_->_tmp129_;
						_data_->_tmp129_ = NULL;
						_g_free0 (_data_->line);
						_data_->line = _data_->_tmp132_;
						_data_->_tmp133_ = _data_->line;
						if (!(_data_->_tmp133_ != NULL)) {
							_g_free0 (_data_->_tmp129_);
							break;
						}
						_data_->_tmp134_ = _data_->line;
						_data_->_tmp135_ = g_file_new_for_path (_data_->_tmp134_);
						_data_->file = _data_->_tmp135_;
						_data_->_tmp136_ = _data_->file;
						_data_->_tmp137_ = g_file_get_basename (_data_->_tmp136_);
						_data_->filename = _data_->_tmp137_;
						_data_->_tmp138_ = _data_->filename;
						_data_->_tmp139_ = _data_->filename;
						_data_->_tmp140_ = string_slice (_data_->_tmp138_, (glong) 0, (glong) string_last_index_of_char (_data_->_tmp139_, (gunichar) '-', 0));
						_data_->name_version_release = _data_->_tmp140_;
						_data_->_tmp141_ = _data_->name_version_release;
						if (_data_->_tmp141_ == NULL) {
							_g_free0 (_data_->name_version_release);
							_g_free0 (_data_->filename);
							_g_object_unref0 (_data_->file);
							_g_free0 (_data_->_tmp129_);
							break;
						}
						_data_->_tmp142_ = _data_->name_version_release;
						_data_->_tmp143_ = _data_->name_version_release;
						_data_->_tmp144_ = string_slice (_data_->_tmp142_, (glong) 0, (glong) string_last_index_of_char (_data_->_tmp143_, (gunichar) '-', 0));
						_data_->name_version = _data_->_tmp144_;
						_data_->_tmp145_ = _data_->name_version;
						if (_data_->_tmp145_ == NULL) {
							_g_free0 (_data_->name_version);
							_g_free0 (_data_->name_version_release);
							_g_free0 (_data_->filename);
							_g_object_unref0 (_data_->file);
							_g_free0 (_data_->_tmp129_);
							break;
						}
						_data_->_tmp146_ = _data_->name_version;
						_data_->_tmp147_ = _data_->name_version;
						_data_->_tmp148_ = string_slice (_data_->_tmp146_, (glong) 0, (glong) string_last_index_of_char (_data_->_tmp147_, (gunichar) '-', 0));
						_data_->name = _data_->_tmp148_;
						_data_->_tmp149_ = _data_->name;
						if (_data_->_tmp149_ == NULL) {
							_g_free0 (_data_->name);
							_g_free0 (_data_->name_version);
							_g_free0 (_data_->name_version_release);
							_g_free0 (_data_->filename);
							_g_object_unref0 (_data_->file);
							_g_free0 (_data_->_tmp129_);
							break;
						}
						_data_->_tmp150_ = _data_->self->priv->aur_pkgs_to_install;
						_data_->_tmp151_ = _data_->name;
						if (g_hash_table_contains (_data_->_tmp150_, _data_->_tmp151_)) {
							_data_->_tmp152_ = _data_->built_pkgs_path;
							_data_->_tmp153_ = _data_->line;
							_data_->_tmp154_ = g_strdup (_data_->_tmp153_);
							g_ptr_array_add (_data_->_tmp152_, _data_->_tmp154_);
							_data_->_tmp155_ = _data_->built_pkgs;
							_data_->_tmp156_ = _data_->name;
							_data_->_tmp157_ = g_strdup (_data_->_tmp156_);
							_data_->_tmp158_ = _data_->line;
							_data_->_tmp159_ = g_strdup (_data_->_tmp158_);
							g_hash_table_insert (_data_->_tmp155_, _data_->_tmp157_, _data_->_tmp159_);
							_data_->_tmp160_ = _data_->self->priv->to_build;
							_data_->_tmp161_ = _data_->name;
							if (!g_hash_table_contains (_data_->_tmp160_, _data_->_tmp161_)) {
								_data_->_tmp162_ = _data_->to_install_as_dep_array;
								_data_->_tmp163_ = _data_->name;
								_data_->_tmp164_ = g_strdup (_data_->_tmp163_);
								g_ptr_array_add (_data_->_tmp162_, _data_->_tmp164_);
							}
						}
						_g_free0 (_data_->name);
						_g_free0 (_data_->name_version);
						_g_free0 (_data_->name_version_release);
						_g_free0 (_data_->filename);
						_g_object_unref0 (_data_->file);
						_g_free0 (_data_->_tmp129_);
					}
					_g_free0 (_data_->line);
					_g_object_unref0 (_data_->dis);
				}
				_g_object_unref0 (_data_->_vala1_process);
			}
			goto __finally1;
			__catch1_g_error:
			{
				_data_->_vala1_e = _data_->_inner_error0_;
				_data_->_inner_error0_ = NULL;
				_data_->_tmp165_ = _data_->_vala1_e;
				_data_->_tmp166_ = _data_->_tmp165_->message;
				g_warning ("transaction.vala:2057: %s", _data_->_tmp166_);
				_data_->status = 1;
				_g_error_free0 (_data_->_vala1_e);
			}
			__finally1:
			if (G_UNLIKELY (_data_->_inner_error0_ != NULL)) {
				_g_object_unref0 (_data_->launcher);
				_g_ptr_array_unref0 (_data_->cmdline);
				_g_free0 (_data_->pkgdir);
				_g_ptr_array_unref0 (_data_->built_pkgs_path);
				_g_free0 (_data_->pkgname);
				_g_ptr_array_unref0 (_data_->to_install_as_dep_array);
				_g_hash_table_unref0 (_data_->built_pkgs);
				_alpm_release0 (_data_->tmp_handle);
				g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _data_->_inner_error0_->message, g_quark_to_string (_data_->_inner_error0_->domain), _data_->_inner_error0_->code);
				g_clear_error (&_data_->_inner_error0_);
				g_object_unref (_data_->_async_result);
				return FALSE;
			}
			_g_object_unref0 (_data_->launcher);
		}
		g_signal_emit (_data_->self, pamac_transaction_signals[PAMAC_TRANSACTION_STOP_BUILDING_SIGNAL], 0);
		_data_->self->priv->building = FALSE;
		if (_data_->status == 0) {
			_data_->_tmp168_ = _data_->built_pkgs_path;
			_data_->_tmp169_ = vala_g_ptr_array_get_length (_data_->_tmp168_);
			_data_->_tmp170_ = _data_->_tmp169_;
			_data_->_tmp167_ = _data_->_tmp170_ > 0;
		} else {
			_data_->_tmp167_ = FALSE;
		}
		if (_data_->_tmp167_) {
			_data_->built_pkgs_needed = FALSE;
			_data_->_tmp171_ = _data_->self->priv->to_build_queue;
			if (_data_->_tmp171_->length == ((guint) 0)) {
				_data_->built_pkgs_needed = TRUE;
			} else {
				_data_->_tmp172_ = _data_->aur_db;
				if (_data_->_tmp172_ == NULL) {
					_data_->built_pkgs_needed = TRUE;
				} else {
					_data_->_tmp173_ = _data_->self->priv->to_build_queue;
					_data_->_tmp174_ = g_queue_peek_head (_data_->_tmp173_);
					_data_->next_pkg_name = (const gchar*) _data_->_tmp174_;
					_data_->_tmp175_ = _data_->aur_db;
					_data_->_tmp176_ = _data_->next_pkg_name;
					_data_->_tmp177_ = alpm_db_get_pkg (_data_->_tmp175_, _data_->_tmp176_);
					_data_->next_pkg = _data_->_tmp177_;
					_data_->_tmp178_ = _data_->next_pkg;
					if (_data_->_tmp178_ == NULL) {
						_data_->built_pkgs_needed = TRUE;
					} else {
						_data_->_tmp179_ = _data_->built_pkgs;
						g_hash_table_iter_init (&_data_->iter, _data_->_tmp179_);
						while (TRUE) {
							_data_->_tmp180_ = NULL;
							_data_->_tmp181_ = NULL;
							_data_->_tmp182_ = g_hash_table_iter_next (&_data_->iter, (gpointer*) (&_data_->_tmp180_), (gpointer*) (&_data_->_tmp181_));
							_data_->built_pkg_name = (const gchar*) _data_->_tmp180_;
							_data_->built_pkg_path = (const gchar*) _data_->_tmp181_;
							if (!_data_->_tmp182_) {
								break;
							}
							_data_->_tmp183_ = _data_->aur_db;
							_data_->_tmp184_ = _data_->built_pkg_name;
							_data_->_tmp185_ = alpm_db_get_pkg (_data_->_tmp183_, _data_->_tmp184_);
							_data_->built_pkg = _data_->_tmp185_;
							_data_->_tmp186_ = _data_->built_pkg;
							if (_data_->_tmp186_ == NULL) {
								_data_->built_pkgs_needed = TRUE;
								break;
							}
							_data_->_tmp187_ = _data_->next_pkg;
							_data_->_tmp188_ = alpm_pkg_get_depends (_data_->_tmp187_);
							_data_->_tmp189_ = _data_->_tmp188_;
							_data_->depends = _data_->_tmp189_;
							while (TRUE) {
								_data_->_tmp190_ = _data_->depends;
								if (!(_data_->_tmp190_ != NULL)) {
									break;
								}
								_data_->list = NULL;
								_data_->_tmp191_ = _data_->built_pkg;
								_data_->list = alpm_list_add (_data_->list, _data_->_tmp191_);
								_data_->_tmp192_ = _data_->list;
								_data_->_tmp193_ = _data_->depends;
								_data_->_tmp194_ = _data_->_tmp193_->data;
								_data_->_tmp195_ = alpm_dep_compute_string ((alpm_depend_t*) _data_->_tmp194_);
								_data_->_tmp196_ = _data_->_tmp195_;
								_data_->_tmp197_ = alpm_find_satisfier (_data_->_tmp192_, _data_->_tmp196_);
								_data_->_tmp198_ = _data_->_tmp197_ != NULL;
								_g_free0 (_data_->_tmp196_);
								if (_data_->_tmp198_) {
									_data_->built_pkgs_needed = TRUE;
									_alpm_list_free0 (_data_->list);
									break;
								}
								_data_->depends = alpm_list_next (_data_->depends);
								_alpm_list_free0 (_data_->list);
							}
							if (_data_->built_pkgs_needed) {
								break;
							}
						}
					}
				}
			}
			if (_data_->built_pkgs_needed) {
				_data_->_tmp199_ = g_ptr_array_new_full ((guint) 0, _g_free0_);
				_data_->to_load_array = _data_->_tmp199_;
				_data_->_tmp200_ = _data_->built_pkgs;
				g_hash_table_iter_init (&_data_->_vala1_iter, _data_->_tmp200_);
				while (TRUE) {
					_data_->_tmp201_ = NULL;
					_data_->_tmp202_ = g_hash_table_iter_next (&_data_->_vala1_iter, (gpointer*) NULL, (gpointer*) (&_data_->_tmp201_));
					_data_->_vala1_built_pkg_path = (const gchar*) _data_->_tmp201_;
					if (!_data_->_tmp202_) {
						break;
					}
					_data_->_tmp203_ = _data_->to_load_array;
					_data_->_tmp204_ = _data_->_vala1_built_pkg_path;
					_data_->_tmp205_ = g_strdup (_data_->_tmp204_);
					g_ptr_array_add (_data_->_tmp203_, _data_->_tmp205_);
				}
				_data_->_tmp206_ = _data_->to_load_array;
				_data_->_tmp207_ = _data_->to_install_as_dep_array;
				_data_->_state_ = 5;
				pamac_transaction_install_built_pkgs (_data_->self, _data_->_tmp206_, _data_->_tmp207_, pamac_transaction_build_aur_packages_ready, _data_);
				return FALSE;
				_state_5:
				_data_->success = pamac_transaction_install_built_pkgs_finish (_data_->self, _data_->_res_);
				if (!_data_->success) {
					_g_ptr_array_unref0 (_data_->to_load_array);
					_g_ptr_array_unref0 (_data_->cmdline);
					_g_free0 (_data_->pkgdir);
					_g_ptr_array_unref0 (_data_->built_pkgs_path);
					_g_free0 (_data_->pkgname);
					break;
				}
				_data_->_tmp208_ = _data_->built_pkgs;
				g_hash_table_remove_all (_data_->_tmp208_);
				_data_->_tmp209_ = g_ptr_array_new_full ((guint) 0, _g_free0_);
				_g_ptr_array_unref0 (_data_->to_install_as_dep_array);
				_data_->to_install_as_dep_array = _data_->_tmp209_;
				_g_ptr_array_unref0 (_data_->to_load_array);
			}
		} else {
			g_signal_emit (_data_->self, pamac_transaction_signals[PAMAC_TRANSACTION_IMPORTANT_DETAILS_OUTPOUT_SIGNAL], 0, TRUE);
			_data_->_tmp210_ = _data_->self->priv->to_build_queue;
			g_queue_clear (_data_->_tmp210_);
			_data_->success = FALSE;
			_g_ptr_array_unref0 (_data_->cmdline);
			_g_free0 (_data_->pkgdir);
			_g_ptr_array_unref0 (_data_->built_pkgs_path);
			_g_free0 (_data_->pkgname);
			break;
		}
		_g_ptr_array_unref0 (_data_->cmdline);
		_g_free0 (_data_->pkgdir);
		_g_ptr_array_unref0 (_data_->built_pkgs_path);
		_g_free0 (_data_->pkgname);
	}
	{
		_data_->_tmp211_ = g_strdup ("rm");
		_data_->_tmp212_ = g_strdup ("-f");
		_data_->_tmp213_ = _data_->self->priv->tmp_path;
		_data_->_tmp214_ = g_strdup_printf ("%s/pamac_aur.db", _data_->_tmp213_);
		_data_->_tmp215_ = _data_->tmp_handle;
		_data_->_tmp216_ = alpm_option_get_dbpath (_data_->_tmp215_);
		_data_->_tmp217_ = _data_->_tmp216_;
		_data_->_tmp218_ = g_strdup_printf ("%ssync/pamac_aur.db", _data_->_tmp217_);
		_data_->_tmp219_ = g_new0 (gchar*, 4 + 1);
		_data_->_tmp219_[0] = _data_->_tmp211_;
		_data_->_tmp219_[1] = _data_->_tmp212_;
		_data_->_tmp219_[2] = _data_->_tmp214_;
		_data_->_tmp219_[3] = _data_->_tmp218_;
		_data_->_tmp220_ = _data_->_tmp219_;
		_data_->_tmp220__length1 = 4;
		_data_->_tmp221_ = g_subprocess_newv (_data_->_tmp220_, G_SUBPROCESS_FLAGS_NONE, &_data_->_inner_error0_);
		_data_->_tmp222_ = _data_->_tmp221_;
		_g_object_unref0 (_data_->_tmp222_);
		_data_->_tmp220_ = (_vala_array_free (_data_->_tmp220_, _data_->_tmp220__length1, (GDestroyNotify) g_free), NULL);
		if (G_UNLIKELY (_data_->_inner_error0_ != NULL)) {
			goto __catch2_g_error;
		}
	}
	goto __finally2;
	__catch2_g_error:
	{
		_data_->_vala2_e = _data_->_inner_error0_;
		_data_->_inner_error0_ = NULL;
		_data_->_tmp223_ = _data_->_vala2_e;
		_data_->_tmp224_ = _data_->_tmp223_->message;
		g_warning ("transaction.vala:2131: %s", _data_->_tmp224_);
		_g_error_free0 (_data_->_vala2_e);
	}
	__finally2:
	if (G_UNLIKELY (_data_->_inner_error0_ != NULL)) {
		_g_ptr_array_unref0 (_data_->to_install_as_dep_array);
		_g_hash_table_unref0 (_data_->built_pkgs);
		_alpm_release0 (_data_->tmp_handle);
		g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _data_->_inner_error0_->message, g_quark_to_string (_data_->_inner_error0_->domain), _data_->_inner_error0_->code);
		g_clear_error (&_data_->_inner_error0_);
		g_object_unref (_data_->_async_result);
		return FALSE;
	}
	_data_->result = _data_->success;
	_g_ptr_array_unref0 (_data_->to_install_as_dep_array);
	_g_hash_table_unref0 (_data_->built_pkgs);
	_alpm_release0 (_data_->tmp_handle);
	g_task_return_pointer (_data_->_async_result, _data_, NULL);
	if (_data_->_state_ != 0) {
		while (!g_task_get_completed (_data_->_async_result)) {
			g_main_context_iteration (g_task_get_context (_data_->_async_result), TRUE);
		}
	}
	g_object_unref (_data_->_async_result);
	return FALSE;
}

static void
pamac_transaction_install_built_pkgs_data_free (gpointer _data)
{
	PamacTransactionInstallBuiltPkgsData* _data_;
	_data_ = _data;
	_g_ptr_array_unref0 (_data_->to_load_array);
	_g_ptr_array_unref0 (_data_->to_install_as_dep_array);
	_g_object_unref0 (_data_->self);
	g_slice_free (PamacTransactionInstallBuiltPkgsData, _data_);
}

static void
pamac_transaction_install_built_pkgs (PamacTransaction* self,
                                      GPtrArray* to_load_array,
                                      GPtrArray* to_install_as_dep_array,
                                      GAsyncReadyCallback _callback_,
                                      gpointer _user_data_)
{
	PamacTransactionInstallBuiltPkgsData* _data_;
	PamacTransaction* _tmp0_;
	GPtrArray* _tmp1_;
	GPtrArray* _tmp2_;
	g_return_if_fail (self != NULL);
	g_return_if_fail (to_load_array != NULL);
	g_return_if_fail (to_install_as_dep_array != NULL);
	_data_ = g_slice_new0 (PamacTransactionInstallBuiltPkgsData);
	_data_->_async_result = g_task_new (G_OBJECT (self), NULL, _callback_, _user_data_);
	g_task_set_task_data (_data_->_async_result, _data_, pamac_transaction_install_built_pkgs_data_free);
	_tmp0_ = _g_object_ref0 (self);
	_data_->self = _tmp0_;
	_tmp1_ = _g_ptr_array_ref0 (to_load_array);
	_g_ptr_array_unref0 (_data_->to_load_array);
	_data_->to_load_array = _tmp1_;
	_tmp2_ = _g_ptr_array_ref0 (to_install_as_dep_array);
	_g_ptr_array_unref0 (_data_->to_install_as_dep_array);
	_data_->to_install_as_dep_array = _tmp2_;
	pamac_transaction_install_built_pkgs_co (_data_);
}

static gboolean
pamac_transaction_install_built_pkgs_finish (PamacTransaction* self,
                                             GAsyncResult* _res_)
{
	gboolean result;
	PamacTransactionInstallBuiltPkgsData* _data_;
	_data_ = g_task_propagate_pointer (G_TASK (_res_), NULL);
	result = _data_->result;
	return result;
}

static void
pamac_transaction_install_built_pkgs_ready (GObject* source_object,
                                            GAsyncResult* _res_,
                                            gpointer _user_data_)
{
	PamacTransactionInstallBuiltPkgsData* _data_;
	_data_ = _user_data_;
	_data_->_source_object_ = source_object;
	_data_->_res_ = _res_;
	pamac_transaction_install_built_pkgs_co (_data_);
}

static gboolean
pamac_transaction_install_built_pkgs_co (PamacTransactionInstallBuiltPkgsData* _data_)
{
	switch (_data_->_state_) {
		case 0:
		goto _state_0;
		case 1:
		goto _state_1;
		default:
		g_assert_not_reached ();
	}
	_state_0:
	_data_->success = FALSE;
	{
		g_signal_emit (_data_->self, pamac_transaction_signals[PAMAC_TRANSACTION_EMIT_SCRIPT_OUTPUT_SIGNAL], 0, "");
		_data_->_tmp1_ = _data_->self->priv->transaction_interface;
		_data_->_tmp2_ = _data_->self->priv->config;
		_data_->_tmp3_ = pamac_config_get_keep_built_pkgs (_data_->_tmp2_);
		_data_->_tmp4_ = _data_->_tmp3_;
		_data_->_tmp5_ = g_ptr_array_new_full ((guint) 0, _g_free0_);
		_data_->_tmp6_ = _data_->_tmp5_;
		_data_->_tmp7_ = g_ptr_array_new_full ((guint) 0, _g_free0_);
		_data_->_tmp8_ = _data_->_tmp7_;
		_data_->_tmp9_ = g_ptr_array_new_full ((guint) 0, _g_free0_);
		_data_->_tmp10_ = _data_->_tmp9_;
		_data_->_tmp11_ = g_ptr_array_new_full ((guint) 0, _g_free0_);
		_data_->_tmp12_ = _data_->_tmp11_;
		_data_->_tmp13_ = g_ptr_array_new_full ((guint) 0, _g_free0_);
		_data_->_tmp14_ = _data_->_tmp13_;
		_data_->_state_ = 1;
		pamac_transaction_interface_trans_run (_data_->_tmp1_, FALSE, FALSE, FALSE, _data_->_tmp4_, 0, _data_->_tmp6_, _data_->_tmp8_, _data_->to_load_array, _data_->_tmp10_, _data_->to_install_as_dep_array, _data_->_tmp12_, _data_->_tmp14_, pamac_transaction_install_built_pkgs_ready, _data_);
		return FALSE;
		_state_1:
		_data_->_tmp15_ = pamac_transaction_interface_trans_run_finish (_data_->_tmp1_, _data_->_res_, &_data_->_inner_error0_);
		_g_ptr_array_unref0 (_data_->_tmp14_);
		_g_ptr_array_unref0 (_data_->_tmp12_);
		_g_ptr_array_unref0 (_data_->_tmp10_);
		_g_ptr_array_unref0 (_data_->_tmp8_);
		_g_ptr_array_unref0 (_data_->_tmp6_);
		_data_->_tmp0_ = _data_->_tmp15_;
		if (G_UNLIKELY (_data_->_inner_error0_ != NULL)) {
			goto __catch0_g_error;
		}
		_data_->success = _data_->_tmp0_;
	}
	goto __finally0;
	__catch0_g_error:
	{
		_data_->e = _data_->_inner_error0_;
		_data_->_inner_error0_ = NULL;
		_data_->_tmp16_ = g_ptr_array_new_full ((guint) 1, _g_free0_);
		_data_->details = _data_->_tmp16_;
		_data_->_tmp17_ = _data_->details;
		_data_->_tmp18_ = _data_->e;
		_data_->_tmp19_ = _data_->_tmp18_->message;
		_data_->_tmp20_ = g_strdup_printf ("trans_run: %s", _data_->_tmp19_);
		g_ptr_array_add (_data_->_tmp17_, _data_->_tmp20_);
		_data_->_tmp21_ = _data_->details;
		g_signal_emit (_data_->self, pamac_transaction_signals[PAMAC_TRANSACTION_EMIT_ERROR_SIGNAL], 0, "Daemon Error", _data_->_tmp21_);
		_data_->success = FALSE;
		_g_ptr_array_unref0 (_data_->details);
		_g_error_free0 (_data_->e);
	}
	__finally0:
	if (G_UNLIKELY (_data_->_inner_error0_ != NULL)) {
		g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _data_->_inner_error0_->message, g_quark_to_string (_data_->_inner_error0_->domain), _data_->_inner_error0_->code);
		g_clear_error (&_data_->_inner_error0_);
		g_object_unref (_data_->_async_result);
		return FALSE;
	}
	_data_->result = _data_->success;
	g_task_return_pointer (_data_->_async_result, _data_, NULL);
	if (_data_->_state_ != 0) {
		while (!g_task_get_completed (_data_->_async_result)) {
			g_main_context_iteration (g_task_get_context (_data_->_async_result), TRUE);
		}
	}
	g_object_unref (_data_->_async_result);
	return FALSE;
}

void
pamac_transaction_cancel (PamacTransaction* self)
{
	GError* _inner_error0_ = NULL;
	g_return_if_fail (self != NULL);
	if (self->priv->building) {
		GCancellable* _tmp0_;
		_tmp0_ = self->priv->build_cancellable;
		g_cancellable_cancel (_tmp0_);
	} else {
		if (self->priv->waiting) {
			self->priv->waiting = FALSE;
		} else {
			{
				PamacTransactionInterface* _tmp1_;
				_tmp1_ = self->priv->transaction_interface;
				pamac_transaction_interface_trans_cancel (_tmp1_, &_inner_error0_);
				if (G_UNLIKELY (_inner_error0_ != NULL)) {
					goto __catch0_g_error;
				}
			}
			goto __finally0;
			__catch0_g_error:
			{
				GError* e = NULL;
				GPtrArray* details = NULL;
				GPtrArray* _tmp2_;
				GPtrArray* _tmp3_;
				GError* _tmp4_;
				const gchar* _tmp5_;
				gchar* _tmp6_;
				GPtrArray* _tmp7_;
				e = _inner_error0_;
				_inner_error0_ = NULL;
				_tmp2_ = g_ptr_array_new_full ((guint) 1, _g_free0_);
				details = _tmp2_;
				_tmp3_ = details;
				_tmp4_ = e;
				_tmp5_ = _tmp4_->message;
				_tmp6_ = g_strdup_printf ("trans_cancel: %s", _tmp5_);
				g_ptr_array_add (_tmp3_, _tmp6_);
				_tmp7_ = details;
				g_signal_emit (self, pamac_transaction_signals[PAMAC_TRANSACTION_EMIT_ERROR_SIGNAL], 0, "Daemon Error", _tmp7_);
				_g_ptr_array_unref0 (details);
				_g_error_free0 (e);
			}
			__finally0:
			if (G_UNLIKELY (_inner_error0_ != NULL)) {
				g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error0_->message, g_quark_to_string (_inner_error0_->domain), _inner_error0_->code);
				g_clear_error (&_inner_error0_);
				return;
			}
		}
	}
}

static Block46Data*
block46_data_ref (Block46Data* _data46_)
{
	g_atomic_int_inc (&_data46_->_ref_count_);
	return _data46_;
}

static void
block46_data_unref (void * _userdata_)
{
	Block46Data* _data46_;
	_data46_ = (Block46Data*) _userdata_;
	if (g_atomic_int_dec_and_test (&_data46_->_ref_count_)) {
		PamacTransaction* self;
		self = _data46_->self;
		_g_main_loop_unref0 (_data46_->loop);
		_g_free0 (_data46_->depend);
		_g_ptr_array_unref0 (_data46_->providers);
		_g_object_unref0 (self);
		g_slice_free (Block46Data, _data46_);
	}
}

static void
__lambda47_ (Block46Data* _data46_,
             GObject* obj,
             GAsyncResult* res)
{
	PamacTransaction* self;
	self = _data46_->self;
	g_return_if_fail (res != NULL);
	_data46_->index = pamac_transaction_choose_provider_finish (self, res);
	g_main_loop_quit (_data46_->loop);
}

static void
___lambda47__gasync_ready_callback (GObject* source_object,
                                    GAsyncResult* res,
                                    gpointer self)
{
	__lambda47_ (self, source_object, res);
	block46_data_unref (self);
}

static gboolean
__lambda46_ (Block46Data* _data46_)
{
	PamacTransaction* self;
	gboolean result;
	self = _data46_->self;
	pamac_transaction_choose_provider (self, _data46_->depend, _data46_->providers, ___lambda47__gasync_ready_callback, block46_data_ref (_data46_));
	result = FALSE;
	return result;
}

static gboolean
___lambda46__gsource_func (gpointer self)
{
	gboolean result;
	result = __lambda46_ (self);
	return result;
}

static gint
pamac_transaction_choose_provider_real (PamacTransaction* self,
                                        const gchar* depend,
                                        GPtrArray* providers)
{
	Block46Data* _data46_;
	gchar* _tmp0_;
	GPtrArray* _tmp1_;
	GMainContext* _tmp2_;
	GMainLoop* _tmp3_;
	GMainContext* _tmp4_;
	gint result;
	g_return_val_if_fail (self != NULL, 0);
	g_return_val_if_fail (depend != NULL, 0);
	g_return_val_if_fail (providers != NULL, 0);
	_data46_ = g_slice_new0 (Block46Data);
	_data46_->_ref_count_ = 1;
	_data46_->self = g_object_ref (self);
	_tmp0_ = g_strdup (depend);
	_g_free0 (_data46_->depend);
	_data46_->depend = _tmp0_;
	_tmp1_ = _g_ptr_array_ref0 (providers);
	_g_ptr_array_unref0 (_data46_->providers);
	_data46_->providers = _tmp1_;
	_data46_->index = 0;
	_tmp2_ = self->priv->context;
	_tmp3_ = g_main_loop_new (_tmp2_, FALSE);
	_data46_->loop = _tmp3_;
	_tmp4_ = self->priv->context;
	g_main_context_invoke_full (_tmp4_, G_PRIORITY_DEFAULT, ___lambda46__gsource_func, block46_data_ref (_data46_), block46_data_unref);
	g_main_loop_run (_data46_->loop);
	result = _data46_->index;
	block46_data_unref (_data46_);
	_data46_ = NULL;
	return result;
}

static void
pamac_transaction_ask_commit_real_data_free (gpointer _data)
{
	PamacTransactionAskCommitRealData* _data_;
	_data_ = _data;
	_g_object_unref0 (_data_->summary);
	_g_object_unref0 (_data_->self);
	g_slice_free (PamacTransactionAskCommitRealData, _data_);
}

static void
pamac_transaction_ask_commit_real (PamacTransaction* self,
                                   PamacTransactionSummary* summary,
                                   GAsyncReadyCallback _callback_,
                                   gpointer _user_data_)
{
	PamacTransactionAskCommitRealData* _data_;
	PamacTransaction* _tmp0_;
	PamacTransactionSummary* _tmp1_;
	g_return_if_fail (self != NULL);
	g_return_if_fail (summary != NULL);
	_data_ = g_slice_new0 (PamacTransactionAskCommitRealData);
	_data_->_async_result = g_task_new (G_OBJECT (self), NULL, _callback_, _user_data_);
	g_task_set_task_data (_data_->_async_result, _data_, pamac_transaction_ask_commit_real_data_free);
	_tmp0_ = _g_object_ref0 (self);
	_data_->self = _tmp0_;
	_tmp1_ = _g_object_ref0 (summary);
	_g_object_unref0 (_data_->summary);
	_data_->summary = _tmp1_;
	pamac_transaction_ask_commit_real_co (_data_);
}

static gboolean
pamac_transaction_ask_commit_real_finish (PamacTransaction* self,
                                          GAsyncResult* _res_)
{
	gboolean result;
	PamacTransactionAskCommitRealData* _data_;
	_data_ = g_task_propagate_pointer (G_TASK (_res_), NULL);
	result = _data_->result;
	return result;
}

static void
pamac_transaction_ask_commit_real_ready (GObject* source_object,
                                         GAsyncResult* _res_,
                                         gpointer _user_data_)
{
	PamacTransactionAskCommitRealData* _data_;
	_data_ = _user_data_;
	_data_->_source_object_ = source_object;
	_data_->_res_ = _res_;
	pamac_transaction_ask_commit_real_co (_data_);
}

static gboolean
pamac_transaction_ask_commit_real_co (PamacTransactionAskCommitRealData* _data_)
{
	switch (_data_->_state_) {
		case 0:
		goto _state_0;
		case 1:
		goto _state_1;
		case 2:
		goto _state_2;
		default:
		g_assert_not_reached ();
	}
	_state_0:
	_data_->_tmp0_ = _data_->self->priv->build_cancellable;
	if (g_cancellable_is_cancelled (_data_->_tmp0_)) {
		_data_->result = FALSE;
		g_task_return_pointer (_data_->_async_result, _data_, NULL);
		if (_data_->_state_ != 0) {
			while (!g_task_get_completed (_data_->_async_result)) {
				g_main_context_iteration (g_task_get_context (_data_->_async_result), TRUE);
			}
		}
		g_object_unref (_data_->_async_result);
		return FALSE;
	} else {
		_data_->_tmp1_ = _data_->self->priv->snap_to_install;
		_data_->_tmp2_ = g_hash_table_size (_data_->_tmp1_);
		_data_->_tmp3_ = _data_->_tmp2_;
		if (_data_->_tmp3_ > ((guint) 0)) {
			_data_->_tmp4_ = _data_->self->priv->snap_to_install;
			g_hash_table_iter_init (&_data_->iter, _data_->_tmp4_);
			_data_->_tmp5_ = g_ptr_array_new_full ((guint) 0, NULL);
			_data_->not_install = _data_->_tmp5_;
			while (TRUE) {
				_data_->_tmp6_ = NULL;
				_data_->_tmp7_ = NULL;
				_data_->_tmp8_ = g_hash_table_iter_next (&_data_->iter, (gpointer*) (&_data_->_tmp6_), (gpointer*) (&_data_->_tmp7_));
				_data_->snap_name = (const gchar*) _data_->_tmp6_;
				_g_object_unref0 (_data_->pkg);
				_data_->_tmp9_ = _g_object_ref0 ((PamacSnapPackage*) _data_->_tmp7_);
				_data_->pkg = _data_->_tmp9_;
				if (!_data_->_tmp8_) {
					break;
				}
				_data_->_tmp10_ = _data_->pkg;
				_data_->_tmp11_ = pamac_snap_package_get_confined (_data_->_tmp10_);
				_data_->_tmp12_ = _data_->_tmp11_;
				if (g_strcmp0 (_data_->_tmp12_, g_dgettext (NULL, "Yes")) != 0) {
					_data_->_tmp13_ = _data_->pkg;
					_data_->_tmp14_ = pamac_package_get_app_name ((PamacPackage*) _data_->_tmp13_);
					_data_->_tmp15_ = _data_->_tmp14_;
					_data_->_state_ = 1;
					pamac_transaction_ask_snap_install_classic (_data_->self, _data_->_tmp15_, pamac_transaction_ask_commit_real_ready, _data_);
					return FALSE;
					_state_1:
					_data_->answser = pamac_transaction_ask_snap_install_classic_finish (_data_->self, _data_->_res_);
					if (!_data_->answser) {
						_data_->_tmp16_ = _data_->not_install;
						_data_->_tmp17_ = _data_->snap_name;
						g_ptr_array_add (_data_->_tmp16_, _data_->_tmp17_);
					}
				}
			}
			_data_->_tmp18_ = _data_->not_install;
			{
				_data_->name_collection = _data_->_tmp18_;
				for (_data_->name_index = 0; _data_->name_index < _data_->name_collection->len; _data_->name_index = _data_->name_index + 1) {
					_data_->name = (const gchar*) g_ptr_array_index (_data_->name_collection, _data_->name_index);
					{
						_data_->_tmp19_ = _data_->self->priv->snap_to_install;
						_data_->_tmp20_ = _data_->name;
						g_hash_table_remove (_data_->_tmp19_, _data_->_tmp20_);
					}
				}
			}
			_g_object_unref0 (_data_->pkg);
			_g_ptr_array_unref0 (_data_->not_install);
		}
		_data_->_tmp21_ = _data_->self->priv->snap_to_install;
		g_hash_table_iter_init (&_data_->snap_iter, _data_->_tmp21_);
		while (TRUE) {
			_data_->_tmp22_ = NULL;
			_data_->_tmp23_ = g_hash_table_iter_next (&_data_->snap_iter, (gpointer*) NULL, (gpointer*) (&_data_->_tmp22_));
			_g_object_unref0 (_data_->snap_pkg);
			_data_->_tmp24_ = _g_object_ref0 ((PamacSnapPackage*) _data_->_tmp22_);
			_data_->snap_pkg = _data_->_tmp24_;
			if (!_data_->_tmp23_) {
				break;
			}
			_data_->_tmp25_ = pamac_transaction_summary_get_to_install (_data_->summary);
			_data_->_tmp26_ = _data_->_tmp25_;
			_data_->_tmp27_ = _data_->snap_pkg;
			_data_->_tmp28_ = _g_object_ref0 ((PamacPackage*) _data_->_tmp27_);
			g_ptr_array_add (_data_->_tmp26_, _data_->_tmp28_);
		}
		_data_->_tmp29_ = _data_->self->priv->snap_to_remove;
		g_hash_table_iter_init (&_data_->snap_iter, _data_->_tmp29_);
		while (TRUE) {
			_data_->_tmp30_ = NULL;
			_data_->_tmp31_ = g_hash_table_iter_next (&_data_->snap_iter, (gpointer*) NULL, (gpointer*) (&_data_->_tmp30_));
			_g_object_unref0 (_data_->snap_pkg);
			_data_->_tmp32_ = _g_object_ref0 ((PamacSnapPackage*) _data_->_tmp30_);
			_data_->snap_pkg = _data_->_tmp32_;
			if (!_data_->_tmp31_) {
				break;
			}
			_data_->_tmp33_ = pamac_transaction_summary_get_to_remove (_data_->summary);
			_data_->_tmp34_ = _data_->_tmp33_;
			_data_->_tmp35_ = _data_->snap_pkg;
			_data_->_tmp36_ = _g_object_ref0 ((PamacPackage*) _data_->_tmp35_);
			g_ptr_array_add (_data_->_tmp34_, _data_->_tmp36_);
		}
		_data_->_tmp37_ = _data_->self->priv->flatpak_to_install;
		g_hash_table_iter_init (&_data_->flatpak_iter, _data_->_tmp37_);
		while (TRUE) {
			_data_->_tmp38_ = NULL;
			_data_->_tmp39_ = g_hash_table_iter_next (&_data_->flatpak_iter, (gpointer*) NULL, (gpointer*) (&_data_->_tmp38_));
			_g_object_unref0 (_data_->flatpak_pkg);
			_data_->_tmp40_ = _g_object_ref0 ((PamacFlatpakPackage*) _data_->_tmp38_);
			_data_->flatpak_pkg = _data_->_tmp40_;
			if (!_data_->_tmp39_) {
				break;
			}
			_data_->_tmp41_ = pamac_transaction_summary_get_to_install (_data_->summary);
			_data_->_tmp42_ = _data_->_tmp41_;
			_data_->_tmp43_ = _data_->flatpak_pkg;
			_data_->_tmp44_ = _g_object_ref0 ((PamacPackage*) _data_->_tmp43_);
			g_ptr_array_add (_data_->_tmp42_, _data_->_tmp44_);
		}
		_data_->_tmp45_ = _data_->self->priv->flatpak_to_remove;
		g_hash_table_iter_init (&_data_->flatpak_iter, _data_->_tmp45_);
		while (TRUE) {
			_data_->_tmp46_ = NULL;
			_data_->_tmp47_ = g_hash_table_iter_next (&_data_->flatpak_iter, (gpointer*) NULL, (gpointer*) (&_data_->_tmp46_));
			_g_object_unref0 (_data_->flatpak_pkg);
			_data_->_tmp48_ = _g_object_ref0 ((PamacFlatpakPackage*) _data_->_tmp46_);
			_data_->flatpak_pkg = _data_->_tmp48_;
			if (!_data_->_tmp47_) {
				break;
			}
			_data_->_tmp49_ = pamac_transaction_summary_get_to_remove (_data_->summary);
			_data_->_tmp50_ = _data_->_tmp49_;
			_data_->_tmp51_ = _data_->flatpak_pkg;
			_data_->_tmp52_ = _g_object_ref0 ((PamacPackage*) _data_->_tmp51_);
			g_ptr_array_add (_data_->_tmp50_, _data_->_tmp52_);
		}
		_data_->_tmp53_ = _data_->self->priv->flatpak_to_upgrade;
		g_hash_table_iter_init (&_data_->flatpak_iter, _data_->_tmp53_);
		while (TRUE) {
			_data_->_tmp54_ = NULL;
			_data_->_tmp55_ = g_hash_table_iter_next (&_data_->flatpak_iter, (gpointer*) NULL, (gpointer*) (&_data_->_tmp54_));
			_g_object_unref0 (_data_->flatpak_pkg);
			_data_->_tmp56_ = _g_object_ref0 ((PamacFlatpakPackage*) _data_->_tmp54_);
			_data_->flatpak_pkg = _data_->_tmp56_;
			if (!_data_->_tmp55_) {
				break;
			}
			_data_->_tmp57_ = pamac_transaction_summary_get_to_upgrade (_data_->summary);
			_data_->_tmp58_ = _data_->_tmp57_;
			_data_->_tmp59_ = _data_->flatpak_pkg;
			_data_->_tmp60_ = _g_object_ref0 ((PamacPackage*) _data_->_tmp59_);
			g_ptr_array_add (_data_->_tmp58_, _data_->_tmp60_);
		}
		_data_->_state_ = 2;
		pamac_transaction_ask_commit (_data_->self, _data_->summary, pamac_transaction_ask_commit_real_ready, _data_);
		return FALSE;
		_state_2:
		_data_->result = pamac_transaction_ask_commit_finish (_data_->self, _data_->_res_);
		_g_object_unref0 (_data_->flatpak_pkg);
		_g_object_unref0 (_data_->snap_pkg);
		g_task_return_pointer (_data_->_async_result, _data_, NULL);
		if (_data_->_state_ != 0) {
			while (!g_task_get_completed (_data_->_async_result)) {
				g_main_context_iteration (g_task_get_context (_data_->_async_result), TRUE);
			}
		}
		g_object_unref (_data_->_async_result);
		return FALSE;
	}
}

static void
pamac_transaction_ask_edit_build_files_real_data_free (gpointer _data)
{
	PamacTransactionAskEditBuildFilesRealData* _data_;
	_data_ = _data;
	_g_object_unref0 (_data_->summary);
	_g_object_unref0 (_data_->self);
	g_slice_free (PamacTransactionAskEditBuildFilesRealData, _data_);
}

static void
pamac_transaction_ask_edit_build_files_real (PamacTransaction* self,
                                             PamacTransactionSummary* summary,
                                             GAsyncReadyCallback _callback_,
                                             gpointer _user_data_)
{
	PamacTransactionAskEditBuildFilesRealData* _data_;
	PamacTransaction* _tmp0_;
	PamacTransactionSummary* _tmp1_;
	g_return_if_fail (self != NULL);
	g_return_if_fail (summary != NULL);
	_data_ = g_slice_new0 (PamacTransactionAskEditBuildFilesRealData);
	_data_->_async_result = g_task_new (G_OBJECT (self), NULL, _callback_, _user_data_);
	g_task_set_task_data (_data_->_async_result, _data_, pamac_transaction_ask_edit_build_files_real_data_free);
	_tmp0_ = _g_object_ref0 (self);
	_data_->self = _tmp0_;
	_tmp1_ = _g_object_ref0 (summary);
	_g_object_unref0 (_data_->summary);
	_data_->summary = _tmp1_;
	pamac_transaction_ask_edit_build_files_real_co (_data_);
}

static gboolean
pamac_transaction_ask_edit_build_files_real_finish (PamacTransaction* self,
                                                    GAsyncResult* _res_)
{
	gboolean result;
	PamacTransactionAskEditBuildFilesRealData* _data_;
	_data_ = g_task_propagate_pointer (G_TASK (_res_), NULL);
	result = _data_->result;
	return result;
}

static void
pamac_transaction_ask_edit_build_files_real_ready (GObject* source_object,
                                                   GAsyncResult* _res_,
                                                   gpointer _user_data_)
{
	PamacTransactionAskEditBuildFilesRealData* _data_;
	_data_ = _user_data_;
	_data_->_source_object_ = source_object;
	_data_->_res_ = _res_;
	pamac_transaction_ask_edit_build_files_real_co (_data_);
}

static gboolean
pamac_transaction_ask_edit_build_files_real_co (PamacTransactionAskEditBuildFilesRealData* _data_)
{
	switch (_data_->_state_) {
		case 0:
		goto _state_0;
		case 1:
		goto _state_1;
		default:
		g_assert_not_reached ();
	}
	_state_0:
	_data_->_tmp0_ = _data_->self->priv->_dry_run;
	if (_data_->_tmp0_) {
		_data_->result = FALSE;
		g_task_return_pointer (_data_->_async_result, _data_, NULL);
		if (_data_->_state_ != 0) {
			while (!g_task_get_completed (_data_->_async_result)) {
				g_main_context_iteration (g_task_get_context (_data_->_async_result), TRUE);
			}
		}
		g_object_unref (_data_->_async_result);
		return FALSE;
	}
	_data_->_tmp1_ = _data_->self->priv->snap_to_install;
	g_hash_table_iter_init (&_data_->iter, _data_->_tmp1_);
	while (TRUE) {
		_data_->_tmp2_ = NULL;
		_data_->_tmp3_ = g_hash_table_iter_next (&_data_->iter, (gpointer*) NULL, (gpointer*) (&_data_->_tmp2_));
		_g_object_unref0 (_data_->pkg);
		_data_->_tmp4_ = _g_object_ref0 ((PamacSnapPackage*) _data_->_tmp2_);
		_data_->pkg = _data_->_tmp4_;
		if (!_data_->_tmp3_) {
			break;
		}
		_data_->_tmp5_ = pamac_transaction_summary_get_to_install (_data_->summary);
		_data_->_tmp6_ = _data_->_tmp5_;
		_data_->_tmp7_ = _data_->pkg;
		_data_->_tmp8_ = _g_object_ref0 ((PamacPackage*) _data_->_tmp7_);
		g_ptr_array_add (_data_->_tmp6_, _data_->_tmp8_);
	}
	_data_->_tmp9_ = _data_->self->priv->snap_to_remove;
	g_hash_table_iter_init (&_data_->iter, _data_->_tmp9_);
	while (TRUE) {
		_data_->_tmp10_ = NULL;
		_data_->_tmp11_ = g_hash_table_iter_next (&_data_->iter, (gpointer*) NULL, (gpointer*) (&_data_->_tmp10_));
		_g_object_unref0 (_data_->pkg);
		_data_->_tmp12_ = _g_object_ref0 ((PamacSnapPackage*) _data_->_tmp10_);
		_data_->pkg = _data_->_tmp12_;
		if (!_data_->_tmp11_) {
			break;
		}
		_data_->_tmp13_ = pamac_transaction_summary_get_to_remove (_data_->summary);
		_data_->_tmp14_ = _data_->_tmp13_;
		_data_->_tmp15_ = _data_->pkg;
		_data_->_tmp16_ = _g_object_ref0 ((PamacPackage*) _data_->_tmp15_);
		g_ptr_array_add (_data_->_tmp14_, _data_->_tmp16_);
	}
	_data_->_state_ = 1;
	pamac_transaction_ask_edit_build_files (_data_->self, _data_->summary, pamac_transaction_ask_edit_build_files_real_ready, _data_);
	return FALSE;
	_state_1:
	_data_->result = pamac_transaction_ask_edit_build_files_finish (_data_->self, _data_->_res_);
	_g_object_unref0 (_data_->pkg);
	g_task_return_pointer (_data_->_async_result, _data_, NULL);
	if (_data_->_state_ != 0) {
		while (!g_task_get_completed (_data_->_async_result)) {
			g_main_context_iteration (g_task_get_context (_data_->_async_result), TRUE);
		}
	}
	g_object_unref (_data_->_async_result);
	return FALSE;
}

static void
pamac_transaction_on_emit_action (PamacTransaction* self,
                                  const gchar* action)
{
	g_return_if_fail (self != NULL);
	g_return_if_fail (action != NULL);
	g_signal_emit (self, pamac_transaction_signals[PAMAC_TRANSACTION_EMIT_ACTION_SIGNAL], 0, action);
}

static void
pamac_transaction_on_emit_action_progress (PamacTransaction* self,
                                           const gchar* action,
                                           const gchar* status,
                                           gdouble progress)
{
	g_return_if_fail (self != NULL);
	g_return_if_fail (action != NULL);
	g_return_if_fail (status != NULL);
	g_signal_emit (self, pamac_transaction_signals[PAMAC_TRANSACTION_EMIT_ACTION_PROGRESS_SIGNAL], 0, action, status, progress);
}

static void
pamac_transaction_on_emit_download_progress (PamacTransaction* self,
                                             const gchar* action,
                                             const gchar* status,
                                             gdouble progress)
{
	g_return_if_fail (self != NULL);
	g_return_if_fail (action != NULL);
	g_return_if_fail (status != NULL);
	g_signal_emit (self, pamac_transaction_signals[PAMAC_TRANSACTION_EMIT_DOWNLOAD_PROGRESS_SIGNAL], 0, action, status, progress);
}

static void
pamac_transaction_on_emit_hook_progress (PamacTransaction* self,
                                         const gchar* action,
                                         const gchar* details,
                                         const gchar* status,
                                         gdouble progress)
{
	g_return_if_fail (self != NULL);
	g_return_if_fail (action != NULL);
	g_return_if_fail (details != NULL);
	g_return_if_fail (status != NULL);
	g_signal_emit (self, pamac_transaction_signals[PAMAC_TRANSACTION_EMIT_HOOK_PROGRESS_SIGNAL], 0, action, details, status, progress);
}

static void
pamac_transaction_on_emit_script_output (PamacTransaction* self,
                                         const gchar* message)
{
	g_return_if_fail (self != NULL);
	g_return_if_fail (message != NULL);
	g_signal_emit (self, pamac_transaction_signals[PAMAC_TRANSACTION_EMIT_SCRIPT_OUTPUT_SIGNAL], 0, message);
}

static void
pamac_transaction_on_emit_warning (PamacTransaction* self,
                                   const gchar* message)
{
	g_return_if_fail (self != NULL);
	g_return_if_fail (message != NULL);
	g_signal_emit (self, pamac_transaction_signals[PAMAC_TRANSACTION_EMIT_WARNING_SIGNAL], 0, message);
}

static void
pamac_transaction_on_emit_error (PamacTransaction* self,
                                 const gchar* message,
                                 GPtrArray* details)
{
	g_return_if_fail (self != NULL);
	g_return_if_fail (message != NULL);
	g_return_if_fail (details != NULL);
	g_signal_emit (self, pamac_transaction_signals[PAMAC_TRANSACTION_EMIT_ERROR_SIGNAL], 0, message, details);
}

static void
pamac_transaction_on_important_details_outpout (PamacTransaction* self,
                                                gboolean must_show)
{
	g_return_if_fail (self != NULL);
	g_signal_emit (self, pamac_transaction_signals[PAMAC_TRANSACTION_IMPORTANT_DETAILS_OUTPOUT_SIGNAL], 0, must_show);
}

static void
pamac_transaction_on_start_downloading (PamacTransaction* self)
{
	g_return_if_fail (self != NULL);
	g_signal_emit (self, pamac_transaction_signals[PAMAC_TRANSACTION_START_DOWNLOADING_SIGNAL], 0);
}

static void
pamac_transaction_on_stop_downloading (PamacTransaction* self)
{
	g_return_if_fail (self != NULL);
	g_signal_emit (self, pamac_transaction_signals[PAMAC_TRANSACTION_STOP_DOWNLOADING_SIGNAL], 0);
}

static void
pamac_transaction_on_start_waiting (PamacTransaction* self)
{
	g_return_if_fail (self != NULL);
	g_signal_emit (self, pamac_transaction_signals[PAMAC_TRANSACTION_START_WAITING_SIGNAL], 0);
}

static void
pamac_transaction_on_stop_waiting (PamacTransaction* self)
{
	g_return_if_fail (self != NULL);
	g_signal_emit (self, pamac_transaction_signals[PAMAC_TRANSACTION_STOP_WAITING_SIGNAL], 0);
}

static void
_pamac_transaction_on_emit_action_pamac_transaction_interface_emit_action (PamacTransactionInterface* _sender,
                                                                           const gchar* action,
                                                                           gpointer self)
{
	pamac_transaction_on_emit_action ((PamacTransaction*) self, action);
}

static void
_pamac_transaction_on_emit_action_progress_pamac_transaction_interface_emit_action_progress (PamacTransactionInterface* _sender,
                                                                                             const gchar* action,
                                                                                             const gchar* status,
                                                                                             gdouble progress,
                                                                                             gpointer self)
{
	pamac_transaction_on_emit_action_progress ((PamacTransaction*) self, action, status, progress);
}

static void
_pamac_transaction_on_emit_download_progress_pamac_transaction_interface_emit_download_progress (PamacTransactionInterface* _sender,
                                                                                                 const gchar* action,
                                                                                                 const gchar* status,
                                                                                                 gdouble progress,
                                                                                                 gpointer self)
{
	pamac_transaction_on_emit_download_progress ((PamacTransaction*) self, action, status, progress);
}

static void
_pamac_transaction_on_emit_hook_progress_pamac_transaction_interface_emit_hook_progress (PamacTransactionInterface* _sender,
                                                                                         const gchar* action,
                                                                                         const gchar* details,
                                                                                         const gchar* status,
                                                                                         gdouble progress,
                                                                                         gpointer self)
{
	pamac_transaction_on_emit_hook_progress ((PamacTransaction*) self, action, details, status, progress);
}

static void
_pamac_transaction_on_emit_script_output_pamac_transaction_interface_emit_script_output (PamacTransactionInterface* _sender,
                                                                                         const gchar* message,
                                                                                         gpointer self)
{
	pamac_transaction_on_emit_script_output ((PamacTransaction*) self, message);
}

static void
_pamac_transaction_on_emit_warning_pamac_transaction_interface_emit_warning (PamacTransactionInterface* _sender,
                                                                             const gchar* message,
                                                                             gpointer self)
{
	pamac_transaction_on_emit_warning ((PamacTransaction*) self, message);
}

static void
_pamac_transaction_on_emit_error_pamac_transaction_interface_emit_error (PamacTransactionInterface* _sender,
                                                                         const gchar* message,
                                                                         GPtrArray* details,
                                                                         gpointer self)
{
	pamac_transaction_on_emit_error ((PamacTransaction*) self, message, details);
}

static void
_pamac_transaction_on_important_details_outpout_pamac_transaction_interface_important_details_outpout (PamacTransactionInterface* _sender,
                                                                                                       gboolean must_show,
                                                                                                       gpointer self)
{
	pamac_transaction_on_important_details_outpout ((PamacTransaction*) self, must_show);
}

static void
_pamac_transaction_on_start_downloading_pamac_transaction_interface_start_downloading (PamacTransactionInterface* _sender,
                                                                                       gpointer self)
{
	pamac_transaction_on_start_downloading ((PamacTransaction*) self);
}

static void
_pamac_transaction_on_stop_downloading_pamac_transaction_interface_stop_downloading (PamacTransactionInterface* _sender,
                                                                                     gpointer self)
{
	pamac_transaction_on_stop_downloading ((PamacTransaction*) self);
}

static void
_pamac_transaction_on_start_waiting_pamac_transaction_interface_start_waiting (PamacTransactionInterface* _sender,
                                                                               gpointer self)
{
	pamac_transaction_on_start_waiting ((PamacTransaction*) self);
}

static void
_pamac_transaction_on_stop_waiting_pamac_transaction_interface_stop_waiting (PamacTransactionInterface* _sender,
                                                                             gpointer self)
{
	pamac_transaction_on_stop_waiting ((PamacTransaction*) self);
}

static void
pamac_transaction_connecting_signals (PamacTransaction* self)
{
	PamacTransactionInterface* _tmp0_;
	PamacTransactionInterface* _tmp1_;
	PamacTransactionInterface* _tmp2_;
	PamacTransactionInterface* _tmp3_;
	PamacTransactionInterface* _tmp4_;
	PamacTransactionInterface* _tmp5_;
	PamacTransactionInterface* _tmp6_;
	PamacTransactionInterface* _tmp7_;
	PamacTransactionInterface* _tmp8_;
	PamacTransactionInterface* _tmp9_;
	PamacTransactionInterface* _tmp10_;
	PamacTransactionInterface* _tmp11_;
	g_return_if_fail (self != NULL);
	_tmp0_ = self->priv->transaction_interface;
	g_signal_connect_object (_tmp0_, "emit-action", (GCallback) _pamac_transaction_on_emit_action_pamac_transaction_interface_emit_action, self, 0);
	_tmp1_ = self->priv->transaction_interface;
	g_signal_connect_object (_tmp1_, "emit-action-progress", (GCallback) _pamac_transaction_on_emit_action_progress_pamac_transaction_interface_emit_action_progress, self, 0);
	_tmp2_ = self->priv->transaction_interface;
	g_signal_connect_object (_tmp2_, "emit-download-progress", (GCallback) _pamac_transaction_on_emit_download_progress_pamac_transaction_interface_emit_download_progress, self, 0);
	_tmp3_ = self->priv->transaction_interface;
	g_signal_connect_object (_tmp3_, "emit-hook-progress", (GCallback) _pamac_transaction_on_emit_hook_progress_pamac_transaction_interface_emit_hook_progress, self, 0);
	_tmp4_ = self->priv->transaction_interface;
	g_signal_connect_object (_tmp4_, "emit-script-output", (GCallback) _pamac_transaction_on_emit_script_output_pamac_transaction_interface_emit_script_output, self, 0);
	_tmp5_ = self->priv->transaction_interface;
	g_signal_connect_object (_tmp5_, "emit-warning", (GCallback) _pamac_transaction_on_emit_warning_pamac_transaction_interface_emit_warning, self, 0);
	_tmp6_ = self->priv->transaction_interface;
	g_signal_connect_object (_tmp6_, "emit-error", (GCallback) _pamac_transaction_on_emit_error_pamac_transaction_interface_emit_error, self, 0);
	_tmp7_ = self->priv->transaction_interface;
	g_signal_connect_object (_tmp7_, "important-details-outpout", (GCallback) _pamac_transaction_on_important_details_outpout_pamac_transaction_interface_important_details_outpout, self, 0);
	_tmp8_ = self->priv->transaction_interface;
	g_signal_connect_object (_tmp8_, "start-downloading", (GCallback) _pamac_transaction_on_start_downloading_pamac_transaction_interface_start_downloading, self, 0);
	_tmp9_ = self->priv->transaction_interface;
	g_signal_connect_object (_tmp9_, "stop-downloading", (GCallback) _pamac_transaction_on_stop_downloading_pamac_transaction_interface_stop_downloading, self, 0);
	_tmp10_ = self->priv->transaction_interface;
	g_signal_connect_object (_tmp10_, "start-waiting", (GCallback) _pamac_transaction_on_start_waiting_pamac_transaction_interface_start_waiting, self, 0);
	_tmp11_ = self->priv->transaction_interface;
	g_signal_connect_object (_tmp11_, "stop-waiting", (GCallback) _pamac_transaction_on_stop_waiting_pamac_transaction_interface_stop_waiting, self, 0);
}

PamacDatabase*
pamac_transaction_get_database (PamacTransaction* self)
{
	PamacDatabase* result;
	PamacDatabase* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_database;
	result = _tmp0_;
	return result;
}

void
pamac_transaction_set_database (PamacTransaction* self,
                                PamacDatabase* value)
{
	PamacDatabase* old_value;
	g_return_if_fail (self != NULL);
	old_value = pamac_transaction_get_database (self);
	if (old_value != value) {
		PamacDatabase* _tmp0_;
		_tmp0_ = _g_object_ref0 (value);
		_g_object_unref0 (self->priv->_database);
		self->priv->_database = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, pamac_transaction_properties[PAMAC_TRANSACTION_DATABASE_PROPERTY]);
	}
}

gboolean
pamac_transaction_get_download_only (PamacTransaction* self)
{
	gboolean result;
	g_return_val_if_fail (self != NULL, FALSE);
	result = self->priv->_download_only;
	return result;
}

void
pamac_transaction_set_download_only (PamacTransaction* self,
                                     gboolean value)
{
	gboolean old_value;
	g_return_if_fail (self != NULL);
	old_value = pamac_transaction_get_download_only (self);
	if (old_value != value) {
		self->priv->_download_only = value;
		g_object_notify_by_pspec ((GObject *) self, pamac_transaction_properties[PAMAC_TRANSACTION_DOWNLOAD_ONLY_PROPERTY]);
	}
}

gboolean
pamac_transaction_get_dry_run (PamacTransaction* self)
{
	gboolean result;
	g_return_val_if_fail (self != NULL, FALSE);
	result = self->priv->_dry_run;
	return result;
}

void
pamac_transaction_set_dry_run (PamacTransaction* self,
                               gboolean value)
{
	gboolean old_value;
	g_return_if_fail (self != NULL);
	old_value = pamac_transaction_get_dry_run (self);
	if (old_value != value) {
		self->priv->_dry_run = value;
		g_object_notify_by_pspec ((GObject *) self, pamac_transaction_properties[PAMAC_TRANSACTION_DRY_RUN_PROPERTY]);
	}
}

gboolean
pamac_transaction_get_install_if_needed (PamacTransaction* self)
{
	gboolean result;
	g_return_val_if_fail (self != NULL, FALSE);
	result = self->priv->_install_if_needed;
	return result;
}

void
pamac_transaction_set_install_if_needed (PamacTransaction* self,
                                         gboolean value)
{
	gboolean old_value;
	g_return_if_fail (self != NULL);
	old_value = pamac_transaction_get_install_if_needed (self);
	if (old_value != value) {
		self->priv->_install_if_needed = value;
		g_object_notify_by_pspec ((GObject *) self, pamac_transaction_properties[PAMAC_TRANSACTION_INSTALL_IF_NEEDED_PROPERTY]);
	}
}

gboolean
pamac_transaction_get_remove_if_unneeded (PamacTransaction* self)
{
	gboolean result;
	g_return_val_if_fail (self != NULL, FALSE);
	result = self->priv->_remove_if_unneeded;
	return result;
}

void
pamac_transaction_set_remove_if_unneeded (PamacTransaction* self,
                                          gboolean value)
{
	gboolean old_value;
	g_return_if_fail (self != NULL);
	old_value = pamac_transaction_get_remove_if_unneeded (self);
	if (old_value != value) {
		self->priv->_remove_if_unneeded = value;
		g_object_notify_by_pspec ((GObject *) self, pamac_transaction_properties[PAMAC_TRANSACTION_REMOVE_IF_UNNEEDED_PROPERTY]);
	}
}

gboolean
pamac_transaction_get_cascade (PamacTransaction* self)
{
	gboolean result;
	g_return_val_if_fail (self != NULL, FALSE);
	result = self->priv->_cascade;
	return result;
}

void
pamac_transaction_set_cascade (PamacTransaction* self,
                               gboolean value)
{
	gboolean old_value;
	g_return_if_fail (self != NULL);
	old_value = pamac_transaction_get_cascade (self);
	if (old_value != value) {
		self->priv->_cascade = value;
		g_object_notify_by_pspec ((GObject *) self, pamac_transaction_properties[PAMAC_TRANSACTION_CASCADE_PROPERTY]);
	}
}

gboolean
pamac_transaction_get_keep_config_files (PamacTransaction* self)
{
	gboolean result;
	g_return_val_if_fail (self != NULL, FALSE);
	result = self->priv->_keep_config_files;
	return result;
}

void
pamac_transaction_set_keep_config_files (PamacTransaction* self,
                                         gboolean value)
{
	gboolean old_value;
	g_return_if_fail (self != NULL);
	old_value = pamac_transaction_get_keep_config_files (self);
	if (old_value != value) {
		self->priv->_keep_config_files = value;
		g_object_notify_by_pspec ((GObject *) self, pamac_transaction_properties[PAMAC_TRANSACTION_KEEP_CONFIG_FILES_PROPERTY]);
	}
}

gboolean
pamac_transaction_get_install_as_dep (PamacTransaction* self)
{
	gboolean result;
	g_return_val_if_fail (self != NULL, FALSE);
	result = self->priv->_install_as_dep;
	return result;
}

void
pamac_transaction_set_install_as_dep (PamacTransaction* self,
                                      gboolean value)
{
	gboolean old_value;
	g_return_if_fail (self != NULL);
	old_value = pamac_transaction_get_install_as_dep (self);
	if (old_value != value) {
		self->priv->_install_as_dep = value;
		g_object_notify_by_pspec ((GObject *) self, pamac_transaction_properties[PAMAC_TRANSACTION_INSTALL_AS_DEP_PROPERTY]);
	}
}

gboolean
pamac_transaction_get_install_as_explicit (PamacTransaction* self)
{
	gboolean result;
	g_return_val_if_fail (self != NULL, FALSE);
	result = self->priv->_install_as_explicit;
	return result;
}

void
pamac_transaction_set_install_as_explicit (PamacTransaction* self,
                                           gboolean value)
{
	gboolean old_value;
	g_return_if_fail (self != NULL);
	old_value = pamac_transaction_get_install_as_explicit (self);
	if (old_value != value) {
		self->priv->_install_as_explicit = value;
		g_object_notify_by_pspec ((GObject *) self, pamac_transaction_properties[PAMAC_TRANSACTION_INSTALL_AS_EXPLICIT_PROPERTY]);
	}
}

gboolean
pamac_transaction_get_no_refresh (PamacTransaction* self)
{
	gboolean result;
	g_return_val_if_fail (self != NULL, FALSE);
	result = self->priv->_no_refresh;
	return result;
}

void
pamac_transaction_set_no_refresh (PamacTransaction* self,
                                  gboolean value)
{
	gboolean old_value;
	g_return_if_fail (self != NULL);
	old_value = pamac_transaction_get_no_refresh (self);
	if (old_value != value) {
		self->priv->_no_refresh = value;
		g_object_notify_by_pspec ((GObject *) self, pamac_transaction_properties[PAMAC_TRANSACTION_NO_REFRESH_PROPERTY]);
	}
}

static void
g_cclosure_user_marshal_VOID__STRING_STRING_DOUBLE (GClosure * closure,
                                                    GValue * return_value,
                                                    guint n_param_values,
                                                    const GValue * param_values,
                                                    gpointer invocation_hint,
                                                    gpointer marshal_data)
{
	typedef void (*GMarshalFunc_VOID__STRING_STRING_DOUBLE) (gpointer data1, const char* arg_1, const char* arg_2, gdouble arg_3, gpointer data2);
	register GMarshalFunc_VOID__STRING_STRING_DOUBLE callback;
	register GCClosure * cc;
	register gpointer data1;
	register gpointer data2;
	cc = (GCClosure *) closure;
	g_return_if_fail (n_param_values == 4);
	if (G_CCLOSURE_SWAP_DATA (closure)) {
		data1 = closure->data;
		data2 = param_values->data[0].v_pointer;
	} else {
		data1 = param_values->data[0].v_pointer;
		data2 = closure->data;
	}
	callback = (GMarshalFunc_VOID__STRING_STRING_DOUBLE) (marshal_data ? marshal_data : cc->callback);
	callback (data1, g_value_get_string (param_values + 1), g_value_get_string (param_values + 2), g_value_get_double (param_values + 3), data2);
}

static void
g_cclosure_user_marshal_VOID__STRING_STRING_STRING_DOUBLE (GClosure * closure,
                                                           GValue * return_value,
                                                           guint n_param_values,
                                                           const GValue * param_values,
                                                           gpointer invocation_hint,
                                                           gpointer marshal_data)
{
	typedef void (*GMarshalFunc_VOID__STRING_STRING_STRING_DOUBLE) (gpointer data1, const char* arg_1, const char* arg_2, const char* arg_3, gdouble arg_4, gpointer data2);
	register GMarshalFunc_VOID__STRING_STRING_STRING_DOUBLE callback;
	register GCClosure * cc;
	register gpointer data1;
	register gpointer data2;
	cc = (GCClosure *) closure;
	g_return_if_fail (n_param_values == 5);
	if (G_CCLOSURE_SWAP_DATA (closure)) {
		data1 = closure->data;
		data2 = param_values->data[0].v_pointer;
	} else {
		data1 = param_values->data[0].v_pointer;
		data2 = closure->data;
	}
	callback = (GMarshalFunc_VOID__STRING_STRING_STRING_DOUBLE) (marshal_data ? marshal_data : cc->callback);
	callback (data1, g_value_get_string (param_values + 1), g_value_get_string (param_values + 2), g_value_get_string (param_values + 3), g_value_get_double (param_values + 4), data2);
}

static void
g_cclosure_user_marshal_VOID__STRING_BOXED (GClosure * closure,
                                            GValue * return_value,
                                            guint n_param_values,
                                            const GValue * param_values,
                                            gpointer invocation_hint,
                                            gpointer marshal_data)
{
	typedef void (*GMarshalFunc_VOID__STRING_BOXED) (gpointer data1, const char* arg_1, gpointer arg_2, gpointer data2);
	register GMarshalFunc_VOID__STRING_BOXED callback;
	register GCClosure * cc;
	register gpointer data1;
	register gpointer data2;
	cc = (GCClosure *) closure;
	g_return_if_fail (n_param_values == 3);
	if (G_CCLOSURE_SWAP_DATA (closure)) {
		data1 = closure->data;
		data2 = param_values->data[0].v_pointer;
	} else {
		data1 = param_values->data[0].v_pointer;
		data2 = closure->data;
	}
	callback = (GMarshalFunc_VOID__STRING_BOXED) (marshal_data ? marshal_data : cc->callback);
	callback (data1, g_value_get_string (param_values + 1), g_value_get_boxed (param_values + 2), data2);
}

static gint
_pamac_transaction_choose_provider_real_pamac_alpm_utils_choose_provider (PamacAlpmUtils* _sender,
                                                                          const gchar* depend,
                                                                          GPtrArray* providers,
                                                                          gpointer self)
{
	gint result;
	result = pamac_transaction_choose_provider_real ((PamacTransaction*) self, depend, providers);
	return result;
}

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

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

static gboolean
__lambda64_ (Block47Data* _data47_)
{
	PamacTransaction* self;
	gboolean result;
	self = _data47_->self;
	g_signal_emit (self, pamac_transaction_signals[PAMAC_TRANSACTION_EMIT_ACTION_SIGNAL], 0, _data47_->action);
	result = FALSE;
	return result;
}

static gboolean
___lambda64__gsource_func (gpointer self)
{
	gboolean result;
	result = __lambda64_ (self);
	return result;
}

static void
_pamac_transaction___lambda63_ (PamacTransaction* self,
                                const gchar* sender,
                                const gchar* action)
{
	Block47Data* _data47_;
	gchar* _tmp0_;
	GMainContext* _tmp1_;
	g_return_if_fail (sender != NULL);
	g_return_if_fail (action != NULL);
	_data47_ = g_slice_new0 (Block47Data);
	_data47_->_ref_count_ = 1;
	_data47_->self = g_object_ref (self);
	_tmp0_ = g_strdup (action);
	_g_free0 (_data47_->action);
	_data47_->action = _tmp0_;
	_tmp1_ = self->priv->context;
	g_main_context_invoke_full (_tmp1_, G_PRIORITY_DEFAULT, ___lambda64__gsource_func, block47_data_ref (_data47_), block47_data_unref);
	block47_data_unref (_data47_);
	_data47_ = NULL;
}

static void
__pamac_transaction___lambda63__pamac_alpm_utils_emit_action (PamacAlpmUtils* _sender,
                                                              const gchar* sender,
                                                              const gchar* action,
                                                              gpointer self)
{
	_pamac_transaction___lambda63_ ((PamacTransaction*) self, sender, action);
}

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

static void
block48_data_unref (void * _userdata_)
{
	Block48Data* _data48_;
	_data48_ = (Block48Data*) _userdata_;
	if (g_atomic_int_dec_and_test (&_data48_->_ref_count_)) {
		PamacTransaction* self;
		self = _data48_->self;
		_g_free0 (_data48_->action);
		_g_free0 (_data48_->status);
		_g_object_unref0 (self);
		g_slice_free (Block48Data, _data48_);
	}
}

static gboolean
__lambda66_ (Block48Data* _data48_)
{
	PamacTransaction* self;
	gboolean result;
	self = _data48_->self;
	g_signal_emit (self, pamac_transaction_signals[PAMAC_TRANSACTION_EMIT_ACTION_PROGRESS_SIGNAL], 0, _data48_->action, _data48_->status, _data48_->progress);
	result = FALSE;
	return result;
}

static gboolean
___lambda66__gsource_func (gpointer self)
{
	gboolean result;
	result = __lambda66_ (self);
	return result;
}

static void
_pamac_transaction___lambda65_ (PamacTransaction* self,
                                const gchar* sender,
                                const gchar* action,
                                const gchar* status,
                                gdouble progress)
{
	Block48Data* _data48_;
	gchar* _tmp0_;
	gchar* _tmp1_;
	GMainContext* _tmp2_;
	g_return_if_fail (sender != NULL);
	g_return_if_fail (action != NULL);
	g_return_if_fail (status != NULL);
	_data48_ = g_slice_new0 (Block48Data);
	_data48_->_ref_count_ = 1;
	_data48_->self = g_object_ref (self);
	_tmp0_ = g_strdup (action);
	_g_free0 (_data48_->action);
	_data48_->action = _tmp0_;
	_tmp1_ = g_strdup (status);
	_g_free0 (_data48_->status);
	_data48_->status = _tmp1_;
	_data48_->progress = progress;
	_tmp2_ = self->priv->context;
	g_main_context_invoke_full (_tmp2_, G_PRIORITY_DEFAULT, ___lambda66__gsource_func, block48_data_ref (_data48_), block48_data_unref);
	block48_data_unref (_data48_);
	_data48_ = NULL;
}

static void
__pamac_transaction___lambda65__pamac_alpm_utils_emit_action_progress (PamacAlpmUtils* _sender,
                                                                       const gchar* sender,
                                                                       const gchar* action,
                                                                       const gchar* status,
                                                                       gdouble progress,
                                                                       gpointer self)
{
	_pamac_transaction___lambda65_ ((PamacTransaction*) self, sender, action, status, progress);
}

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

static void
block49_data_unref (void * _userdata_)
{
	Block49Data* _data49_;
	_data49_ = (Block49Data*) _userdata_;
	if (g_atomic_int_dec_and_test (&_data49_->_ref_count_)) {
		PamacTransaction* self;
		self = _data49_->self;
		_g_free0 (_data49_->action);
		_g_free0 (_data49_->details);
		_g_free0 (_data49_->status);
		_g_object_unref0 (self);
		g_slice_free (Block49Data, _data49_);
	}
}

static gboolean
__lambda68_ (Block49Data* _data49_)
{
	PamacTransaction* self;
	gboolean result;
	self = _data49_->self;
	g_signal_emit (self, pamac_transaction_signals[PAMAC_TRANSACTION_EMIT_HOOK_PROGRESS_SIGNAL], 0, _data49_->action, _data49_->details, _data49_->status, _data49_->progress);
	result = FALSE;
	return result;
}

static gboolean
___lambda68__gsource_func (gpointer self)
{
	gboolean result;
	result = __lambda68_ (self);
	return result;
}

static void
_pamac_transaction___lambda67_ (PamacTransaction* self,
                                const gchar* sender,
                                const gchar* action,
                                const gchar* details,
                                const gchar* status,
                                gdouble progress)
{
	Block49Data* _data49_;
	gchar* _tmp0_;
	gchar* _tmp1_;
	gchar* _tmp2_;
	GMainContext* _tmp3_;
	g_return_if_fail (sender != NULL);
	g_return_if_fail (action != NULL);
	g_return_if_fail (details != NULL);
	g_return_if_fail (status != NULL);
	_data49_ = g_slice_new0 (Block49Data);
	_data49_->_ref_count_ = 1;
	_data49_->self = g_object_ref (self);
	_tmp0_ = g_strdup (action);
	_g_free0 (_data49_->action);
	_data49_->action = _tmp0_;
	_tmp1_ = g_strdup (details);
	_g_free0 (_data49_->details);
	_data49_->details = _tmp1_;
	_tmp2_ = g_strdup (status);
	_g_free0 (_data49_->status);
	_data49_->status = _tmp2_;
	_data49_->progress = progress;
	_tmp3_ = self->priv->context;
	g_main_context_invoke_full (_tmp3_, G_PRIORITY_DEFAULT, ___lambda68__gsource_func, block49_data_ref (_data49_), block49_data_unref);
	block49_data_unref (_data49_);
	_data49_ = NULL;
}

static void
__pamac_transaction___lambda67__pamac_alpm_utils_emit_hook_progress (PamacAlpmUtils* _sender,
                                                                     const gchar* sender,
                                                                     const gchar* action,
                                                                     const gchar* details,
                                                                     const gchar* status,
                                                                     gdouble progress,
                                                                     gpointer self)
{
	_pamac_transaction___lambda67_ ((PamacTransaction*) self, sender, action, details, status, progress);
}

static Block50Data*
block50_data_ref (Block50Data* _data50_)
{
	g_atomic_int_inc (&_data50_->_ref_count_);
	return _data50_;
}

static void
block50_data_unref (void * _userdata_)
{
	Block50Data* _data50_;
	_data50_ = (Block50Data*) _userdata_;
	if (g_atomic_int_dec_and_test (&_data50_->_ref_count_)) {
		PamacTransaction* self;
		self = _data50_->self;
		_g_free0 (_data50_->action);
		_g_free0 (_data50_->status);
		_g_object_unref0 (self);
		g_slice_free (Block50Data, _data50_);
	}
}

static gboolean
__lambda70_ (Block50Data* _data50_)
{
	PamacTransaction* self;
	gboolean result;
	self = _data50_->self;
	g_signal_emit (self, pamac_transaction_signals[PAMAC_TRANSACTION_EMIT_DOWNLOAD_PROGRESS_SIGNAL], 0, _data50_->action, _data50_->status, _data50_->progress);
	result = FALSE;
	return result;
}

static gboolean
___lambda70__gsource_func (gpointer self)
{
	gboolean result;
	result = __lambda70_ (self);
	return result;
}

static void
_pamac_transaction___lambda69_ (PamacTransaction* self,
                                const gchar* sender,
                                const gchar* action,
                                const gchar* status,
                                gdouble progress)
{
	Block50Data* _data50_;
	gchar* _tmp0_;
	gchar* _tmp1_;
	GMainContext* _tmp2_;
	g_return_if_fail (sender != NULL);
	g_return_if_fail (action != NULL);
	g_return_if_fail (status != NULL);
	_data50_ = g_slice_new0 (Block50Data);
	_data50_->_ref_count_ = 1;
	_data50_->self = g_object_ref (self);
	_tmp0_ = g_strdup (action);
	_g_free0 (_data50_->action);
	_data50_->action = _tmp0_;
	_tmp1_ = g_strdup (status);
	_g_free0 (_data50_->status);
	_data50_->status = _tmp1_;
	_data50_->progress = progress;
	_tmp2_ = self->priv->context;
	g_main_context_invoke_full (_tmp2_, G_PRIORITY_DEFAULT, ___lambda70__gsource_func, block50_data_ref (_data50_), block50_data_unref);
	block50_data_unref (_data50_);
	_data50_ = NULL;
}

static void
__pamac_transaction___lambda69__pamac_alpm_utils_emit_download_progress (PamacAlpmUtils* _sender,
                                                                         const gchar* sender,
                                                                         const gchar* action,
                                                                         const gchar* status,
                                                                         gdouble progress,
                                                                         gpointer self)
{
	_pamac_transaction___lambda69_ ((PamacTransaction*) self, sender, action, status, progress);
}

static gboolean
__lambda72_ (PamacTransaction* self)
{
	gboolean result;
	g_signal_emit (self, pamac_transaction_signals[PAMAC_TRANSACTION_START_DOWNLOADING_SIGNAL], 0);
	result = FALSE;
	return result;
}

static gboolean
___lambda72__gsource_func (gpointer self)
{
	gboolean result;
	result = __lambda72_ ((PamacTransaction*) self);
	return result;
}

static void
_pamac_transaction___lambda71_ (PamacTransaction* self,
                                const gchar* sender)
{
	GMainContext* _tmp0_;
	g_return_if_fail (sender != NULL);
	_tmp0_ = self->priv->context;
	g_main_context_invoke_full (_tmp0_, G_PRIORITY_DEFAULT, ___lambda72__gsource_func, g_object_ref (self), g_object_unref);
}

static void
__pamac_transaction___lambda71__pamac_alpm_utils_start_downloading (PamacAlpmUtils* _sender,
                                                                    const gchar* sender,
                                                                    gpointer self)
{
	_pamac_transaction___lambda71_ ((PamacTransaction*) self, sender);
}

static gboolean
__lambda74_ (PamacTransaction* self)
{
	gboolean result;
	g_signal_emit (self, pamac_transaction_signals[PAMAC_TRANSACTION_STOP_DOWNLOADING_SIGNAL], 0);
	result = FALSE;
	return result;
}

static gboolean
___lambda74__gsource_func (gpointer self)
{
	gboolean result;
	result = __lambda74_ ((PamacTransaction*) self);
	return result;
}

static void
_pamac_transaction___lambda73_ (PamacTransaction* self,
                                const gchar* sender)
{
	GMainContext* _tmp0_;
	g_return_if_fail (sender != NULL);
	_tmp0_ = self->priv->context;
	g_main_context_invoke_full (_tmp0_, G_PRIORITY_DEFAULT, ___lambda74__gsource_func, g_object_ref (self), g_object_unref);
}

static void
__pamac_transaction___lambda73__pamac_alpm_utils_stop_downloading (PamacAlpmUtils* _sender,
                                                                   const gchar* sender,
                                                                   gpointer self)
{
	_pamac_transaction___lambda73_ ((PamacTransaction*) self, sender);
}

static Block51Data*
block51_data_ref (Block51Data* _data51_)
{
	g_atomic_int_inc (&_data51_->_ref_count_);
	return _data51_;
}

static void
block51_data_unref (void * _userdata_)
{
	Block51Data* _data51_;
	_data51_ = (Block51Data*) _userdata_;
	if (g_atomic_int_dec_and_test (&_data51_->_ref_count_)) {
		PamacTransaction* self;
		self = _data51_->self;
		_g_free0 (_data51_->message);
		_g_object_unref0 (self);
		g_slice_free (Block51Data, _data51_);
	}
}

static gboolean
__lambda76_ (Block51Data* _data51_)
{
	PamacTransaction* self;
	gboolean result;
	self = _data51_->self;
	g_signal_emit (self, pamac_transaction_signals[PAMAC_TRANSACTION_EMIT_SCRIPT_OUTPUT_SIGNAL], 0, _data51_->message);
	result = FALSE;
	return result;
}

static gboolean
___lambda76__gsource_func (gpointer self)
{
	gboolean result;
	result = __lambda76_ (self);
	return result;
}

static void
_pamac_transaction___lambda75_ (PamacTransaction* self,
                                const gchar* sender,
                                const gchar* message)
{
	Block51Data* _data51_;
	gchar* _tmp0_;
	GMainContext* _tmp1_;
	g_return_if_fail (sender != NULL);
	g_return_if_fail (message != NULL);
	_data51_ = g_slice_new0 (Block51Data);
	_data51_->_ref_count_ = 1;
	_data51_->self = g_object_ref (self);
	_tmp0_ = g_strdup (message);
	_g_free0 (_data51_->message);
	_data51_->message = _tmp0_;
	_tmp1_ = self->priv->context;
	g_main_context_invoke_full (_tmp1_, G_PRIORITY_DEFAULT, ___lambda76__gsource_func, block51_data_ref (_data51_), block51_data_unref);
	block51_data_unref (_data51_);
	_data51_ = NULL;
}

static void
__pamac_transaction___lambda75__pamac_alpm_utils_emit_script_output (PamacAlpmUtils* _sender,
                                                                     const gchar* sender,
                                                                     const gchar* message,
                                                                     gpointer self)
{
	_pamac_transaction___lambda75_ ((PamacTransaction*) self, sender, message);
}

static Block52Data*
block52_data_ref (Block52Data* _data52_)
{
	g_atomic_int_inc (&_data52_->_ref_count_);
	return _data52_;
}

static void
block52_data_unref (void * _userdata_)
{
	Block52Data* _data52_;
	_data52_ = (Block52Data*) _userdata_;
	if (g_atomic_int_dec_and_test (&_data52_->_ref_count_)) {
		PamacTransaction* self;
		self = _data52_->self;
		_g_free0 (_data52_->message);
		_g_object_unref0 (self);
		g_slice_free (Block52Data, _data52_);
	}
}

static gboolean
__lambda78_ (Block52Data* _data52_)
{
	PamacTransaction* self;
	gboolean result;
	self = _data52_->self;
	g_signal_emit (self, pamac_transaction_signals[PAMAC_TRANSACTION_EMIT_WARNING_SIGNAL], 0, _data52_->message);
	result = FALSE;
	return result;
}

static gboolean
___lambda78__gsource_func (gpointer self)
{
	gboolean result;
	result = __lambda78_ (self);
	return result;
}

static void
_pamac_transaction___lambda77_ (PamacTransaction* self,
                                const gchar* sender,
                                const gchar* message)
{
	Block52Data* _data52_;
	gchar* _tmp0_;
	GMainContext* _tmp1_;
	g_return_if_fail (sender != NULL);
	g_return_if_fail (message != NULL);
	_data52_ = g_slice_new0 (Block52Data);
	_data52_->_ref_count_ = 1;
	_data52_->self = g_object_ref (self);
	_tmp0_ = g_strdup (message);
	_g_free0 (_data52_->message);
	_data52_->message = _tmp0_;
	_tmp1_ = self->priv->context;
	g_main_context_invoke_full (_tmp1_, G_PRIORITY_DEFAULT, ___lambda78__gsource_func, block52_data_ref (_data52_), block52_data_unref);
	block52_data_unref (_data52_);
	_data52_ = NULL;
}

static void
__pamac_transaction___lambda77__pamac_alpm_utils_emit_warning (PamacAlpmUtils* _sender,
                                                               const gchar* sender,
                                                               const gchar* message,
                                                               gpointer self)
{
	_pamac_transaction___lambda77_ ((PamacTransaction*) self, sender, message);
}

static Block53Data*
block53_data_ref (Block53Data* _data53_)
{
	g_atomic_int_inc (&_data53_->_ref_count_);
	return _data53_;
}

static void
block53_data_unref (void * _userdata_)
{
	Block53Data* _data53_;
	_data53_ = (Block53Data*) _userdata_;
	if (g_atomic_int_dec_and_test (&_data53_->_ref_count_)) {
		PamacTransaction* self;
		self = _data53_->self;
		_g_free0 (_data53_->message);
		_g_ptr_array_unref0 (_data53_->details);
		_g_object_unref0 (self);
		g_slice_free (Block53Data, _data53_);
	}
}

static gboolean
__lambda80_ (Block53Data* _data53_)
{
	PamacTransaction* self;
	gboolean result;
	self = _data53_->self;
	g_signal_emit (self, pamac_transaction_signals[PAMAC_TRANSACTION_EMIT_ERROR_SIGNAL], 0, _data53_->message, _data53_->details);
	result = FALSE;
	return result;
}

static gboolean
___lambda80__gsource_func (gpointer self)
{
	gboolean result;
	result = __lambda80_ (self);
	return result;
}

static void
_pamac_transaction___lambda79_ (PamacTransaction* self,
                                const gchar* sender,
                                const gchar* message,
                                GPtrArray* details)
{
	Block53Data* _data53_;
	gchar* _tmp0_;
	GPtrArray* _tmp1_;
	GMainContext* _tmp2_;
	g_return_if_fail (sender != NULL);
	g_return_if_fail (message != NULL);
	g_return_if_fail (details != NULL);
	_data53_ = g_slice_new0 (Block53Data);
	_data53_->_ref_count_ = 1;
	_data53_->self = g_object_ref (self);
	_tmp0_ = g_strdup (message);
	_g_free0 (_data53_->message);
	_data53_->message = _tmp0_;
	_tmp1_ = _g_ptr_array_ref0 (details);
	_g_ptr_array_unref0 (_data53_->details);
	_data53_->details = _tmp1_;
	_tmp2_ = self->priv->context;
	g_main_context_invoke_full (_tmp2_, G_PRIORITY_DEFAULT, ___lambda80__gsource_func, block53_data_ref (_data53_), block53_data_unref);
	block53_data_unref (_data53_);
	_data53_ = NULL;
}

static void
__pamac_transaction___lambda79__pamac_alpm_utils_emit_error (PamacAlpmUtils* _sender,
                                                             const gchar* sender,
                                                             const gchar* message,
                                                             GPtrArray* details,
                                                             gpointer self)
{
	_pamac_transaction___lambda79_ ((PamacTransaction*) self, sender, message, details);
}

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

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

static gboolean
__lambda82_ (Block54Data* _data54_)
{
	PamacTransaction* self;
	gboolean result;
	self = _data54_->self;
	g_signal_emit (self, pamac_transaction_signals[PAMAC_TRANSACTION_IMPORTANT_DETAILS_OUTPOUT_SIGNAL], 0, _data54_->must_show);
	result = FALSE;
	return result;
}

static gboolean
___lambda82__gsource_func (gpointer self)
{
	gboolean result;
	result = __lambda82_ (self);
	return result;
}

static void
_pamac_transaction___lambda81_ (PamacTransaction* self,
                                const gchar* sender,
                                gboolean must_show)
{
	Block54Data* _data54_;
	GMainContext* _tmp0_;
	g_return_if_fail (sender != NULL);
	_data54_ = g_slice_new0 (Block54Data);
	_data54_->_ref_count_ = 1;
	_data54_->self = g_object_ref (self);
	_data54_->must_show = must_show;
	_tmp0_ = self->priv->context;
	g_main_context_invoke_full (_tmp0_, G_PRIORITY_DEFAULT, ___lambda82__gsource_func, block54_data_ref (_data54_), block54_data_unref);
	block54_data_unref (_data54_);
	_data54_ = NULL;
}

static void
__pamac_transaction___lambda81__pamac_alpm_utils_important_details_outpout (PamacAlpmUtils* _sender,
                                                                            const gchar* sender,
                                                                            gboolean must_show,
                                                                            gpointer self)
{
	_pamac_transaction___lambda81_ ((PamacTransaction*) self, sender, must_show);
}

static GObject *
pamac_transaction_constructor (GType type,
                               guint n_construct_properties,
                               GObjectConstructParam * construct_properties)
{
	GObject * obj;
	GObjectClass * parent_class;
	PamacTransaction * self;
	PamacDatabase* _tmp0_;
	PamacConfig* _tmp1_;
	PamacConfig* _tmp2_;
	PamacDatabase* _tmp3_;
	GMainContext* _tmp4_;
	GMainContext* _tmp5_;
	PamacConfig* _tmp6_;
	PamacAlpmUtils* _tmp7_;
	GHashFunc _tmp13_;
	GEqualFunc _tmp14_;
	GHashTable* _tmp15_;
	GHashFunc _tmp16_;
	GEqualFunc _tmp17_;
	GHashTable* _tmp18_;
	GHashFunc _tmp19_;
	GEqualFunc _tmp20_;
	GHashTable* _tmp21_;
	GHashFunc _tmp22_;
	GEqualFunc _tmp23_;
	GHashTable* _tmp24_;
	GHashFunc _tmp25_;
	GEqualFunc _tmp26_;
	GHashTable* _tmp27_;
	GHashFunc _tmp28_;
	GEqualFunc _tmp29_;
	GHashTable* _tmp30_;
	GHashFunc _tmp31_;
	GEqualFunc _tmp32_;
	GHashTable* _tmp33_;
	GHashFunc _tmp34_;
	GEqualFunc _tmp35_;
	GHashTable* _tmp36_;
	GHashFunc _tmp37_;
	GEqualFunc _tmp38_;
	GHashTable* _tmp39_;
	GHashFunc _tmp40_;
	GEqualFunc _tmp41_;
	GHashTable* _tmp42_;
	PamacAlpmUtils* _tmp43_;
	PamacAlpmUtils* _tmp44_;
	PamacAlpmUtils* _tmp45_;
	PamacAlpmUtils* _tmp46_;
	PamacAlpmUtils* _tmp47_;
	PamacAlpmUtils* _tmp48_;
	PamacAlpmUtils* _tmp49_;
	PamacAlpmUtils* _tmp50_;
	PamacAlpmUtils* _tmp51_;
	PamacAlpmUtils* _tmp52_;
	PamacAlpmUtils* _tmp53_;
	GHashFunc _tmp54_;
	GEqualFunc _tmp55_;
	GHashTable* _tmp56_;
	GHashFunc _tmp57_;
	GEqualFunc _tmp58_;
	GHashTable* _tmp59_;
	GHashFunc _tmp60_;
	GEqualFunc _tmp61_;
	GHashTable* _tmp62_;
	GHashFunc _tmp63_;
	GEqualFunc _tmp64_;
	GHashTable* _tmp65_;
	GHashFunc _tmp66_;
	GEqualFunc _tmp67_;
	GHashTable* _tmp68_;
	const gchar* _tmp69_;
	gchar* _tmp70_;
	const gchar* _tmp71_;
	gchar* _tmp72_;
	GHashFunc _tmp73_;
	GEqualFunc _tmp74_;
	GHashTable* _tmp75_;
	GHashFunc _tmp76_;
	GEqualFunc _tmp77_;
	GHashTable* _tmp78_;
	GHashFunc _tmp79_;
	GEqualFunc _tmp80_;
	GHashTable* _tmp81_;
	GQueue* _tmp82_;
	GCancellable* _tmp83_;
	parent_class = G_OBJECT_CLASS (pamac_transaction_parent_class);
	obj = parent_class->constructor (type, n_construct_properties, construct_properties);
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, PAMAC_TYPE_TRANSACTION, PamacTransaction);
	_tmp0_ = self->priv->_database;
	_tmp1_ = pamac_database_get_config (_tmp0_);
	_tmp2_ = _tmp1_;
	self->priv->config = _tmp2_;
	_tmp3_ = self->priv->_database;
	_tmp4_ = pamac_database_get_context (_tmp3_);
	_tmp5_ = _tmp4_;
	self->priv->context = _tmp5_;
	_tmp6_ = self->priv->config;
	_tmp7_ = pamac_alpm_utils_new (_tmp6_);
	_g_object_unref0 (self->priv->alpm_utils);
	self->priv->alpm_utils = _tmp7_;
	if (geteuid () == ((uid_t) 0)) {
		PamacAlpmUtils* _tmp8_;
		GMainContext* _tmp9_;
		PamacTransactionInterfaceRoot* _tmp10_;
		_tmp8_ = self->priv->alpm_utils;
		_tmp9_ = self->priv->context;
		_tmp10_ = pamac_transaction_interface_root_new (_tmp8_, _tmp9_);
		_g_object_unref0 (self->priv->transaction_interface);
		self->priv->transaction_interface = (PamacTransactionInterface*) _tmp10_;
	} else {
		PamacConfig* _tmp11_;
		PamacTransactionInterfaceDaemon* _tmp12_;
		_tmp11_ = self->priv->config;
		_tmp12_ = pamac_transaction_interface_daemon_new (_tmp11_);
		_g_object_unref0 (self->priv->transaction_interface);
		self->priv->transaction_interface = (PamacTransactionInterface*) _tmp12_;
	}
	self->priv->waiting = FALSE;
	pamac_transaction_set_download_only (self, FALSE);
	pamac_transaction_set_dry_run (self, FALSE);
	pamac_transaction_set_install_if_needed (self, TRUE);
	pamac_transaction_set_remove_if_unneeded (self, FALSE);
	pamac_transaction_set_cascade (self, FALSE);
	pamac_transaction_set_keep_config_files (self, TRUE);
	pamac_transaction_set_install_as_dep (self, FALSE);
	pamac_transaction_set_install_as_explicit (self, FALSE);
	pamac_transaction_set_no_refresh (self, FALSE);
	self->priv->sysupgrading = FALSE;
	self->priv->force_refresh = FALSE;
	_tmp13_ = g_str_hash;
	_tmp14_ = g_str_equal;
	_tmp15_ = g_hash_table_new_full (_tmp13_, _tmp14_, NULL, _g_free0_);
	_g_hash_table_unref0 (self->priv->to_install);
	self->priv->to_install = _tmp15_;
	_tmp16_ = g_str_hash;
	_tmp17_ = g_str_equal;
	_tmp18_ = g_hash_table_new_full (_tmp16_, _tmp17_, NULL, _g_free0_);
	_g_hash_table_unref0 (self->priv->to_remove);
	self->priv->to_remove = _tmp18_;
	_tmp19_ = g_str_hash;
	_tmp20_ = g_str_equal;
	_tmp21_ = g_hash_table_new_full (_tmp19_, _tmp20_, NULL, _g_free0_);
	_g_hash_table_unref0 (self->priv->to_load_local);
	self->priv->to_load_local = _tmp21_;
	_tmp22_ = g_str_hash;
	_tmp23_ = g_str_equal;
	_tmp24_ = g_hash_table_new_full (_tmp22_, _tmp23_, NULL, _g_free0_);
	_g_hash_table_unref0 (self->priv->to_load_remote);
	self->priv->to_load_remote = _tmp24_;
	_tmp25_ = g_str_hash;
	_tmp26_ = g_str_equal;
	_tmp27_ = g_hash_table_new_full (_tmp25_, _tmp26_, NULL, _g_free0_);
	_g_hash_table_unref0 (self->priv->to_build);
	self->priv->to_build = _tmp27_;
	_tmp28_ = g_str_hash;
	_tmp29_ = g_str_equal;
	_tmp30_ = g_hash_table_new_full (_tmp28_, _tmp29_, NULL, _g_free0_);
	_g_hash_table_unref0 (self->priv->clone_files);
	self->priv->clone_files = _tmp30_;
	_tmp31_ = g_str_hash;
	_tmp32_ = g_str_equal;
	_tmp33_ = g_hash_table_new_full (_tmp31_, _tmp32_, NULL, _g_free0_);
	_g_hash_table_unref0 (self->priv->clone_deps_files);
	self->priv->clone_deps_files = _tmp33_;
	_tmp34_ = g_str_hash;
	_tmp35_ = g_str_equal;
	_tmp36_ = g_hash_table_new_full (_tmp34_, _tmp35_, NULL, _g_free0_);
	_g_hash_table_unref0 (self->priv->ignorepkgs);
	self->priv->ignorepkgs = _tmp36_;
	_tmp37_ = g_str_hash;
	_tmp38_ = g_str_equal;
	_tmp39_ = g_hash_table_new_full (_tmp37_, _tmp38_, NULL, _g_free0_);
	_g_hash_table_unref0 (self->priv->overwrite_files);
	self->priv->overwrite_files = _tmp39_;
	_tmp40_ = g_str_hash;
	_tmp41_ = g_str_equal;
	_tmp42_ = g_hash_table_new_full (_tmp40_, _tmp41_, NULL, _g_free0_);
	_g_hash_table_unref0 (self->priv->to_install_as_dep);
	self->priv->to_install_as_dep = _tmp42_;
	_tmp43_ = self->priv->alpm_utils;
	g_signal_connect_object (_tmp43_, "choose-provider", (GCallback) _pamac_transaction_choose_provider_real_pamac_alpm_utils_choose_provider, self, 0);
	_tmp44_ = self->priv->alpm_utils;
	g_signal_connect_object (_tmp44_, "emit-action", (GCallback) __pamac_transaction___lambda63__pamac_alpm_utils_emit_action, self, 0);
	_tmp45_ = self->priv->alpm_utils;
	g_signal_connect_object (_tmp45_, "emit-action-progress", (GCallback) __pamac_transaction___lambda65__pamac_alpm_utils_emit_action_progress, self, 0);
	_tmp46_ = self->priv->alpm_utils;
	g_signal_connect_object (_tmp46_, "emit-hook-progress", (GCallback) __pamac_transaction___lambda67__pamac_alpm_utils_emit_hook_progress, self, 0);
	_tmp47_ = self->priv->alpm_utils;
	g_signal_connect_object (_tmp47_, "emit-download-progress", (GCallback) __pamac_transaction___lambda69__pamac_alpm_utils_emit_download_progress, self, 0);
	_tmp48_ = self->priv->alpm_utils;
	g_signal_connect_object (_tmp48_, "start-downloading", (GCallback) __pamac_transaction___lambda71__pamac_alpm_utils_start_downloading, self, 0);
	_tmp49_ = self->priv->alpm_utils;
	g_signal_connect_object (_tmp49_, "stop-downloading", (GCallback) __pamac_transaction___lambda73__pamac_alpm_utils_stop_downloading, self, 0);
	_tmp50_ = self->priv->alpm_utils;
	g_signal_connect_object (_tmp50_, "emit-script-output", (GCallback) __pamac_transaction___lambda75__pamac_alpm_utils_emit_script_output, self, 0);
	_tmp51_ = self->priv->alpm_utils;
	g_signal_connect_object (_tmp51_, "emit-warning", (GCallback) __pamac_transaction___lambda77__pamac_alpm_utils_emit_warning, self, 0);
	_tmp52_ = self->priv->alpm_utils;
	g_signal_connect_object (_tmp52_, "emit-error", (GCallback) __pamac_transaction___lambda79__pamac_alpm_utils_emit_error, self, 0);
	_tmp53_ = self->priv->alpm_utils;
	g_signal_connect_object (_tmp53_, "important-details-outpout", (GCallback) __pamac_transaction___lambda81__pamac_alpm_utils_important_details_outpout, self, 0);
	_tmp54_ = g_str_hash;
	_tmp55_ = g_str_equal;
	_tmp56_ = g_hash_table_new_full (_tmp54_, _tmp55_, _g_free0_, _g_object_unref0_);
	_g_hash_table_unref0 (self->priv->snap_to_install);
	self->priv->snap_to_install = _tmp56_;
	_tmp57_ = g_str_hash;
	_tmp58_ = g_str_equal;
	_tmp59_ = g_hash_table_new_full (_tmp57_, _tmp58_, _g_free0_, _g_object_unref0_);
	_g_hash_table_unref0 (self->priv->snap_to_remove);
	self->priv->snap_to_remove = _tmp59_;
	_tmp60_ = g_str_hash;
	_tmp61_ = g_str_equal;
	_tmp62_ = g_hash_table_new_full (_tmp60_, _tmp61_, _g_free0_, _g_object_unref0_);
	_g_hash_table_unref0 (self->priv->flatpak_to_install);
	self->priv->flatpak_to_install = _tmp62_;
	_tmp63_ = g_str_hash;
	_tmp64_ = g_str_equal;
	_tmp65_ = g_hash_table_new_full (_tmp63_, _tmp64_, _g_free0_, _g_object_unref0_);
	_g_hash_table_unref0 (self->priv->flatpak_to_remove);
	self->priv->flatpak_to_remove = _tmp65_;
	_tmp66_ = g_str_hash;
	_tmp67_ = g_str_equal;
	_tmp68_ = g_hash_table_new_full (_tmp66_, _tmp67_, _g_free0_, _g_object_unref0_);
	_g_hash_table_unref0 (self->priv->flatpak_to_upgrade);
	self->priv->flatpak_to_upgrade = _tmp68_;
	_tmp69_ = g_get_user_name ();
	_tmp70_ = g_strdup_printf ("/tmp/pamac-%s", _tmp69_);
	_g_free0 (self->priv->tmp_path);
	self->priv->tmp_path = _tmp70_;
	_tmp71_ = self->priv->tmp_path;
	_tmp72_ = g_strdup_printf ("%s/aur", _tmp71_);
	_g_free0 (self->priv->aurdb_path);
	self->priv->aurdb_path = _tmp72_;
	_tmp73_ = g_str_hash;
	_tmp74_ = g_str_equal;
	_tmp75_ = g_hash_table_new_full (_tmp73_, _tmp74_, NULL, _g_free0_);
	_g_hash_table_unref0 (self->priv->already_checked_aur_dep);
	self->priv->already_checked_aur_dep = _tmp75_;
	_tmp76_ = g_str_hash;
	_tmp77_ = g_str_equal;
	_tmp78_ = g_hash_table_new_full (_tmp76_, _tmp77_, NULL, _g_free0_);
	_g_hash_table_unref0 (self->priv->aur_desc_list);
	self->priv->aur_desc_list = _tmp78_;
	_tmp79_ = g_str_hash;
	_tmp80_ = g_str_equal;
	_tmp81_ = g_hash_table_new_full (_tmp79_, _tmp80_, NULL, _g_free0_);
	_g_hash_table_unref0 (self->priv->aur_pkgs_to_install);
	self->priv->aur_pkgs_to_install = _tmp81_;
	_tmp82_ = g_queue_new ();
	(self->priv->to_build_queue == NULL) ? NULL : (self->priv->to_build_queue = (_g_queue_free__g_free0_ (self->priv->to_build_queue), NULL));
	self->priv->to_build_queue = _tmp82_;
	_tmp83_ = g_cancellable_new ();
	_g_object_unref0 (self->priv->build_cancellable);
	self->priv->build_cancellable = _tmp83_;
	self->priv->building = FALSE;
	pamac_transaction_connecting_signals (self);
	return obj;
}

static void
pamac_transaction_class_init (PamacTransactionClass * klass,
                              gpointer klass_data)
{
	pamac_transaction_parent_class = g_type_class_peek_parent (klass);
	g_type_class_adjust_private_offset (klass, &PamacTransaction_private_offset);
	((PamacTransactionClass *) klass)->ask_commit = (void (*) (PamacTransaction*, PamacTransactionSummary*, GAsyncReadyCallback, gpointer)) pamac_transaction_real_ask_commit;
	((PamacTransactionClass *) klass)->ask_commit_finish = (gboolean (*) (PamacTransaction*, GAsyncResult*)) pamac_transaction_real_ask_commit_finish;
	((PamacTransactionClass *) klass)->ask_edit_build_files = (void (*) (PamacTransaction*, PamacTransactionSummary*, GAsyncReadyCallback, gpointer)) pamac_transaction_real_ask_edit_build_files;
	((PamacTransactionClass *) klass)->ask_edit_build_files_finish = (gboolean (*) (PamacTransaction*, GAsyncResult*)) pamac_transaction_real_ask_edit_build_files_finish;
	((PamacTransactionClass *) klass)->edit_build_files = (void (*) (PamacTransaction*, GPtrArray*, GAsyncReadyCallback, gpointer)) pamac_transaction_real_edit_build_files;
	((PamacTransactionClass *) klass)->edit_build_files_finish = (void (*) (PamacTransaction*, GAsyncResult*)) pamac_transaction_real_edit_build_files_finish;
	((PamacTransactionClass *) klass)->ask_import_key = (void (*) (PamacTransaction*, const gchar*, const gchar*, const gchar*, GAsyncReadyCallback, gpointer)) pamac_transaction_real_ask_import_key;
	((PamacTransactionClass *) klass)->ask_import_key_finish = (gboolean (*) (PamacTransaction*, GAsyncResult*)) pamac_transaction_real_ask_import_key_finish;
	((PamacTransactionClass *) klass)->choose_optdeps = (void (*) (PamacTransaction*, const gchar*, GPtrArray*, GAsyncReadyCallback, gpointer)) pamac_transaction_real_choose_optdeps;
	((PamacTransactionClass *) klass)->choose_optdeps_finish = (GPtrArray* (*) (PamacTransaction*, GAsyncResult*)) pamac_transaction_real_choose_optdeps_finish;
	((PamacTransactionClass *) klass)->choose_provider = (void (*) (PamacTransaction*, const gchar*, GPtrArray*, GAsyncReadyCallback, gpointer)) pamac_transaction_real_choose_provider;
	((PamacTransactionClass *) klass)->choose_provider_finish = (gint (*) (PamacTransaction*, GAsyncResult*)) pamac_transaction_real_choose_provider_finish;
	((PamacTransactionClass *) klass)->ask_snap_install_classic = (void (*) (PamacTransaction*, const gchar*, GAsyncReadyCallback, gpointer)) pamac_transaction_real_ask_snap_install_classic;
	((PamacTransactionClass *) klass)->ask_snap_install_classic_finish = (gboolean (*) (PamacTransaction*, GAsyncResult*)) pamac_transaction_real_ask_snap_install_classic_finish;
	((PamacTransactionClass *) klass)->run_cmd_line_async = (void (*) (PamacTransaction*, GPtrArray*, const gchar*, GCancellable*, GAsyncReadyCallback, gpointer)) pamac_transaction_real_run_cmd_line_async;
	((PamacTransactionClass *) klass)->run_cmd_line_finish = (gint (*) (PamacTransaction*, GAsyncResult*)) pamac_transaction_real_run_cmd_line_finish;
	G_OBJECT_CLASS (klass)->get_property = _vala_pamac_transaction_get_property;
	G_OBJECT_CLASS (klass)->set_property = _vala_pamac_transaction_set_property;
	G_OBJECT_CLASS (klass)->constructor = pamac_transaction_constructor;
	G_OBJECT_CLASS (klass)->finalize = pamac_transaction_finalize;
	g_object_class_install_property (G_OBJECT_CLASS (klass), PAMAC_TRANSACTION_DATABASE_PROPERTY, pamac_transaction_properties[PAMAC_TRANSACTION_DATABASE_PROPERTY] = g_param_spec_object ("database", "database", "database", PAMAC_TYPE_DATABASE, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE | G_PARAM_CONSTRUCT));
	g_object_class_install_property (G_OBJECT_CLASS (klass), PAMAC_TRANSACTION_DOWNLOAD_ONLY_PROPERTY, pamac_transaction_properties[PAMAC_TRANSACTION_DOWNLOAD_ONLY_PROPERTY] = g_param_spec_boolean ("download-only", "download-only", "download-only", FALSE, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), PAMAC_TRANSACTION_DRY_RUN_PROPERTY, pamac_transaction_properties[PAMAC_TRANSACTION_DRY_RUN_PROPERTY] = g_param_spec_boolean ("dry-run", "dry-run", "dry-run", FALSE, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), PAMAC_TRANSACTION_INSTALL_IF_NEEDED_PROPERTY, pamac_transaction_properties[PAMAC_TRANSACTION_INSTALL_IF_NEEDED_PROPERTY] = g_param_spec_boolean ("install-if-needed", "install-if-needed", "install-if-needed", FALSE, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), PAMAC_TRANSACTION_REMOVE_IF_UNNEEDED_PROPERTY, pamac_transaction_properties[PAMAC_TRANSACTION_REMOVE_IF_UNNEEDED_PROPERTY] = g_param_spec_boolean ("remove-if-unneeded", "remove-if-unneeded", "remove-if-unneeded", FALSE, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), PAMAC_TRANSACTION_CASCADE_PROPERTY, pamac_transaction_properties[PAMAC_TRANSACTION_CASCADE_PROPERTY] = g_param_spec_boolean ("cascade", "cascade", "cascade", FALSE, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), PAMAC_TRANSACTION_KEEP_CONFIG_FILES_PROPERTY, pamac_transaction_properties[PAMAC_TRANSACTION_KEEP_CONFIG_FILES_PROPERTY] = g_param_spec_boolean ("keep-config-files", "keep-config-files", "keep-config-files", FALSE, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), PAMAC_TRANSACTION_INSTALL_AS_DEP_PROPERTY, pamac_transaction_properties[PAMAC_TRANSACTION_INSTALL_AS_DEP_PROPERTY] = g_param_spec_boolean ("install-as-dep", "install-as-dep", "install-as-dep", FALSE, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), PAMAC_TRANSACTION_INSTALL_AS_EXPLICIT_PROPERTY, pamac_transaction_properties[PAMAC_TRANSACTION_INSTALL_AS_EXPLICIT_PROPERTY] = g_param_spec_boolean ("install-as-explicit", "install-as-explicit", "install-as-explicit", FALSE, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), PAMAC_TRANSACTION_NO_REFRESH_PROPERTY, pamac_transaction_properties[PAMAC_TRANSACTION_NO_REFRESH_PROPERTY] = g_param_spec_boolean ("no-refresh", "no-refresh", "no-refresh", FALSE, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	pamac_transaction_signals[PAMAC_TRANSACTION_EMIT_ACTION_SIGNAL] = g_signal_new ("emit-action", PAMAC_TYPE_TRANSACTION, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_marshal_VOID__STRING, G_TYPE_NONE, 1, G_TYPE_STRING);
	pamac_transaction_signals[PAMAC_TRANSACTION_EMIT_ACTION_PROGRESS_SIGNAL] = g_signal_new ("emit-action-progress", PAMAC_TYPE_TRANSACTION, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_user_marshal_VOID__STRING_STRING_DOUBLE, G_TYPE_NONE, 3, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_DOUBLE);
	pamac_transaction_signals[PAMAC_TRANSACTION_EMIT_DOWNLOAD_PROGRESS_SIGNAL] = g_signal_new ("emit-download-progress", PAMAC_TYPE_TRANSACTION, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_user_marshal_VOID__STRING_STRING_DOUBLE, G_TYPE_NONE, 3, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_DOUBLE);
	pamac_transaction_signals[PAMAC_TRANSACTION_EMIT_HOOK_PROGRESS_SIGNAL] = g_signal_new ("emit-hook-progress", PAMAC_TYPE_TRANSACTION, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_user_marshal_VOID__STRING_STRING_STRING_DOUBLE, G_TYPE_NONE, 4, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_DOUBLE);
	pamac_transaction_signals[PAMAC_TRANSACTION_EMIT_SCRIPT_OUTPUT_SIGNAL] = g_signal_new ("emit-script-output", PAMAC_TYPE_TRANSACTION, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_marshal_VOID__STRING, G_TYPE_NONE, 1, G_TYPE_STRING);
	pamac_transaction_signals[PAMAC_TRANSACTION_EMIT_WARNING_SIGNAL] = g_signal_new ("emit-warning", PAMAC_TYPE_TRANSACTION, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_marshal_VOID__STRING, G_TYPE_NONE, 1, G_TYPE_STRING);
	pamac_transaction_signals[PAMAC_TRANSACTION_EMIT_ERROR_SIGNAL] = g_signal_new ("emit-error", PAMAC_TYPE_TRANSACTION, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_user_marshal_VOID__STRING_BOXED, G_TYPE_NONE, 2, G_TYPE_STRING, G_TYPE_PTR_ARRAY);
	pamac_transaction_signals[PAMAC_TRANSACTION_START_WAITING_SIGNAL] = g_signal_new ("start-waiting", PAMAC_TYPE_TRANSACTION, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0);
	pamac_transaction_signals[PAMAC_TRANSACTION_STOP_WAITING_SIGNAL] = g_signal_new ("stop-waiting", PAMAC_TYPE_TRANSACTION, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0);
	pamac_transaction_signals[PAMAC_TRANSACTION_START_PREPARING_SIGNAL] = g_signal_new ("start-preparing", PAMAC_TYPE_TRANSACTION, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0);
	pamac_transaction_signals[PAMAC_TRANSACTION_STOP_PREPARING_SIGNAL] = g_signal_new ("stop-preparing", PAMAC_TYPE_TRANSACTION, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0);
	pamac_transaction_signals[PAMAC_TRANSACTION_START_DOWNLOADING_SIGNAL] = g_signal_new ("start-downloading", PAMAC_TYPE_TRANSACTION, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0);
	pamac_transaction_signals[PAMAC_TRANSACTION_STOP_DOWNLOADING_SIGNAL] = g_signal_new ("stop-downloading", PAMAC_TYPE_TRANSACTION, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0);
	pamac_transaction_signals[PAMAC_TRANSACTION_START_BUILDING_SIGNAL] = g_signal_new ("start-building", PAMAC_TYPE_TRANSACTION, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0);
	pamac_transaction_signals[PAMAC_TRANSACTION_STOP_BUILDING_SIGNAL] = g_signal_new ("stop-building", PAMAC_TYPE_TRANSACTION, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0);
	pamac_transaction_signals[PAMAC_TRANSACTION_IMPORTANT_DETAILS_OUTPOUT_SIGNAL] = g_signal_new ("important-details-outpout", PAMAC_TYPE_TRANSACTION, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_marshal_VOID__BOOLEAN, G_TYPE_NONE, 1, G_TYPE_BOOLEAN);
}

static void
pamac_transaction_instance_init (PamacTransaction * self,
                                 gpointer klass)
{
	self->priv = pamac_transaction_get_instance_private (self);
}

static void
pamac_transaction_finalize (GObject * obj)
{
	PamacTransaction * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, PAMAC_TYPE_TRANSACTION, PamacTransaction);
	pamac_transaction_quit_daemon (self);
	_g_object_unref0 (self->priv->transaction_interface);
	_g_object_unref0 (self->priv->alpm_utils);
	_g_hash_table_unref0 (self->priv->to_install);
	_g_hash_table_unref0 (self->priv->to_remove);
	_g_hash_table_unref0 (self->priv->to_load_local);
	_g_hash_table_unref0 (self->priv->to_load_remote);
	_g_hash_table_unref0 (self->priv->to_build);
	_g_hash_table_unref0 (self->priv->clone_files);
	_g_hash_table_unref0 (self->priv->clone_deps_files);
	_g_hash_table_unref0 (self->priv->ignorepkgs);
	_g_hash_table_unref0 (self->priv->overwrite_files);
	_g_hash_table_unref0 (self->priv->to_install_as_dep);
	_g_hash_table_unref0 (self->priv->snap_to_install);
	_g_hash_table_unref0 (self->priv->snap_to_remove);
	_g_hash_table_unref0 (self->priv->flatpak_to_install);
	_g_hash_table_unref0 (self->priv->flatpak_to_remove);
	_g_hash_table_unref0 (self->priv->flatpak_to_upgrade);
	_g_free0 (self->priv->tmp_path);
	_g_free0 (self->priv->aurdb_path);
	_g_hash_table_unref0 (self->priv->already_checked_aur_dep);
	_g_hash_table_unref0 (self->priv->aur_desc_list);
	(self->priv->to_build_queue == NULL) ? NULL : (self->priv->to_build_queue = (_g_queue_free__g_free0_ (self->priv->to_build_queue), NULL));
	_g_hash_table_unref0 (self->priv->aur_pkgs_to_install);
	_g_object_unref0 (self->priv->build_cancellable);
	_g_object_unref0 (self->priv->_database);
	G_OBJECT_CLASS (pamac_transaction_parent_class)->finalize (obj);
}

static GType
pamac_transaction_get_type_once (void)
{
	static const GTypeInfo g_define_type_info = { sizeof (PamacTransactionClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) pamac_transaction_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PamacTransaction), 0, (GInstanceInitFunc) pamac_transaction_instance_init, NULL };
	GType pamac_transaction_type_id;
	pamac_transaction_type_id = g_type_register_static (G_TYPE_OBJECT, "PamacTransaction", &g_define_type_info, 0);
	PamacTransaction_private_offset = g_type_add_instance_private (pamac_transaction_type_id, sizeof (PamacTransactionPrivate));
	return pamac_transaction_type_id;
}

GType
pamac_transaction_get_type (void)
{
	static volatile gsize pamac_transaction_type_id__once = 0;
	if (g_once_init_enter (&pamac_transaction_type_id__once)) {
		GType pamac_transaction_type_id;
		pamac_transaction_type_id = pamac_transaction_get_type_once ();
		g_once_init_leave (&pamac_transaction_type_id__once, pamac_transaction_type_id);
	}
	return pamac_transaction_type_id__once;
}

static void
_vala_pamac_transaction_get_property (GObject * object,
                                      guint property_id,
                                      GValue * value,
                                      GParamSpec * pspec)
{
	PamacTransaction * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, PAMAC_TYPE_TRANSACTION, PamacTransaction);
	switch (property_id) {
		case PAMAC_TRANSACTION_DATABASE_PROPERTY:
		g_value_set_object (value, pamac_transaction_get_database (self));
		break;
		case PAMAC_TRANSACTION_DOWNLOAD_ONLY_PROPERTY:
		g_value_set_boolean (value, pamac_transaction_get_download_only (self));
		break;
		case PAMAC_TRANSACTION_DRY_RUN_PROPERTY:
		g_value_set_boolean (value, pamac_transaction_get_dry_run (self));
		break;
		case PAMAC_TRANSACTION_INSTALL_IF_NEEDED_PROPERTY:
		g_value_set_boolean (value, pamac_transaction_get_install_if_needed (self));
		break;
		case PAMAC_TRANSACTION_REMOVE_IF_UNNEEDED_PROPERTY:
		g_value_set_boolean (value, pamac_transaction_get_remove_if_unneeded (self));
		break;
		case PAMAC_TRANSACTION_CASCADE_PROPERTY:
		g_value_set_boolean (value, pamac_transaction_get_cascade (self));
		break;
		case PAMAC_TRANSACTION_KEEP_CONFIG_FILES_PROPERTY:
		g_value_set_boolean (value, pamac_transaction_get_keep_config_files (self));
		break;
		case PAMAC_TRANSACTION_INSTALL_AS_DEP_PROPERTY:
		g_value_set_boolean (value, pamac_transaction_get_install_as_dep (self));
		break;
		case PAMAC_TRANSACTION_INSTALL_AS_EXPLICIT_PROPERTY:
		g_value_set_boolean (value, pamac_transaction_get_install_as_explicit (self));
		break;
		case PAMAC_TRANSACTION_NO_REFRESH_PROPERTY:
		g_value_set_boolean (value, pamac_transaction_get_no_refresh (self));
		break;
		default:
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
		break;
	}
}

static void
_vala_pamac_transaction_set_property (GObject * object,
                                      guint property_id,
                                      const GValue * value,
                                      GParamSpec * pspec)
{
	PamacTransaction * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, PAMAC_TYPE_TRANSACTION, PamacTransaction);
	switch (property_id) {
		case PAMAC_TRANSACTION_DATABASE_PROPERTY:
		pamac_transaction_set_database (self, g_value_get_object (value));
		break;
		case PAMAC_TRANSACTION_DOWNLOAD_ONLY_PROPERTY:
		pamac_transaction_set_download_only (self, g_value_get_boolean (value));
		break;
		case PAMAC_TRANSACTION_DRY_RUN_PROPERTY:
		pamac_transaction_set_dry_run (self, g_value_get_boolean (value));
		break;
		case PAMAC_TRANSACTION_INSTALL_IF_NEEDED_PROPERTY:
		pamac_transaction_set_install_if_needed (self, g_value_get_boolean (value));
		break;
		case PAMAC_TRANSACTION_REMOVE_IF_UNNEEDED_PROPERTY:
		pamac_transaction_set_remove_if_unneeded (self, g_value_get_boolean (value));
		break;
		case PAMAC_TRANSACTION_CASCADE_PROPERTY:
		pamac_transaction_set_cascade (self, g_value_get_boolean (value));
		break;
		case PAMAC_TRANSACTION_KEEP_CONFIG_FILES_PROPERTY:
		pamac_transaction_set_keep_config_files (self, g_value_get_boolean (value));
		break;
		case PAMAC_TRANSACTION_INSTALL_AS_DEP_PROPERTY:
		pamac_transaction_set_install_as_dep (self, g_value_get_boolean (value));
		break;
		case PAMAC_TRANSACTION_INSTALL_AS_EXPLICIT_PROPERTY:
		pamac_transaction_set_install_as_explicit (self, g_value_get_boolean (value));
		break;
		case PAMAC_TRANSACTION_NO_REFRESH_PROPERTY:
		pamac_transaction_set_no_refresh (self, g_value_get_boolean (value));
		break;
		default:
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
		break;
	}
}

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

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

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

