/* graphics-processor.c generated by valac 0.40.4, the Vala compiler
 * generated from graphics-processor.vala, do not modify */



#include <glib.h>
#include <glib-object.h>
#include <stdlib.h>
#include <string.h>
#include <gee.h>
#include "shotwell-graphics-processor.h"
#include <gdk-pixbuf/gdk-pixbuf.h>
#include <float.h>
#include <math.h>
#include <gio/gio.h>

#define _g_free0(var) (var = (g_free (var), NULL))
#define _g_regex_unref0(var) ((var == NULL) ? NULL : (var = (g_regex_unref (var), NULL)))
#define _g_error_free0(var) ((var == NULL) ? NULL : (var = (g_error_free (var), NULL)))
#define _g_key_file_unref0(var) ((var == NULL) ? NULL : (var = (g_key_file_unref (var), NULL)))
#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL)))
#define _key_value_map_unref0(var) ((var == NULL) ? NULL : (var = (key_value_map_unref (var), NULL)))
#define _g_option_context_free0(var) ((var == NULL) ? NULL : (var = (g_option_context_free (var), NULL)))
#define _pixel_transformation_bundle_unref0(var) ((var == NULL) ? NULL : (var = (pixel_transformation_bundle_unref (var), NULL)))
#define _g_timer_destroy0(var) ((var == NULL) ? NULL : (var = (g_timer_destroy (var), NULL)))
#define _pixel_transformer_unref0(var) ((var == NULL) ? NULL : (var = (pixel_transformer_unref (var), NULL)))


extern gchar* input_file;
gchar* input_file = NULL;
extern gchar* output_file;
gchar* output_file = NULL;
extern gchar* pipeline;
gchar* pipeline = NULL;
extern gboolean auto_enhance;
gboolean auto_enhance = FALSE;
extern gchar* format;
gchar* format = NULL;
extern gint jobs;
gint jobs = -1;

GeeHashMap* marshall_all_transformations (const gchar* filename);
gint _vala_main (gchar** args,
                 int args_length1);
static void _vala_array_destroy (gpointer array,
                          gint array_length,
                          GDestroyNotify destroy_func);
static void _vala_array_free (gpointer array,
                       gint array_length,
                       GDestroyNotify destroy_func);

const GOptionEntry options[7] = {{"input", 'i', 0, G_OPTION_ARG_FILENAME, &input_file, "FILE to process", "FILE"}, {"output", 'o', 0, G_OPTION_ARG_FILENAME, &output_file, "destination FILE", "FILE"}, {"pipeline", 'p', 0, G_OPTION_ARG_FILENAME, &pipeline, "graphics PIPELINE to run", "PIPELINE"}, {"auto-enance", 'a', 0, G_OPTION_ARG_NONE, &auto_enhance, "run auto-enhance on input file", NULL}, {"format", 'f', 0, G_OPTION_ARG_STRING, &format, "Save output file in specific format [png, jpeg (default)]", NULL}, {"jobs", 'j', 0, G_OPTION_ARG_INT, &jobs, "Number of parallel jobs to run on an image", NULL}, {NULL, (gchar) 0, 0, G_OPTION_ARG_NONE, NULL, NULL, NULL}};

static glong
string_strnlen (gchar* str,
                glong maxlen)
{
	glong result = 0L;
	gchar* end = NULL;
	gchar* _tmp0_;
	gchar* _tmp1_;
#line 1336 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
	_tmp0_ = memchr (str, 0, (gsize) maxlen);
#line 1336 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
	end = _tmp0_;
#line 1337 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
	_tmp1_ = end;
#line 1337 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
	if (_tmp1_ == NULL) {
#line 1338 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
		result = maxlen;
#line 1338 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
		return result;
#line 75 "graphics-processor.c"
	} else {
		gchar* _tmp2_;
#line 1340 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
		_tmp2_ = end;
#line 1340 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
		result = (glong) (_tmp2_ - str);
#line 1340 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
		return result;
#line 84 "graphics-processor.c"
	}
}


static gchar*
string_substring (const gchar* self,
                  glong offset,
                  glong len)
{
	gchar* result = NULL;
	glong string_length = 0L;
	gboolean _tmp0_ = FALSE;
	glong _tmp6_;
	gchar* _tmp7_;
#line 1347 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
	g_return_val_if_fail (self != NULL, NULL);
#line 1349 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
	if (offset >= ((glong) 0)) {
#line 1349 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
		_tmp0_ = len >= ((glong) 0);
#line 105 "graphics-processor.c"
	} else {
#line 1349 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
		_tmp0_ = FALSE;
#line 109 "graphics-processor.c"
	}
#line 1349 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
	if (_tmp0_) {
#line 1351 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
		string_length = string_strnlen ((gchar*) self, offset + len);
#line 115 "graphics-processor.c"
	} else {
		gint _tmp1_;
		gint _tmp2_;
#line 1353 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
		_tmp1_ = strlen (self);
#line 1353 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
		_tmp2_ = _tmp1_;
#line 1353 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
		string_length = (glong) _tmp2_;
#line 125 "graphics-processor.c"
	}
#line 1356 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
	if (offset < ((glong) 0)) {
#line 129 "graphics-processor.c"
		glong _tmp3_;
#line 1357 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
		_tmp3_ = string_length;
#line 1357 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
		offset = _tmp3_ + offset;
#line 1358 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
		g_return_val_if_fail (offset >= ((glong) 0), NULL);
#line 137 "graphics-processor.c"
	} else {
		glong _tmp4_;
#line 1360 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
		_tmp4_ = string_length;
#line 1360 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
		g_return_val_if_fail (offset <= _tmp4_, NULL);
#line 144 "graphics-processor.c"
	}
#line 1362 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
	if (len < ((glong) 0)) {
#line 148 "graphics-processor.c"
		glong _tmp5_;
#line 1363 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
		_tmp5_ = string_length;
#line 1363 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
		len = _tmp5_ - offset;
#line 154 "graphics-processor.c"
	}
#line 1365 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
	_tmp6_ = string_length;
#line 1365 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
	g_return_val_if_fail ((offset + len) <= _tmp6_, NULL);
#line 1366 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
	_tmp7_ = g_strndup (((gchar*) self) + offset, (gsize) len);
#line 1366 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
	result = _tmp7_;
#line 1366 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
	return result;
#line 166 "graphics-processor.c"
}


static gchar*
string_replace (const gchar* self,
                const gchar* old,
                const gchar* replacement)
{
	gchar* result = NULL;
	gboolean _tmp0_ = FALSE;
	gboolean _tmp1_ = FALSE;
	GError * _inner_error_ = NULL;
#line 1421 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
	g_return_val_if_fail (self != NULL, NULL);
#line 1421 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
	g_return_val_if_fail (old != NULL, NULL);
#line 1421 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
	g_return_val_if_fail (replacement != NULL, NULL);
#line 1422 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
	if ((*((gchar*) self)) == '\0') {
#line 1422 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
		_tmp1_ = TRUE;
#line 189 "graphics-processor.c"
	} else {
#line 1422 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
		_tmp1_ = (*((gchar*) old)) == '\0';
#line 193 "graphics-processor.c"
	}
#line 1422 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
	if (_tmp1_) {
#line 1422 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
		_tmp0_ = TRUE;
#line 199 "graphics-processor.c"
	} else {
#line 1422 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
		_tmp0_ = g_strcmp0 (old, replacement) == 0;
#line 203 "graphics-processor.c"
	}
#line 1422 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
	if (_tmp0_) {
#line 207 "graphics-processor.c"
		gchar* _tmp2_;
#line 1423 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
		_tmp2_ = g_strdup (self);
#line 1423 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
		result = _tmp2_;
#line 1423 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
		return result;
#line 215 "graphics-processor.c"
	}
	{
		GRegex* regex = NULL;
		gchar* _tmp3_;
		gchar* _tmp4_;
		GRegex* _tmp5_;
		GRegex* _tmp6_;
		gchar* _tmp7_ = NULL;
		GRegex* _tmp8_;
		gchar* _tmp9_;
		gchar* _tmp10_;
#line 1426 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
		_tmp3_ = g_regex_escape_string (old, -1);
#line 1426 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
		_tmp4_ = _tmp3_;
#line 1426 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
		_tmp5_ = g_regex_new (_tmp4_, 0, 0, &_inner_error_);
#line 1426 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
		_tmp6_ = _tmp5_;
#line 1426 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
		_g_free0 (_tmp4_);
#line 1426 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
		regex = _tmp6_;
#line 1426 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
		if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1426 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
			if (_inner_error_->domain == G_REGEX_ERROR) {
#line 243 "graphics-processor.c"
				goto __catch1_g_regex_error;
			}
#line 1426 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
			g_critical ("file %s: line %d: unexpected error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1426 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
			g_clear_error (&_inner_error_);
#line 1426 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
			return NULL;
#line 252 "graphics-processor.c"
		}
#line 1427 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
		_tmp8_ = regex;
#line 1427 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
		_tmp9_ = g_regex_replace_literal (_tmp8_, self, (gssize) -1, 0, replacement, 0, &_inner_error_);
#line 1427 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
		_tmp7_ = _tmp9_;
#line 1427 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
		if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1427 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
			_g_regex_unref0 (regex);
#line 1427 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
			if (_inner_error_->domain == G_REGEX_ERROR) {
#line 266 "graphics-processor.c"
				goto __catch1_g_regex_error;
			}
#line 1427 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
			_g_regex_unref0 (regex);
#line 1427 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
			g_critical ("file %s: line %d: unexpected error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1427 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
			g_clear_error (&_inner_error_);
#line 1427 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
			return NULL;
#line 277 "graphics-processor.c"
		}
#line 1427 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
		_tmp10_ = _tmp7_;
#line 1427 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
		_tmp7_ = NULL;
#line 1427 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
		result = _tmp10_;
#line 1427 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
		_g_free0 (_tmp7_);
#line 1427 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
		_g_regex_unref0 (regex);
#line 1427 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
		return result;
#line 291 "graphics-processor.c"
	}
	goto __finally1;
	__catch1_g_regex_error:
	{
		GError* e = NULL;
#line 1425 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
		e = _inner_error_;
#line 1425 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
		_inner_error_ = NULL;
#line 1429 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
		g_assert_not_reached ();
#line 1425 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
		_g_error_free0 (e);
#line 305 "graphics-processor.c"
	}
	__finally1:
#line 1425 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
	if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1425 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
		g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 1425 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
		g_clear_error (&_inner_error_);
#line 1425 "/usr/share/vala-0.40/vapi/glib-2.0.vapi"
		return NULL;
#line 316 "graphics-processor.c"
	}
}


GeeHashMap*
marshall_all_transformations (const gchar* filename)
{
	GeeHashMap* result = NULL;
	GError * _inner_error_ = NULL;
#line 18 "/home/jens/Source/shotwell/src/graphics-processor.vala"
	g_return_val_if_fail (filename != NULL, NULL);
#line 328 "graphics-processor.c"
	{
		GKeyFile* keyfile = NULL;
		GKeyFile* _tmp0_;
		GeeHashMap* map = NULL;
		GeeHashMap* _tmp13_;
		gchar** objects = NULL;
		GKeyFile* _tmp14_;
		gsize _tmp15_;
		gchar** _tmp16_;
		gint objects_length1;
		gint _objects_size_;
		gchar** _tmp17_;
		gint _tmp17__length1;
#line 20 "/home/jens/Source/shotwell/src/graphics-processor.vala"
		_tmp0_ = g_key_file_new ();
#line 20 "/home/jens/Source/shotwell/src/graphics-processor.vala"
		keyfile = _tmp0_;
#line 21 "/home/jens/Source/shotwell/src/graphics-processor.vala"
		if (g_str_has_prefix (filename, "string:")) {
#line 348 "graphics-processor.c"
			gchar* data = NULL;
			gchar* _tmp1_;
			gchar* _tmp2_;
			gchar* _tmp3_;
			gchar* _tmp4_;
			gchar* _tmp5_;
			gchar* _tmp6_;
			GKeyFile* _tmp7_;
			const gchar* _tmp8_;
			const gchar* _tmp9_;
			gint _tmp10_;
			gint _tmp11_;
#line 22 "/home/jens/Source/shotwell/src/graphics-processor.vala"
			_tmp1_ = string_substring (filename, (glong) 7, (glong) -1);
#line 22 "/home/jens/Source/shotwell/src/graphics-processor.vala"
			_tmp2_ = _tmp1_;
#line 22 "/home/jens/Source/shotwell/src/graphics-processor.vala"
			_tmp3_ = string_replace (_tmp2_, "&", "\n");
#line 22 "/home/jens/Source/shotwell/src/graphics-processor.vala"
			_tmp4_ = _tmp3_;
#line 22 "/home/jens/Source/shotwell/src/graphics-processor.vala"
			_tmp5_ = g_strconcat ("[adjustments]\n", _tmp4_, NULL);
#line 22 "/home/jens/Source/shotwell/src/graphics-processor.vala"
			_tmp6_ = _tmp5_;
#line 22 "/home/jens/Source/shotwell/src/graphics-processor.vala"
			_g_free0 (_tmp4_);
#line 22 "/home/jens/Source/shotwell/src/graphics-processor.vala"
			_g_free0 (_tmp2_);
#line 22 "/home/jens/Source/shotwell/src/graphics-processor.vala"
			data = _tmp6_;
#line 23 "/home/jens/Source/shotwell/src/graphics-processor.vala"
			_tmp7_ = keyfile;
#line 23 "/home/jens/Source/shotwell/src/graphics-processor.vala"
			_tmp8_ = data;
#line 23 "/home/jens/Source/shotwell/src/graphics-processor.vala"
			_tmp9_ = data;
#line 23 "/home/jens/Source/shotwell/src/graphics-processor.vala"
			_tmp10_ = strlen (_tmp9_);
#line 23 "/home/jens/Source/shotwell/src/graphics-processor.vala"
			_tmp11_ = _tmp10_;
#line 23 "/home/jens/Source/shotwell/src/graphics-processor.vala"
			g_key_file_load_from_data (_tmp7_, _tmp8_, (gsize) _tmp11_, G_KEY_FILE_NONE, &_inner_error_);
#line 23 "/home/jens/Source/shotwell/src/graphics-processor.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 23 "/home/jens/Source/shotwell/src/graphics-processor.vala"
				_g_free0 (data);
#line 23 "/home/jens/Source/shotwell/src/graphics-processor.vala"
				_g_key_file_unref0 (keyfile);
#line 397 "graphics-processor.c"
				goto __catch0_g_error;
			}
#line 21 "/home/jens/Source/shotwell/src/graphics-processor.vala"
			_g_free0 (data);
#line 402 "graphics-processor.c"
		} else {
			GKeyFile* _tmp12_;
#line 25 "/home/jens/Source/shotwell/src/graphics-processor.vala"
			_tmp12_ = keyfile;
#line 25 "/home/jens/Source/shotwell/src/graphics-processor.vala"
			g_key_file_load_from_file (_tmp12_, filename, G_KEY_FILE_NONE, &_inner_error_);
#line 25 "/home/jens/Source/shotwell/src/graphics-processor.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 25 "/home/jens/Source/shotwell/src/graphics-processor.vala"
				_g_key_file_unref0 (keyfile);
#line 413 "graphics-processor.c"
				goto __catch0_g_error;
			}
		}
#line 28 "/home/jens/Source/shotwell/src/graphics-processor.vala"
		_tmp13_ = gee_hash_map_new (G_TYPE_STRING, (GBoxedCopyFunc) g_strdup, (GDestroyNotify) g_free, TYPE_KEY_VALUE_MAP, (GBoxedCopyFunc) key_value_map_ref, (GDestroyNotify) key_value_map_unref, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);
#line 28 "/home/jens/Source/shotwell/src/graphics-processor.vala"
		map = _tmp13_;
#line 30 "/home/jens/Source/shotwell/src/graphics-processor.vala"
		_tmp14_ = keyfile;
#line 30 "/home/jens/Source/shotwell/src/graphics-processor.vala"
		_tmp16_ = g_key_file_get_groups (_tmp14_, &_tmp15_);
#line 30 "/home/jens/Source/shotwell/src/graphics-processor.vala"
		objects = _tmp16_;
#line 30 "/home/jens/Source/shotwell/src/graphics-processor.vala"
		objects_length1 = _tmp15_;
#line 30 "/home/jens/Source/shotwell/src/graphics-processor.vala"
		_objects_size_ = objects_length1;
#line 31 "/home/jens/Source/shotwell/src/graphics-processor.vala"
		_tmp17_ = objects;
#line 31 "/home/jens/Source/shotwell/src/graphics-processor.vala"
		_tmp17__length1 = objects_length1;
#line 435 "graphics-processor.c"
		{
			gchar** object_collection = NULL;
			gint object_collection_length1 = 0;
			gint _object_collection_size_ = 0;
			gint object_it = 0;
#line 31 "/home/jens/Source/shotwell/src/graphics-processor.vala"
			object_collection = _tmp17_;
#line 31 "/home/jens/Source/shotwell/src/graphics-processor.vala"
			object_collection_length1 = _tmp17__length1;
#line 31 "/home/jens/Source/shotwell/src/graphics-processor.vala"
			for (object_it = 0; object_it < _tmp17__length1; object_it = object_it + 1) {
#line 447 "graphics-processor.c"
				gchar* _tmp18_;
				gchar* object = NULL;
#line 31 "/home/jens/Source/shotwell/src/graphics-processor.vala"
				_tmp18_ = g_strdup (object_collection[object_it]);
#line 31 "/home/jens/Source/shotwell/src/graphics-processor.vala"
				object = _tmp18_;
#line 454 "graphics-processor.c"
				{
					gchar** keys = NULL;
					GKeyFile* _tmp19_;
					const gchar* _tmp20_;
					gsize _tmp21_;
					gchar** _tmp22_;
					gint keys_length1;
					gint _keys_size_;
					gboolean _tmp23_ = FALSE;
					gchar** _tmp24_;
					gint _tmp24__length1;
					KeyValueMap* key_map = NULL;
					const gchar* _tmp26_;
					KeyValueMap* _tmp27_;
					gchar** _tmp28_;
					gint _tmp28__length1;
					GeeHashMap* _tmp37_;
					const gchar* _tmp38_;
					KeyValueMap* _tmp39_;
#line 32 "/home/jens/Source/shotwell/src/graphics-processor.vala"
					_tmp19_ = keyfile;
#line 32 "/home/jens/Source/shotwell/src/graphics-processor.vala"
					_tmp20_ = object;
#line 32 "/home/jens/Source/shotwell/src/graphics-processor.vala"
					_tmp22_ = g_key_file_get_keys (_tmp19_, _tmp20_, &_tmp21_, &_inner_error_);
#line 32 "/home/jens/Source/shotwell/src/graphics-processor.vala"
					keys = _tmp22_;
#line 32 "/home/jens/Source/shotwell/src/graphics-processor.vala"
					keys_length1 = _tmp21_;
#line 32 "/home/jens/Source/shotwell/src/graphics-processor.vala"
					_keys_size_ = keys_length1;
#line 32 "/home/jens/Source/shotwell/src/graphics-processor.vala"
					if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 32 "/home/jens/Source/shotwell/src/graphics-processor.vala"
						_g_free0 (object);
#line 32 "/home/jens/Source/shotwell/src/graphics-processor.vala"
						objects = (_vala_array_free (objects, objects_length1, (GDestroyNotify) g_free), NULL);
#line 32 "/home/jens/Source/shotwell/src/graphics-processor.vala"
						_g_object_unref0 (map);
#line 32 "/home/jens/Source/shotwell/src/graphics-processor.vala"
						_g_key_file_unref0 (keyfile);
#line 496 "graphics-processor.c"
						goto __catch0_g_error;
					}
#line 33 "/home/jens/Source/shotwell/src/graphics-processor.vala"
					_tmp24_ = keys;
#line 33 "/home/jens/Source/shotwell/src/graphics-processor.vala"
					_tmp24__length1 = keys_length1;
#line 33 "/home/jens/Source/shotwell/src/graphics-processor.vala"
					if (_tmp24_ == NULL) {
#line 33 "/home/jens/Source/shotwell/src/graphics-processor.vala"
						_tmp23_ = TRUE;
#line 507 "graphics-processor.c"
					} else {
						gchar** _tmp25_;
						gint _tmp25__length1;
#line 33 "/home/jens/Source/shotwell/src/graphics-processor.vala"
						_tmp25_ = keys;
#line 33 "/home/jens/Source/shotwell/src/graphics-processor.vala"
						_tmp25__length1 = keys_length1;
#line 33 "/home/jens/Source/shotwell/src/graphics-processor.vala"
						_tmp23_ = _tmp25__length1 == 0;
#line 517 "graphics-processor.c"
					}
#line 33 "/home/jens/Source/shotwell/src/graphics-processor.vala"
					if (_tmp23_) {
#line 34 "/home/jens/Source/shotwell/src/graphics-processor.vala"
						keys = (_vala_array_free (keys, keys_length1, (GDestroyNotify) g_free), NULL);
#line 34 "/home/jens/Source/shotwell/src/graphics-processor.vala"
						_g_free0 (object);
#line 34 "/home/jens/Source/shotwell/src/graphics-processor.vala"
						continue;
#line 527 "graphics-processor.c"
					}
#line 37 "/home/jens/Source/shotwell/src/graphics-processor.vala"
					_tmp26_ = object;
#line 37 "/home/jens/Source/shotwell/src/graphics-processor.vala"
					_tmp27_ = key_value_map_new (_tmp26_);
#line 37 "/home/jens/Source/shotwell/src/graphics-processor.vala"
					key_map = _tmp27_;
#line 38 "/home/jens/Source/shotwell/src/graphics-processor.vala"
					_tmp28_ = keys;
#line 38 "/home/jens/Source/shotwell/src/graphics-processor.vala"
					_tmp28__length1 = keys_length1;
#line 539 "graphics-processor.c"
					{
						gchar** key_collection = NULL;
						gint key_collection_length1 = 0;
						gint _key_collection_size_ = 0;
						gint key_it = 0;
#line 38 "/home/jens/Source/shotwell/src/graphics-processor.vala"
						key_collection = _tmp28_;
#line 38 "/home/jens/Source/shotwell/src/graphics-processor.vala"
						key_collection_length1 = _tmp28__length1;
#line 38 "/home/jens/Source/shotwell/src/graphics-processor.vala"
						for (key_it = 0; key_it < _tmp28__length1; key_it = key_it + 1) {
#line 551 "graphics-processor.c"
							gchar* _tmp29_;
							gchar* key = NULL;
#line 38 "/home/jens/Source/shotwell/src/graphics-processor.vala"
							_tmp29_ = g_strdup (key_collection[key_it]);
#line 38 "/home/jens/Source/shotwell/src/graphics-processor.vala"
							key = _tmp29_;
#line 558 "graphics-processor.c"
							{
								gchar* _tmp30_ = NULL;
								GKeyFile* _tmp31_;
								const gchar* _tmp32_;
								const gchar* _tmp33_;
								gchar* _tmp34_;
								KeyValueMap* _tmp35_;
								const gchar* _tmp36_;
#line 39 "/home/jens/Source/shotwell/src/graphics-processor.vala"
								_tmp31_ = keyfile;
#line 39 "/home/jens/Source/shotwell/src/graphics-processor.vala"
								_tmp32_ = object;
#line 39 "/home/jens/Source/shotwell/src/graphics-processor.vala"
								_tmp33_ = key;
#line 39 "/home/jens/Source/shotwell/src/graphics-processor.vala"
								_tmp34_ = g_key_file_get_string (_tmp31_, _tmp32_, _tmp33_, &_inner_error_);
#line 39 "/home/jens/Source/shotwell/src/graphics-processor.vala"
								_tmp30_ = _tmp34_;
#line 39 "/home/jens/Source/shotwell/src/graphics-processor.vala"
								if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 39 "/home/jens/Source/shotwell/src/graphics-processor.vala"
									_g_free0 (key);
#line 39 "/home/jens/Source/shotwell/src/graphics-processor.vala"
									_key_value_map_unref0 (key_map);
#line 39 "/home/jens/Source/shotwell/src/graphics-processor.vala"
									keys = (_vala_array_free (keys, keys_length1, (GDestroyNotify) g_free), NULL);
#line 39 "/home/jens/Source/shotwell/src/graphics-processor.vala"
									_g_free0 (object);
#line 39 "/home/jens/Source/shotwell/src/graphics-processor.vala"
									objects = (_vala_array_free (objects, objects_length1, (GDestroyNotify) g_free), NULL);
#line 39 "/home/jens/Source/shotwell/src/graphics-processor.vala"
									_g_object_unref0 (map);
#line 39 "/home/jens/Source/shotwell/src/graphics-processor.vala"
									_g_key_file_unref0 (keyfile);
#line 593 "graphics-processor.c"
									goto __catch0_g_error;
								}
#line 39 "/home/jens/Source/shotwell/src/graphics-processor.vala"
								_tmp35_ = key_map;
#line 39 "/home/jens/Source/shotwell/src/graphics-processor.vala"
								_tmp36_ = key;
#line 39 "/home/jens/Source/shotwell/src/graphics-processor.vala"
								key_value_map_set_string (_tmp35_, _tmp36_, _tmp30_);
#line 38 "/home/jens/Source/shotwell/src/graphics-processor.vala"
								_g_free0 (_tmp30_);
#line 38 "/home/jens/Source/shotwell/src/graphics-processor.vala"
								_g_free0 (key);
#line 606 "graphics-processor.c"
							}
						}
					}
#line 41 "/home/jens/Source/shotwell/src/graphics-processor.vala"
					_tmp37_ = map;
#line 41 "/home/jens/Source/shotwell/src/graphics-processor.vala"
					_tmp38_ = object;
#line 41 "/home/jens/Source/shotwell/src/graphics-processor.vala"
					_tmp39_ = key_map;
#line 41 "/home/jens/Source/shotwell/src/graphics-processor.vala"
					gee_abstract_map_set (G_TYPE_CHECK_INSTANCE_CAST (_tmp37_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), _tmp38_, _tmp39_);
#line 31 "/home/jens/Source/shotwell/src/graphics-processor.vala"
					_key_value_map_unref0 (key_map);
#line 31 "/home/jens/Source/shotwell/src/graphics-processor.vala"
					keys = (_vala_array_free (keys, keys_length1, (GDestroyNotify) g_free), NULL);
#line 31 "/home/jens/Source/shotwell/src/graphics-processor.vala"
					_g_free0 (object);
#line 624 "graphics-processor.c"
				}
			}
		}
#line 44 "/home/jens/Source/shotwell/src/graphics-processor.vala"
		result = map;
#line 44 "/home/jens/Source/shotwell/src/graphics-processor.vala"
		objects = (_vala_array_free (objects, objects_length1, (GDestroyNotify) g_free), NULL);
#line 44 "/home/jens/Source/shotwell/src/graphics-processor.vala"
		_g_key_file_unref0 (keyfile);
#line 44 "/home/jens/Source/shotwell/src/graphics-processor.vala"
		return result;
#line 636 "graphics-processor.c"
	}
	goto __finally0;
	__catch0_g_error:
	{
		GError* err = NULL;
		const gchar* _tmp40_;
#line 19 "/home/jens/Source/shotwell/src/graphics-processor.vala"
		err = _inner_error_;
#line 19 "/home/jens/Source/shotwell/src/graphics-processor.vala"
		_inner_error_ = NULL;
#line 46 "/home/jens/Source/shotwell/src/graphics-processor.vala"
		_tmp40_ = err->message;
#line 46 "/home/jens/Source/shotwell/src/graphics-processor.vala"
		g_error ("graphics-processor.vala:46: %s", _tmp40_);
#line 19 "/home/jens/Source/shotwell/src/graphics-processor.vala"
		_g_error_free0 (err);
#line 653 "graphics-processor.c"
	}
	__finally0:
#line 19 "/home/jens/Source/shotwell/src/graphics-processor.vala"
	g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 19 "/home/jens/Source/shotwell/src/graphics-processor.vala"
	g_clear_error (&_inner_error_);
#line 19 "/home/jens/Source/shotwell/src/graphics-processor.vala"
	return NULL;
#line 662 "graphics-processor.c"
}


gint
_vala_main (gchar** args,
            int args_length1)
{
	gint result = 0;
	GOptionContext* ctx = NULL;
	GOptionContext* _tmp0_;
	GOptionContext* _tmp1_;
	GOptionContext* _tmp2_;
	GOptionContext* _tmp3_;
	gboolean _tmp9_ = FALSE;
	const gchar* _tmp10_;
	gboolean _tmp15_ = FALSE;
	gboolean _tmp16_;
	GdkPixbuf* src = NULL;
	GdkPixbuf* output = NULL;
	GdkPixbuf* _tmp24_;
	GdkPixbuf* _tmp25_;
	PixelTransformationBundle* adjustments = NULL;
	const gchar* _tmp26_;
	gboolean _tmp36_;
	PixelTransformer* transformer = NULL;
	PixelTransformationBundle* _tmp39_;
	PixelTransformer* _tmp40_;
	GTimer* timer = NULL;
	GTimer* _tmp41_;
	PixelTransformer* _tmp42_;
	GdkPixbuf* _tmp43_;
	GdkPixbuf* _tmp44_;
	gint _tmp45_;
	gdouble elapsed = 0.0;
	GTimer* _tmp46_;
	gdouble _tmp47_;
	gdouble _tmp48_;
	const gchar* _tmp49_;
	GError * _inner_error_ = NULL;
#line 51 "/home/jens/Source/shotwell/src/graphics-processor.vala"
	_tmp0_ = g_option_context_new ("- Apply shotwell transformations on commandline");
#line 51 "/home/jens/Source/shotwell/src/graphics-processor.vala"
	ctx = _tmp0_;
#line 52 "/home/jens/Source/shotwell/src/graphics-processor.vala"
	_tmp1_ = ctx;
#line 52 "/home/jens/Source/shotwell/src/graphics-processor.vala"
	g_option_context_set_help_enabled (_tmp1_, TRUE);
#line 53 "/home/jens/Source/shotwell/src/graphics-processor.vala"
	_tmp2_ = ctx;
#line 53 "/home/jens/Source/shotwell/src/graphics-processor.vala"
	g_option_context_set_ignore_unknown_options (_tmp2_, TRUE);
#line 54 "/home/jens/Source/shotwell/src/graphics-processor.vala"
	_tmp3_ = ctx;
#line 54 "/home/jens/Source/shotwell/src/graphics-processor.vala"
	g_option_context_add_main_entries (_tmp3_, options, NULL);
#line 718 "graphics-processor.c"
	{
		GOptionContext* _tmp4_;
#line 57 "/home/jens/Source/shotwell/src/graphics-processor.vala"
		_tmp4_ = ctx;
#line 57 "/home/jens/Source/shotwell/src/graphics-processor.vala"
		g_option_context_parse (_tmp4_, &args_length1, &args, &_inner_error_);
#line 57 "/home/jens/Source/shotwell/src/graphics-processor.vala"
		if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 727 "graphics-processor.c"
			goto __catch2_g_error;
		}
	}
	goto __finally2;
	__catch2_g_error:
	{
		GError* _error_ = NULL;
		GOptionContext* _tmp5_;
		gchar* _tmp6_;
		gchar* _tmp7_;
#line 56 "/home/jens/Source/shotwell/src/graphics-processor.vala"
		_error_ = _inner_error_;
#line 56 "/home/jens/Source/shotwell/src/graphics-processor.vala"
		_inner_error_ = NULL;
#line 59 "/home/jens/Source/shotwell/src/graphics-processor.vala"
		_tmp5_ = ctx;
#line 59 "/home/jens/Source/shotwell/src/graphics-processor.vala"
		_tmp6_ = g_option_context_get_help (_tmp5_, TRUE, NULL);
#line 59 "/home/jens/Source/shotwell/src/graphics-processor.vala"
		_tmp7_ = _tmp6_;
#line 59 "/home/jens/Source/shotwell/src/graphics-processor.vala"
		g_print ("%s", _tmp7_);
#line 59 "/home/jens/Source/shotwell/src/graphics-processor.vala"
		_g_free0 (_tmp7_);
#line 61 "/home/jens/Source/shotwell/src/graphics-processor.vala"
		result = 1;
#line 61 "/home/jens/Source/shotwell/src/graphics-processor.vala"
		_g_error_free0 (_error_);
#line 61 "/home/jens/Source/shotwell/src/graphics-processor.vala"
		_g_option_context_free0 (ctx);
#line 61 "/home/jens/Source/shotwell/src/graphics-processor.vala"
		return result;
#line 760 "graphics-processor.c"
	}
	__finally2:
#line 56 "/home/jens/Source/shotwell/src/graphics-processor.vala"
	if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 765 "graphics-processor.c"
		gint _tmp8_ = 0;
#line 56 "/home/jens/Source/shotwell/src/graphics-processor.vala"
		_g_option_context_free0 (ctx);
#line 56 "/home/jens/Source/shotwell/src/graphics-processor.vala"
		g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 56 "/home/jens/Source/shotwell/src/graphics-processor.vala"
		g_clear_error (&_inner_error_);
#line 56 "/home/jens/Source/shotwell/src/graphics-processor.vala"
		return _tmp8_;
#line 775 "graphics-processor.c"
	}
#line 64 "/home/jens/Source/shotwell/src/graphics-processor.vala"
	_tmp10_ = input_file;
#line 64 "/home/jens/Source/shotwell/src/graphics-processor.vala"
	if (_tmp10_ == NULL) {
#line 64 "/home/jens/Source/shotwell/src/graphics-processor.vala"
		_tmp9_ = TRUE;
#line 783 "graphics-processor.c"
	} else {
		const gchar* _tmp11_;
#line 64 "/home/jens/Source/shotwell/src/graphics-processor.vala"
		_tmp11_ = output_file;
#line 64 "/home/jens/Source/shotwell/src/graphics-processor.vala"
		_tmp9_ = _tmp11_ == NULL;
#line 790 "graphics-processor.c"
	}
#line 64 "/home/jens/Source/shotwell/src/graphics-processor.vala"
	if (_tmp9_) {
#line 794 "graphics-processor.c"
		GOptionContext* _tmp12_;
		gchar* _tmp13_;
		gchar* _tmp14_;
#line 65 "/home/jens/Source/shotwell/src/graphics-processor.vala"
		g_print ("You need to provide and input and output file\n");
#line 66 "/home/jens/Source/shotwell/src/graphics-processor.vala"
		_tmp12_ = ctx;
#line 66 "/home/jens/Source/shotwell/src/graphics-processor.vala"
		_tmp13_ = g_option_context_get_help (_tmp12_, TRUE, NULL);
#line 66 "/home/jens/Source/shotwell/src/graphics-processor.vala"
		_tmp14_ = _tmp13_;
#line 66 "/home/jens/Source/shotwell/src/graphics-processor.vala"
		g_print ("%s", _tmp14_);
#line 66 "/home/jens/Source/shotwell/src/graphics-processor.vala"
		_g_free0 (_tmp14_);
#line 68 "/home/jens/Source/shotwell/src/graphics-processor.vala"
		result = 1;
#line 68 "/home/jens/Source/shotwell/src/graphics-processor.vala"
		_g_option_context_free0 (ctx);
#line 68 "/home/jens/Source/shotwell/src/graphics-processor.vala"
		return result;
#line 816 "graphics-processor.c"
	}
#line 71 "/home/jens/Source/shotwell/src/graphics-processor.vala"
	_tmp16_ = auto_enhance;
#line 71 "/home/jens/Source/shotwell/src/graphics-processor.vala"
	if (_tmp16_ == FALSE) {
#line 822 "graphics-processor.c"
		const gchar* _tmp17_;
#line 71 "/home/jens/Source/shotwell/src/graphics-processor.vala"
		_tmp17_ = pipeline;
#line 71 "/home/jens/Source/shotwell/src/graphics-processor.vala"
		_tmp15_ = _tmp17_ == NULL;
#line 828 "graphics-processor.c"
	} else {
#line 71 "/home/jens/Source/shotwell/src/graphics-processor.vala"
		_tmp15_ = FALSE;
#line 832 "graphics-processor.c"
	}
#line 71 "/home/jens/Source/shotwell/src/graphics-processor.vala"
	if (_tmp15_) {
#line 72 "/home/jens/Source/shotwell/src/graphics-processor.vala"
		g_print ("No operation provided. Nothing to do.\n");
#line 74 "/home/jens/Source/shotwell/src/graphics-processor.vala"
		result = 0;
#line 74 "/home/jens/Source/shotwell/src/graphics-processor.vala"
		_g_option_context_free0 (ctx);
#line 74 "/home/jens/Source/shotwell/src/graphics-processor.vala"
		return result;
#line 844 "graphics-processor.c"
	}
#line 77 "/home/jens/Source/shotwell/src/graphics-processor.vala"
	src = NULL;
#line 848 "graphics-processor.c"
	{
		GdkPixbuf* _tmp18_ = NULL;
		const gchar* _tmp19_;
		GdkPixbuf* _tmp20_;
		GdkPixbuf* _tmp21_;
#line 79 "/home/jens/Source/shotwell/src/graphics-processor.vala"
		_tmp19_ = input_file;
#line 79 "/home/jens/Source/shotwell/src/graphics-processor.vala"
		_tmp20_ = gdk_pixbuf_new_from_file (_tmp19_, &_inner_error_);
#line 79 "/home/jens/Source/shotwell/src/graphics-processor.vala"
		_tmp18_ = _tmp20_;
#line 79 "/home/jens/Source/shotwell/src/graphics-processor.vala"
		if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 862 "graphics-processor.c"
			goto __catch3_g_error;
		}
#line 79 "/home/jens/Source/shotwell/src/graphics-processor.vala"
		_tmp21_ = _tmp18_;
#line 79 "/home/jens/Source/shotwell/src/graphics-processor.vala"
		_tmp18_ = NULL;
#line 79 "/home/jens/Source/shotwell/src/graphics-processor.vala"
		_g_object_unref0 (src);
#line 79 "/home/jens/Source/shotwell/src/graphics-processor.vala"
		src = _tmp21_;
#line 78 "/home/jens/Source/shotwell/src/graphics-processor.vala"
		_g_object_unref0 (_tmp18_);
#line 875 "graphics-processor.c"
	}
	goto __finally3;
	__catch3_g_error:
	{
		GError* err = NULL;
		const gchar* _tmp22_;
#line 78 "/home/jens/Source/shotwell/src/graphics-processor.vala"
		err = _inner_error_;
#line 78 "/home/jens/Source/shotwell/src/graphics-processor.vala"
		_inner_error_ = NULL;
#line 81 "/home/jens/Source/shotwell/src/graphics-processor.vala"
		_tmp22_ = err->message;
#line 81 "/home/jens/Source/shotwell/src/graphics-processor.vala"
		g_error ("graphics-processor.vala:81: %s", _tmp22_);
#line 78 "/home/jens/Source/shotwell/src/graphics-processor.vala"
		_g_error_free0 (err);
#line 892 "graphics-processor.c"
	}
	__finally3:
#line 78 "/home/jens/Source/shotwell/src/graphics-processor.vala"
	if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 897 "graphics-processor.c"
		gint _tmp23_ = 0;
#line 78 "/home/jens/Source/shotwell/src/graphics-processor.vala"
		_g_object_unref0 (src);
#line 78 "/home/jens/Source/shotwell/src/graphics-processor.vala"
		_g_option_context_free0 (ctx);
#line 78 "/home/jens/Source/shotwell/src/graphics-processor.vala"
		g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 78 "/home/jens/Source/shotwell/src/graphics-processor.vala"
		g_clear_error (&_inner_error_);
#line 78 "/home/jens/Source/shotwell/src/graphics-processor.vala"
		return _tmp23_;
#line 909 "graphics-processor.c"
	}
#line 84 "/home/jens/Source/shotwell/src/graphics-processor.vala"
	_tmp24_ = src;
#line 84 "/home/jens/Source/shotwell/src/graphics-processor.vala"
	_tmp25_ = gdk_pixbuf_copy (_tmp24_);
#line 84 "/home/jens/Source/shotwell/src/graphics-processor.vala"
	output = _tmp25_;
#line 85 "/home/jens/Source/shotwell/src/graphics-processor.vala"
	adjustments = NULL;
#line 87 "/home/jens/Source/shotwell/src/graphics-processor.vala"
	_tmp26_ = pipeline;
#line 87 "/home/jens/Source/shotwell/src/graphics-processor.vala"
	if (_tmp26_ != NULL) {
#line 923 "graphics-processor.c"
		GeeHashMap* transformations = NULL;
		const gchar* _tmp27_;
		GeeHashMap* _tmp28_;
		PixelTransformationBundle* _tmp29_;
		KeyValueMap* map = NULL;
		GeeHashMap* _tmp30_;
		gpointer _tmp31_;
		KeyValueMap* _tmp32_;
#line 88 "/home/jens/Source/shotwell/src/graphics-processor.vala"
		_tmp27_ = pipeline;
#line 88 "/home/jens/Source/shotwell/src/graphics-processor.vala"
		_tmp28_ = marshall_all_transformations (_tmp27_);
#line 88 "/home/jens/Source/shotwell/src/graphics-processor.vala"
		transformations = _tmp28_;
#line 90 "/home/jens/Source/shotwell/src/graphics-processor.vala"
		_tmp29_ = pixel_transformation_bundle_new ();
#line 90 "/home/jens/Source/shotwell/src/graphics-processor.vala"
		_pixel_transformation_bundle_unref0 (adjustments);
#line 90 "/home/jens/Source/shotwell/src/graphics-processor.vala"
		adjustments = _tmp29_;
#line 91 "/home/jens/Source/shotwell/src/graphics-processor.vala"
		_tmp30_ = transformations;
#line 91 "/home/jens/Source/shotwell/src/graphics-processor.vala"
		_tmp31_ = gee_abstract_map_get (G_TYPE_CHECK_INSTANCE_CAST (_tmp30_, GEE_TYPE_ABSTRACT_MAP, GeeAbstractMap), "adjustments");
#line 91 "/home/jens/Source/shotwell/src/graphics-processor.vala"
		map = (KeyValueMap*) _tmp31_;
#line 92 "/home/jens/Source/shotwell/src/graphics-processor.vala"
		_tmp32_ = map;
#line 92 "/home/jens/Source/shotwell/src/graphics-processor.vala"
		if (_tmp32_ == NULL) {
#line 954 "graphics-processor.c"
			PixelTransformationBundle* _tmp33_;
#line 93 "/home/jens/Source/shotwell/src/graphics-processor.vala"
			_tmp33_ = adjustments;
#line 93 "/home/jens/Source/shotwell/src/graphics-processor.vala"
			pixel_transformation_bundle_set_to_identity (_tmp33_);
#line 960 "graphics-processor.c"
		} else {
			PixelTransformationBundle* _tmp34_;
			KeyValueMap* _tmp35_;
#line 95 "/home/jens/Source/shotwell/src/graphics-processor.vala"
			_tmp34_ = adjustments;
#line 95 "/home/jens/Source/shotwell/src/graphics-processor.vala"
			_tmp35_ = map;
#line 95 "/home/jens/Source/shotwell/src/graphics-processor.vala"
			pixel_transformation_bundle_load (_tmp34_, _tmp35_);
#line 970 "graphics-processor.c"
		}
#line 87 "/home/jens/Source/shotwell/src/graphics-processor.vala"
		_key_value_map_unref0 (map);
#line 87 "/home/jens/Source/shotwell/src/graphics-processor.vala"
		_g_object_unref0 (transformations);
#line 976 "graphics-processor.c"
	}
#line 99 "/home/jens/Source/shotwell/src/graphics-processor.vala"
	_tmp36_ = auto_enhance;
#line 99 "/home/jens/Source/shotwell/src/graphics-processor.vala"
	if (_tmp36_) {
#line 982 "graphics-processor.c"
		GdkPixbuf* _tmp37_;
		PixelTransformationBundle* _tmp38_;
#line 100 "/home/jens/Source/shotwell/src/graphics-processor.vala"
		_tmp37_ = src;
#line 100 "/home/jens/Source/shotwell/src/graphics-processor.vala"
		_tmp38_ = auto_enhance_create_auto_enhance_adjustments (_tmp37_);
#line 100 "/home/jens/Source/shotwell/src/graphics-processor.vala"
		_pixel_transformation_bundle_unref0 (adjustments);
#line 100 "/home/jens/Source/shotwell/src/graphics-processor.vala"
		adjustments = _tmp38_;
#line 993 "graphics-processor.c"
	}
#line 103 "/home/jens/Source/shotwell/src/graphics-processor.vala"
	_tmp39_ = adjustments;
#line 103 "/home/jens/Source/shotwell/src/graphics-processor.vala"
	_tmp40_ = pixel_transformation_bundle_generate_transformer (_tmp39_);
#line 103 "/home/jens/Source/shotwell/src/graphics-processor.vala"
	transformer = _tmp40_;
#line 104 "/home/jens/Source/shotwell/src/graphics-processor.vala"
	_tmp41_ = g_timer_new ();
#line 104 "/home/jens/Source/shotwell/src/graphics-processor.vala"
	timer = _tmp41_;
#line 105 "/home/jens/Source/shotwell/src/graphics-processor.vala"
	_tmp42_ = transformer;
#line 105 "/home/jens/Source/shotwell/src/graphics-processor.vala"
	_tmp43_ = src;
#line 105 "/home/jens/Source/shotwell/src/graphics-processor.vala"
	_tmp44_ = output;
#line 105 "/home/jens/Source/shotwell/src/graphics-processor.vala"
	_tmp45_ = jobs;
#line 105 "/home/jens/Source/shotwell/src/graphics-processor.vala"
	pixel_transformer_transform_to_other_pixbuf (_tmp42_, _tmp43_, _tmp44_, NULL, _tmp45_);
#line 106 "/home/jens/Source/shotwell/src/graphics-processor.vala"
	_tmp46_ = timer;
#line 106 "/home/jens/Source/shotwell/src/graphics-processor.vala"
	_tmp47_ = g_timer_elapsed (_tmp46_, NULL);
#line 106 "/home/jens/Source/shotwell/src/graphics-processor.vala"
	elapsed = _tmp47_;
#line 108 "/home/jens/Source/shotwell/src/graphics-processor.vala"
	_tmp48_ = elapsed;
#line 108 "/home/jens/Source/shotwell/src/graphics-processor.vala"
	g_print ("Transformation took %f\n", _tmp48_);
#line 111 "/home/jens/Source/shotwell/src/graphics-processor.vala"
	_tmp49_ = format;
#line 111 "/home/jens/Source/shotwell/src/graphics-processor.vala"
	if (_tmp49_ == NULL) {
#line 1029 "graphics-processor.c"
		gchar* content_type = NULL;
		const gchar* _tmp50_;
		gchar* _tmp51_;
		const gchar* _tmp52_;
		gchar* _tmp54_;
#line 112 "/home/jens/Source/shotwell/src/graphics-processor.vala"
		_tmp50_ = output_file;
#line 112 "/home/jens/Source/shotwell/src/graphics-processor.vala"
		_tmp51_ = g_content_type_guess (_tmp50_, NULL, (gsize) 0, NULL);
#line 112 "/home/jens/Source/shotwell/src/graphics-processor.vala"
		content_type = _tmp51_;
#line 113 "/home/jens/Source/shotwell/src/graphics-processor.vala"
		_tmp52_ = content_type;
#line 113 "/home/jens/Source/shotwell/src/graphics-processor.vala"
		if (g_strcmp0 (_tmp52_, "image/png") == 0) {
#line 1045 "graphics-processor.c"
			gchar* _tmp53_;
#line 114 "/home/jens/Source/shotwell/src/graphics-processor.vala"
			_tmp53_ = g_strdup ("png");
#line 114 "/home/jens/Source/shotwell/src/graphics-processor.vala"
			_g_free0 (format);
#line 114 "/home/jens/Source/shotwell/src/graphics-processor.vala"
			format = _tmp53_;
#line 1053 "graphics-processor.c"
		}
#line 117 "/home/jens/Source/shotwell/src/graphics-processor.vala"
		_tmp54_ = g_strdup ("jpeg");
#line 117 "/home/jens/Source/shotwell/src/graphics-processor.vala"
		_g_free0 (format);
#line 117 "/home/jens/Source/shotwell/src/graphics-processor.vala"
		format = _tmp54_;
#line 111 "/home/jens/Source/shotwell/src/graphics-processor.vala"
		_g_free0 (content_type);
#line 1063 "graphics-processor.c"
	}
	{
		GdkPixbuf* _tmp55_;
		const gchar* _tmp56_;
		const gchar* _tmp57_;
#line 121 "/home/jens/Source/shotwell/src/graphics-processor.vala"
		_tmp55_ = output;
#line 121 "/home/jens/Source/shotwell/src/graphics-processor.vala"
		_tmp56_ = output_file;
#line 121 "/home/jens/Source/shotwell/src/graphics-processor.vala"
		_tmp57_ = format;
#line 121 "/home/jens/Source/shotwell/src/graphics-processor.vala"
		gdk_pixbuf_save (_tmp55_, _tmp56_, _tmp57_, &_inner_error_, NULL, NULL);
#line 121 "/home/jens/Source/shotwell/src/graphics-processor.vala"
		if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1079 "graphics-processor.c"
			goto __catch4_g_error;
		}
	}
	goto __finally4;
	__catch4_g_error:
	{
		GError* err = NULL;
		const gchar* _tmp58_;
#line 120 "/home/jens/Source/shotwell/src/graphics-processor.vala"
		err = _inner_error_;
#line 120 "/home/jens/Source/shotwell/src/graphics-processor.vala"
		_inner_error_ = NULL;
#line 123 "/home/jens/Source/shotwell/src/graphics-processor.vala"
		_tmp58_ = err->message;
#line 123 "/home/jens/Source/shotwell/src/graphics-processor.vala"
		g_error ("graphics-processor.vala:123: %s", _tmp58_);
#line 120 "/home/jens/Source/shotwell/src/graphics-processor.vala"
		_g_error_free0 (err);
#line 1098 "graphics-processor.c"
	}
	__finally4:
#line 120 "/home/jens/Source/shotwell/src/graphics-processor.vala"
	if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1103 "graphics-processor.c"
		gint _tmp59_ = 0;
#line 120 "/home/jens/Source/shotwell/src/graphics-processor.vala"
		_g_timer_destroy0 (timer);
#line 120 "/home/jens/Source/shotwell/src/graphics-processor.vala"
		_pixel_transformer_unref0 (transformer);
#line 120 "/home/jens/Source/shotwell/src/graphics-processor.vala"
		_pixel_transformation_bundle_unref0 (adjustments);
#line 120 "/home/jens/Source/shotwell/src/graphics-processor.vala"
		_g_object_unref0 (output);
#line 120 "/home/jens/Source/shotwell/src/graphics-processor.vala"
		_g_object_unref0 (src);
#line 120 "/home/jens/Source/shotwell/src/graphics-processor.vala"
		_g_option_context_free0 (ctx);
#line 120 "/home/jens/Source/shotwell/src/graphics-processor.vala"
		g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 120 "/home/jens/Source/shotwell/src/graphics-processor.vala"
		g_clear_error (&_inner_error_);
#line 120 "/home/jens/Source/shotwell/src/graphics-processor.vala"
		return _tmp59_;
#line 1123 "graphics-processor.c"
	}
#line 126 "/home/jens/Source/shotwell/src/graphics-processor.vala"
	result = 0;
#line 126 "/home/jens/Source/shotwell/src/graphics-processor.vala"
	_g_timer_destroy0 (timer);
#line 126 "/home/jens/Source/shotwell/src/graphics-processor.vala"
	_pixel_transformer_unref0 (transformer);
#line 126 "/home/jens/Source/shotwell/src/graphics-processor.vala"
	_pixel_transformation_bundle_unref0 (adjustments);
#line 126 "/home/jens/Source/shotwell/src/graphics-processor.vala"
	_g_object_unref0 (output);
#line 126 "/home/jens/Source/shotwell/src/graphics-processor.vala"
	_g_object_unref0 (src);
#line 126 "/home/jens/Source/shotwell/src/graphics-processor.vala"
	_g_option_context_free0 (ctx);
#line 126 "/home/jens/Source/shotwell/src/graphics-processor.vala"
	return result;
#line 1141 "graphics-processor.c"
}


int
main (int argc,
      char ** argv)
{
#line 50 "/home/jens/Source/shotwell/src/graphics-processor.vala"
	return _vala_main (argv, argc);
#line 1151 "graphics-processor.c"
}


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


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