/* launch-command-parser.c generated by valac 0.56.19, the Vala compiler
 * generated from launch-command-parser.vala, do not modify */

#include "protonplus_core.h"
#include <stdlib.h>
#include <string.h>
#include <glib.h>
#include <glib-object.h>
#include <gee.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

enum  {
	PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_PARSE_DIAGNOSTIC_0_PROPERTY,
	PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_PARSE_DIAGNOSTIC_CODE_PROPERTY,
	PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_PARSE_DIAGNOSTIC_MESSAGE_PROPERTY,
	PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_PARSE_DIAGNOSTIC_TOKEN_INDEX_PROPERTY,
	PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_PARSE_DIAGNOSTIC_NUM_PROPERTIES
};
static GParamSpec* proton_plus_widgets_games_launch_options_editor_launch_command_parse_diagnostic_properties[PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_PARSE_DIAGNOSTIC_NUM_PROPERTIES];
#define _g_free0(var) (var = (g_free (var), NULL))
enum  {
	PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_OPTION_OCCURRENCE_0_PROPERTY,
	PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_OPTION_OCCURRENCE_OPTION_ID_PROPERTY,
	PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_OPTION_OCCURRENCE_SEMANTIC_KIND_PROPERTY,
	PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_OPTION_OCCURRENCE_RAW_TOKENS_PROPERTY,
	PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_OPTION_OCCURRENCE_NORMALIZED_VALUE_PROPERTY,
	PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_OPTION_OCCURRENCE_IS_LEGACY_PROPERTY,
	PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_OPTION_OCCURRENCE_MANAGED_EMISSION_PROPERTY,
	PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_OPTION_OCCURRENCE_ENVIRONMENT_KEY_PROPERTY,
	PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_OPTION_OCCURRENCE_ENVIRONMENT_VALUE_PROPERTY,
	PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_OPTION_OCCURRENCE_WRAPPER_ID_PROPERTY,
	PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_OPTION_OCCURRENCE_NUM_PROPERTIES
};
static GParamSpec* proton_plus_widgets_games_launch_options_editor_launch_command_option_occurrence_properties[PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_OPTION_OCCURRENCE_NUM_PROPERTIES];
#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL)))
enum  {
	PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_WRAPPER_INVOCATION_0_PROPERTY,
	PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_WRAPPER_INVOCATION_WRAPPER_ID_PROPERTY,
	PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_WRAPPER_INVOCATION_EXECUTABLE_TOKENS_PROPERTY,
	PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_WRAPPER_INVOCATION_USED_ALIAS_PROPERTY,
	PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_WRAPPER_INVOCATION_DELIMITER_INDEX_PROPERTY,
	PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_WRAPPER_INVOCATION_ARGUMENT_INDEXES_PROPERTY,
	PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_WRAPPER_INVOCATION_UNKNOWN_ARGUMENT_INDEXES_PROPERTY,
	PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_WRAPPER_INVOCATION_NUM_PROPERTIES
};
static GParamSpec* proton_plus_widgets_games_launch_options_editor_launch_command_wrapper_invocation_properties[PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_WRAPPER_INVOCATION_NUM_PROPERTIES];
enum  {
	PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_UNRECOGNIZED_TOKEN_0_PROPERTY,
	PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_UNRECOGNIZED_TOKEN_TOKEN_PROPERTY,
	PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_UNRECOGNIZED_TOKEN_TOKEN_INDEX_PROPERTY,
	PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_UNRECOGNIZED_TOKEN_KIND_PROPERTY,
	PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_UNRECOGNIZED_TOKEN_NUM_PROPERTIES
};
static GParamSpec* proton_plus_widgets_games_launch_options_editor_launch_command_unrecognized_token_properties[PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_UNRECOGNIZED_TOKEN_NUM_PROPERTIES];
enum  {
	PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_BOUNDARY_OCCURRENCE_0_PROPERTY,
	PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_BOUNDARY_OCCURRENCE_TOKEN_PROPERTY,
	PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_BOUNDARY_OCCURRENCE_TOKEN_INDEX_PROPERTY,
	PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_BOUNDARY_OCCURRENCE_NUM_PROPERTIES
};
static GParamSpec* proton_plus_widgets_games_launch_options_editor_launch_command_boundary_occurrence_properties[PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_BOUNDARY_OCCURRENCE_NUM_PROPERTIES];
enum  {
	PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_PARSE_RESULT_0_PROPERTY,
	PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_PARSE_RESULT_ORIGINAL_INPUT_PROPERTY,
	PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_PARSE_RESULT_TOKENS_PROPERTY,
	PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_PARSE_RESULT_OCCURRENCES_PROPERTY,
	PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_PARSE_RESULT_WRAPPERS_PROPERTY,
	PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_PARSE_RESULT_COMMAND_BOUNDARIES_PROPERTY,
	PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_PARSE_RESULT_COMMAND_BOUNDARY_INDEXES_PROPERTY,
	PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_PARSE_RESULT_UNRECOGNIZED_TOKENS_PROPERTY,
	PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_PARSE_RESULT_OPAQUE_TOKENS_PROPERTY,
	PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_PARSE_RESULT_DIAGNOSTICS_PROPERTY,
	PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_PARSE_RESULT_IS_STRUCTURALLY_SAFE_PROPERTY,
	PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_PARSE_RESULT_NUM_PROPERTIES
};
static GParamSpec* proton_plus_widgets_games_launch_options_editor_launch_command_parse_result_properties[PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_PARSE_RESULT_NUM_PROPERTIES];
enum  {
	PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_PARSER_0_PROPERTY,
	PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_PARSER_NUM_PROPERTIES
};
static GParamSpec* proton_plus_widgets_games_launch_options_editor_launch_command_parser_properties[PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_PARSER_NUM_PROPERTIES];

#define PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_TYPE_WRAPPER_MATCH (proton_plus_widgets_games_launch_options_editor_wrapper_match_get_type ())
#define PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_WRAPPER_MATCH(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_TYPE_WRAPPER_MATCH, ProtonPlusWidgetsGamesLaunchOptionsEditorWrapperMatch))
#define PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_WRAPPER_MATCH_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_TYPE_WRAPPER_MATCH, ProtonPlusWidgetsGamesLaunchOptionsEditorWrapperMatchClass))
#define PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_IS_WRAPPER_MATCH(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_TYPE_WRAPPER_MATCH))
#define PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_IS_WRAPPER_MATCH_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_TYPE_WRAPPER_MATCH))
#define PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_WRAPPER_MATCH_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_TYPE_WRAPPER_MATCH, ProtonPlusWidgetsGamesLaunchOptionsEditorWrapperMatchClass))

typedef struct _ProtonPlusWidgetsGamesLaunchOptionsEditorWrapperMatch ProtonPlusWidgetsGamesLaunchOptionsEditorWrapperMatch;
typedef struct _ProtonPlusWidgetsGamesLaunchOptionsEditorWrapperMatchClass ProtonPlusWidgetsGamesLaunchOptionsEditorWrapperMatchClass;

#define PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_TYPE_WRAPPER_ARGUMENT_MATCH (proton_plus_widgets_games_launch_options_editor_wrapper_argument_match_get_type ())
#define PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_WRAPPER_ARGUMENT_MATCH(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_TYPE_WRAPPER_ARGUMENT_MATCH, ProtonPlusWidgetsGamesLaunchOptionsEditorWrapperArgumentMatch))
#define PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_WRAPPER_ARGUMENT_MATCH_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_TYPE_WRAPPER_ARGUMENT_MATCH, ProtonPlusWidgetsGamesLaunchOptionsEditorWrapperArgumentMatchClass))
#define PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_IS_WRAPPER_ARGUMENT_MATCH(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_TYPE_WRAPPER_ARGUMENT_MATCH))
#define PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_IS_WRAPPER_ARGUMENT_MATCH_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_TYPE_WRAPPER_ARGUMENT_MATCH))
#define PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_WRAPPER_ARGUMENT_MATCH_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_TYPE_WRAPPER_ARGUMENT_MATCH, ProtonPlusWidgetsGamesLaunchOptionsEditorWrapperArgumentMatchClass))

typedef struct _ProtonPlusWidgetsGamesLaunchOptionsEditorWrapperArgumentMatch ProtonPlusWidgetsGamesLaunchOptionsEditorWrapperArgumentMatch;
typedef struct _ProtonPlusWidgetsGamesLaunchOptionsEditorWrapperArgumentMatchClass ProtonPlusWidgetsGamesLaunchOptionsEditorWrapperArgumentMatchClass;
typedef struct _ProtonPlusWidgetsGamesLaunchOptionsEditorWrapperArgumentMatchPrivate ProtonPlusWidgetsGamesLaunchOptionsEditorWrapperArgumentMatchPrivate;
typedef struct _ProtonPlusWidgetsGamesLaunchOptionsEditorWrapperMatchPrivate ProtonPlusWidgetsGamesLaunchOptionsEditorWrapperMatchPrivate;
enum  {
	PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_WRAPPER_MATCH_0_PROPERTY,
	PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_WRAPPER_MATCH_DEFINITION_PROPERTY,
	PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_WRAPPER_MATCH_LENGTH_PROPERTY,
	PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_WRAPPER_MATCH_USED_ALIAS_PROPERTY,
	PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_WRAPPER_MATCH_NUM_PROPERTIES
};
static GParamSpec* proton_plus_widgets_games_launch_options_editor_wrapper_match_properties[PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_WRAPPER_MATCH_NUM_PROPERTIES];
enum  {
	PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_WRAPPER_ARGUMENT_MATCH_0_PROPERTY,
	PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_WRAPPER_ARGUMENT_MATCH_ENTRY_PROPERTY,
	PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_WRAPPER_ARGUMENT_MATCH_LENGTH_PROPERTY,
	PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_WRAPPER_ARGUMENT_MATCH_NUM_PROPERTIES
};
static GParamSpec* proton_plus_widgets_games_launch_options_editor_wrapper_argument_match_properties[PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_WRAPPER_ARGUMENT_MATCH_NUM_PROPERTIES];

struct _ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandParseDiagnosticPrivate {
	ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandParseDiagnosticCode _code;
	gchar* _message;
	gint _token_index;
};

struct _ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandOptionOccurrencePrivate {
	gchar* _option_id;
	ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionSemanticKind _semantic_kind;
	GeeArrayList* _raw_tokens;
	gchar* _normalized_value;
	gboolean _is_legacy;
	gboolean _managed_emission;
	gchar* _environment_key;
	gchar* _environment_value;
	gchar* _wrapper_id;
};

struct _ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandWrapperInvocationPrivate {
	gchar* _wrapper_id;
	GeeArrayList* _executable_tokens;
	gboolean _used_alias;
	gint _delimiter_index;
	GeeArrayList* _argument_indexes;
	GeeArrayList* _unknown_argument_indexes;
};

struct _ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandUnrecognizedTokenPrivate {
	ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionShellToken* _token;
	gint _token_index;
	ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandUnrecognizedKind _kind;
};

struct _ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandBoundaryOccurrencePrivate {
	ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionShellToken* _token;
	gint _token_index;
};

struct _ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandParseResultPrivate {
	gchar* _original_input;
	GeeArrayList* _tokens;
	GeeArrayList* _occurrences;
	GeeArrayList* _wrappers;
	GeeArrayList* _command_boundaries;
	GeeArrayList* _command_boundary_indexes;
	GeeArrayList* _unrecognized_tokens;
	GeeArrayList* _opaque_tokens;
	GeeArrayList* _diagnostics;
	gboolean _is_structurally_safe;
};

struct _ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandParserPrivate {
	ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionCatalog* catalog;
};

struct _ProtonPlusWidgetsGamesLaunchOptionsEditorWrapperArgumentMatch {
	GObject parent_instance;
	ProtonPlusWidgetsGamesLaunchOptionsEditorWrapperArgumentMatchPrivate * priv;
	gint* indexes;
	gint indexes_length1;
	gint _indexes_size_;
};

struct _ProtonPlusWidgetsGamesLaunchOptionsEditorWrapperArgumentMatchClass {
	GObjectClass parent_class;
};

struct _ProtonPlusWidgetsGamesLaunchOptionsEditorWrapperMatch {
	GObject parent_instance;
	ProtonPlusWidgetsGamesLaunchOptionsEditorWrapperMatchPrivate * priv;
};

struct _ProtonPlusWidgetsGamesLaunchOptionsEditorWrapperMatchClass {
	GObjectClass parent_class;
};

struct _ProtonPlusWidgetsGamesLaunchOptionsEditorWrapperMatchPrivate {
	ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchWrapperDefinition* _definition;
	gint _length;
	gboolean _used_alias;
};

struct _ProtonPlusWidgetsGamesLaunchOptionsEditorWrapperArgumentMatchPrivate {
	ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionMetadata* _entry;
};

static gint ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandParseDiagnostic_private_offset;
static gpointer proton_plus_widgets_games_launch_options_editor_launch_command_parse_diagnostic_parent_class = NULL;
static gint ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandOptionOccurrence_private_offset;
static gpointer proton_plus_widgets_games_launch_options_editor_launch_command_option_occurrence_parent_class = NULL;
static gint ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandWrapperInvocation_private_offset;
static gpointer proton_plus_widgets_games_launch_options_editor_launch_command_wrapper_invocation_parent_class = NULL;
static gint ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandUnrecognizedToken_private_offset;
static gpointer proton_plus_widgets_games_launch_options_editor_launch_command_unrecognized_token_parent_class = NULL;
static gint ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandBoundaryOccurrence_private_offset;
static gpointer proton_plus_widgets_games_launch_options_editor_launch_command_boundary_occurrence_parent_class = NULL;
static gint ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandParseResult_private_offset;
static gpointer proton_plus_widgets_games_launch_options_editor_launch_command_parse_result_parent_class = NULL;
static gint ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandParser_private_offset;
static gpointer proton_plus_widgets_games_launch_options_editor_launch_command_parser_parent_class = NULL;
static gint ProtonPlusWidgetsGamesLaunchOptionsEditorWrapperMatch_private_offset;
static gpointer proton_plus_widgets_games_launch_options_editor_wrapper_match_parent_class = NULL;
static gint ProtonPlusWidgetsGamesLaunchOptionsEditorWrapperArgumentMatch_private_offset;
static gpointer proton_plus_widgets_games_launch_options_editor_wrapper_argument_match_parent_class = NULL;

static void proton_plus_widgets_games_launch_options_editor_launch_command_parse_diagnostic_finalize (GObject * obj);
static GType proton_plus_widgets_games_launch_options_editor_launch_command_parse_diagnostic_get_type_once (void);
static void _vala_proton_plus_widgets_games_launch_options_editor_launch_command_parse_diagnostic_get_property (GObject * object,
                                                                                                         guint property_id,
                                                                                                         GValue * value,
                                                                                                         GParamSpec * pspec);
static void _vala_proton_plus_widgets_games_launch_options_editor_launch_command_parse_diagnostic_set_property (GObject * object,
                                                                                                         guint property_id,
                                                                                                         const GValue * value,
                                                                                                         GParamSpec * pspec);
static void proton_plus_widgets_games_launch_options_editor_launch_command_option_occurrence_set_raw_tokens (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandOptionOccurrence* self,
                                                                                                      GeeArrayList* value);
static gint* _vala_array_dup7 (gint* self,
                        gssize length);
static void proton_plus_widgets_games_launch_options_editor_launch_command_option_occurrence_finalize (GObject * obj);
static GType proton_plus_widgets_games_launch_options_editor_launch_command_option_occurrence_get_type_once (void);
static void _vala_proton_plus_widgets_games_launch_options_editor_launch_command_option_occurrence_get_property (GObject * object,
                                                                                                          guint property_id,
                                                                                                          GValue * value,
                                                                                                          GParamSpec * pspec);
static void _vala_proton_plus_widgets_games_launch_options_editor_launch_command_option_occurrence_set_property (GObject * object,
                                                                                                          guint property_id,
                                                                                                          const GValue * value,
                                                                                                          GParamSpec * pspec);
static void proton_plus_widgets_games_launch_options_editor_launch_command_wrapper_invocation_set_executable_tokens (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandWrapperInvocation* self,
                                                                                                              GeeArrayList* value);
static gint* _vala_array_dup8 (gint* self,
                        gssize length);
static void proton_plus_widgets_games_launch_options_editor_launch_command_wrapper_invocation_set_argument_indexes (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandWrapperInvocation* self,
                                                                                                             GeeArrayList* value);
static void proton_plus_widgets_games_launch_options_editor_launch_command_wrapper_invocation_set_unknown_argument_indexes (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandWrapperInvocation* self,
                                                                                                                     GeeArrayList* value);
static void proton_plus_widgets_games_launch_options_editor_launch_command_wrapper_invocation_finalize (GObject * obj);
static GType proton_plus_widgets_games_launch_options_editor_launch_command_wrapper_invocation_get_type_once (void);
static void _vala_proton_plus_widgets_games_launch_options_editor_launch_command_wrapper_invocation_get_property (GObject * object,
                                                                                                           guint property_id,
                                                                                                           GValue * value,
                                                                                                           GParamSpec * pspec);
static void _vala_proton_plus_widgets_games_launch_options_editor_launch_command_wrapper_invocation_set_property (GObject * object,
                                                                                                           guint property_id,
                                                                                                           const GValue * value,
                                                                                                           GParamSpec * pspec);
static void proton_plus_widgets_games_launch_options_editor_launch_command_unrecognized_token_finalize (GObject * obj);
static GType proton_plus_widgets_games_launch_options_editor_launch_command_unrecognized_token_get_type_once (void);
static void _vala_proton_plus_widgets_games_launch_options_editor_launch_command_unrecognized_token_get_property (GObject * object,
                                                                                                           guint property_id,
                                                                                                           GValue * value,
                                                                                                           GParamSpec * pspec);
static void _vala_proton_plus_widgets_games_launch_options_editor_launch_command_unrecognized_token_set_property (GObject * object,
                                                                                                           guint property_id,
                                                                                                           const GValue * value,
                                                                                                           GParamSpec * pspec);
static void proton_plus_widgets_games_launch_options_editor_launch_command_boundary_occurrence_finalize (GObject * obj);
static GType proton_plus_widgets_games_launch_options_editor_launch_command_boundary_occurrence_get_type_once (void);
static void _vala_proton_plus_widgets_games_launch_options_editor_launch_command_boundary_occurrence_get_property (GObject * object,
                                                                                                            guint property_id,
                                                                                                            GValue * value,
                                                                                                            GParamSpec * pspec);
static void _vala_proton_plus_widgets_games_launch_options_editor_launch_command_boundary_occurrence_set_property (GObject * object,
                                                                                                            guint property_id,
                                                                                                            const GValue * value,
                                                                                                            GParamSpec * pspec);
static void proton_plus_widgets_games_launch_options_editor_launch_command_parse_result_set_tokens (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandParseResult* self,
                                                                                             GeeArrayList* value);
static void proton_plus_widgets_games_launch_options_editor_launch_command_parse_result_set_occurrences (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandParseResult* self,
                                                                                                  GeeArrayList* value);
static void proton_plus_widgets_games_launch_options_editor_launch_command_parse_result_set_wrappers (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandParseResult* self,
                                                                                               GeeArrayList* value);
static void proton_plus_widgets_games_launch_options_editor_launch_command_parse_result_set_command_boundaries (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandParseResult* self,
                                                                                                         GeeArrayList* value);
static void proton_plus_widgets_games_launch_options_editor_launch_command_parse_result_set_command_boundary_indexes (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandParseResult* self,
                                                                                                               GeeArrayList* value);
static void proton_plus_widgets_games_launch_options_editor_launch_command_parse_result_set_unrecognized_tokens (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandParseResult* self,
                                                                                                          GeeArrayList* value);
static void proton_plus_widgets_games_launch_options_editor_launch_command_parse_result_set_opaque_tokens (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandParseResult* self,
                                                                                                    GeeArrayList* value);
static void proton_plus_widgets_games_launch_options_editor_launch_command_parse_result_set_diagnostics (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandParseResult* self,
                                                                                                  GeeArrayList* value);
static void proton_plus_widgets_games_launch_options_editor_launch_command_parse_result_finalize (GObject * obj);
static GType proton_plus_widgets_games_launch_options_editor_launch_command_parse_result_get_type_once (void);
static void _vala_proton_plus_widgets_games_launch_options_editor_launch_command_parse_result_get_property (GObject * object,
                                                                                                     guint property_id,
                                                                                                     GValue * value,
                                                                                                     GParamSpec * pspec);
static void _vala_proton_plus_widgets_games_launch_options_editor_launch_command_parse_result_set_property (GObject * object,
                                                                                                     guint property_id,
                                                                                                     const GValue * value,
                                                                                                     GParamSpec * pspec);
static void proton_plus_widgets_games_launch_options_editor_launch_command_parser_add_diagnostic (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandParser* self,
                                                                                           ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandParseResult* _result_,
                                                                                           ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandParseDiagnosticCode code,
                                                                                           const gchar* message,
                                                                                           gint token_index);
static void proton_plus_widgets_games_launch_options_editor_launch_command_parser_parse_wrappers (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandParser* self,
                                                                                           ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandParseResult* _result_,
                                                                                           gint end,
                                                                                           gboolean* consumed,
                                                                                           gint consumed_length1);
static gboolean proton_plus_widgets_games_launch_options_editor_launch_command_parser_has_environment_or_wrapper (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandParser* self,
                                                                                                           ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandParseResult* _result_,
                                                                                                           gint end);
static gboolean proton_plus_widgets_games_launch_options_editor_launch_command_parser_is_boundary (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandParser* self,
                                                                                            ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandParseResult* _result_,
                                                                                            gint index);
static gboolean proton_plus_widgets_games_launch_options_editor_launch_command_parser_split_environment_assignment (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandParser* self,
                                                                                                             const gchar* token,
                                                                                                             gchar** key,
                                                                                                             gchar** value);
static ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandOptionOccurrence* proton_plus_widgets_games_launch_options_editor_launch_command_parser_find_environment_occurrence (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandParser* self,
                                                                                                                                                                           ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandParseResult* _result_,
                                                                                                                                                                           gint index,
                                                                                                                                                                           const gchar* key,
                                                                                                                                                                           const gchar* value);
static ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandOptionOccurrence* proton_plus_widgets_games_launch_options_editor_launch_command_parser_find_game_argument_occurrence (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandParser* self,
                                                                                                                                                                             ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandParseResult* _result_,
                                                                                                                                                                             gint index);
static void proton_plus_widgets_games_launch_options_editor_launch_command_parser_parse_composites (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandParser* self,
                                                                                             ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandParseResult* _result_,
                                                                                             gint end);
static gint __lambda158_ (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandParser* self,
                   ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandOptionOccurrence* first,
                   ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandOptionOccurrence* second);
static gint ___lambda158__gcompare_data_func (gconstpointer a,
                                       gconstpointer b,
                                       gpointer self);
VALA_EXTERN GType proton_plus_widgets_games_launch_options_editor_wrapper_match_get_type (void) G_GNUC_CONST ;
static ProtonPlusWidgetsGamesLaunchOptionsEditorWrapperMatch* proton_plus_widgets_games_launch_options_editor_launch_command_parser_find_wrapper_at (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandParser* self,
                                                                                                                                              ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandParseResult* _result_,
                                                                                                                                              gint index,
                                                                                                                                              gint end);
VALA_EXTERN ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchWrapperDefinition* proton_plus_widgets_games_launch_options_editor_wrapper_match_get_definition (ProtonPlusWidgetsGamesLaunchOptionsEditorWrapperMatch* self);
VALA_EXTERN gint proton_plus_widgets_games_launch_options_editor_wrapper_match_get_length (ProtonPlusWidgetsGamesLaunchOptionsEditorWrapperMatch* self);
VALA_EXTERN gboolean proton_plus_widgets_games_launch_options_editor_wrapper_match_get_used_alias (ProtonPlusWidgetsGamesLaunchOptionsEditorWrapperMatch* self);
static void proton_plus_widgets_games_launch_options_editor_launch_command_parser_add_wrapper_occurrence (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandParser* self,
                                                                                                   ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandParseResult* _result_,
                                                                                                   ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandWrapperInvocation* invocation);
VALA_EXTERN GType proton_plus_widgets_games_launch_options_editor_wrapper_argument_match_get_type (void) G_GNUC_CONST ;
static ProtonPlusWidgetsGamesLaunchOptionsEditorWrapperArgumentMatch* proton_plus_widgets_games_launch_options_editor_launch_command_parser_find_wrapper_argument_at (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandParser* self,
                                                                                                                                                               ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandParseResult* _result_,
                                                                                                                                                               gint index,
                                                                                                                                                               gint end,
                                                                                                                                                               const gchar* wrapper_id);
static void proton_plus_widgets_games_launch_options_editor_launch_command_parser_add_wrapper_argument_occurrence (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandParser* self,
                                                                                                            ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandParseResult* _result_,
                                                                                                            ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandWrapperInvocation* invocation,
                                                                                                            ProtonPlusWidgetsGamesLaunchOptionsEditorWrapperArgumentMatch* match);
VALA_EXTERN gint proton_plus_widgets_games_launch_options_editor_wrapper_argument_match_get_length (ProtonPlusWidgetsGamesLaunchOptionsEditorWrapperArgumentMatch* self);
static gboolean proton_plus_widgets_games_launch_options_editor_launch_command_parser_contains (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandParser* self,
                                                                                         gchar** values,
                                                                                         gint values_length1,
                                                                                         const gchar* candidate);
static GeeArrayList* proton_plus_widgets_games_launch_options_editor_launch_command_parser_tokens_for_indexes (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandParser* self,
                                                                                                        ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandParseResult* _result_,
                                                                                                        gint* indexes,
                                                                                                        gint indexes_length1);
VALA_EXTERN ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionMetadata* proton_plus_widgets_games_launch_options_editor_wrapper_argument_match_get_entry (ProtonPlusWidgetsGamesLaunchOptionsEditorWrapperArgumentMatch* self);
static gchar* proton_plus_widgets_games_launch_options_editor_launch_command_parser_normalized_values (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandParser* self,
                                                                                                ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandParseResult* _result_,
                                                                                                gint* indexes,
                                                                                                gint indexes_length1,
                                                                                                ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionParseShape* shape);
static gboolean proton_plus_widgets_games_launch_options_editor_launch_command_parser_environment_matches_canonical (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandParser* self,
                                                                                                              ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionSemantics* semantics,
                                                                                                              const gchar* token);
static gboolean proton_plus_widgets_games_launch_options_editor_launch_command_parser_environment_matches_legacy (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandParser* self,
                                                                                                           ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionSemantics* semantics,
                                                                                                           const gchar* token,
                                                                                                           const gchar* key);
static gboolean proton_plus_widgets_games_launch_options_editor_launch_command_parser_matches_tokens (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandParser* self,
                                                                                               ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandParseResult* _result_,
                                                                                               gint index,
                                                                                               gint end,
                                                                                               gchar** expected,
                                                                                               gint expected_length1);
static gint* proton_plus_widgets_games_launch_options_editor_launch_command_parser_consecutive_indexes (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandParser* self,
                                                                                                 gint start,
                                                                                                 gint length,
                                                                                                 gint* result_length1);
static ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionSemanticOutput* proton_plus_widgets_games_launch_options_editor_launch_command_parser_find_composite_environment_output (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandParser* self,
                                                                                                                                                                              ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionSemantics* semantics);
static ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionSemanticOutput* proton_plus_widgets_games_launch_options_editor_launch_command_parser_find_composite_argument_output (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandParser* self,
                                                                                                                                                                           ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionSemantics* semantics);
static gint proton_plus_widgets_games_launch_options_editor_launch_command_parser_find_fixed_token (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandParser* self,
                                                                                             ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandParseResult* _result_,
                                                                                             gint end,
                                                                                             gchar** tokens,
                                                                                             gint tokens_length1);
static gint* proton_plus_widgets_games_launch_options_editor_launch_command_parser_match_indexes_in_invocation (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandParser* self,
                                                                                                         ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandParseResult* _result_,
                                                                                                         ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandWrapperInvocation* invocation,
                                                                                                         ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionParseShape* shape,
                                                                                                         gint* result_length1);
static gint ______lambda157_ (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandParser* self,
                       gint first,
                       gint second);
static gint _______lambda157__gcompare_data_func (gconstpointer a,
                                           gconstpointer b,
                                           gpointer self);
static void proton_plus_widgets_games_launch_options_editor_launch_command_parser_remove_unrecognized_indexes (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandParser* self,
                                                                                                        ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandParseResult* _result_,
                                                                                                        GeeArrayList* indexes);
VALA_EXTERN ProtonPlusWidgetsGamesLaunchOptionsEditorWrapperMatch* proton_plus_widgets_games_launch_options_editor_wrapper_match_new (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchWrapperDefinition* definition,
                                                                                                                          gint length,
                                                                                                                          gboolean used_alias);
VALA_EXTERN ProtonPlusWidgetsGamesLaunchOptionsEditorWrapperMatch* proton_plus_widgets_games_launch_options_editor_wrapper_match_construct (GType object_type,
                                                                                                                                ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchWrapperDefinition* definition,
                                                                                                                                gint length,
                                                                                                                                gboolean used_alias);
VALA_EXTERN ProtonPlusWidgetsGamesLaunchOptionsEditorWrapperArgumentMatch* proton_plus_widgets_games_launch_options_editor_wrapper_argument_match_new (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionMetadata* entry,
                                                                                                                                           gint* indexes,
                                                                                                                                           gint indexes_length1);
VALA_EXTERN ProtonPlusWidgetsGamesLaunchOptionsEditorWrapperArgumentMatch* proton_plus_widgets_games_launch_options_editor_wrapper_argument_match_construct (GType object_type,
                                                                                                                                                 ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionMetadata* entry,
                                                                                                                                                 gint* indexes,
                                                                                                                                                 gint indexes_length1);
static gboolean proton_plus_widgets_games_launch_options_editor_launch_command_parser_is_environment_key (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandParser* self,
                                                                                                   const gchar* value);
static void proton_plus_widgets_games_launch_options_editor_launch_command_parser_finalize (GObject * obj);
static GType proton_plus_widgets_games_launch_options_editor_launch_command_parser_get_type_once (void);
static void proton_plus_widgets_games_launch_options_editor_wrapper_match_set_definition (ProtonPlusWidgetsGamesLaunchOptionsEditorWrapperMatch* self,
                                                                                   ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchWrapperDefinition* value);
static void proton_plus_widgets_games_launch_options_editor_wrapper_match_set_length (ProtonPlusWidgetsGamesLaunchOptionsEditorWrapperMatch* self,
                                                                               gint value);
static void proton_plus_widgets_games_launch_options_editor_wrapper_match_set_used_alias (ProtonPlusWidgetsGamesLaunchOptionsEditorWrapperMatch* self,
                                                                                   gboolean value);
static void proton_plus_widgets_games_launch_options_editor_wrapper_match_finalize (GObject * obj);
static GType proton_plus_widgets_games_launch_options_editor_wrapper_match_get_type_once (void);
static void _vala_proton_plus_widgets_games_launch_options_editor_wrapper_match_get_property (GObject * object,
                                                                                       guint property_id,
                                                                                       GValue * value,
                                                                                       GParamSpec * pspec);
static void _vala_proton_plus_widgets_games_launch_options_editor_wrapper_match_set_property (GObject * object,
                                                                                       guint property_id,
                                                                                       const GValue * value,
                                                                                       GParamSpec * pspec);
static gint* _vala_array_dup9 (gint* self,
                        gssize length);
static void proton_plus_widgets_games_launch_options_editor_wrapper_argument_match_set_entry (ProtonPlusWidgetsGamesLaunchOptionsEditorWrapperArgumentMatch* self,
                                                                                       ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionMetadata* value);
static void proton_plus_widgets_games_launch_options_editor_wrapper_argument_match_finalize (GObject * obj);
static GType proton_plus_widgets_games_launch_options_editor_wrapper_argument_match_get_type_once (void);
static void _vala_proton_plus_widgets_games_launch_options_editor_wrapper_argument_match_get_property (GObject * object,
                                                                                                guint property_id,
                                                                                                GValue * value,
                                                                                                GParamSpec * pspec);
static void _vala_proton_plus_widgets_games_launch_options_editor_wrapper_argument_match_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 inline gpointer _vala_memdup2 (gconstpointer mem,
                        gsize byte_size);

static GType
proton_plus_widgets_games_launch_options_editor_launch_command_parse_diagnostic_code_get_type_once (void)
{
	static const GEnumValue values[] = {{PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_PARSE_DIAGNOSTIC_CODE_MISSING_COMMAND_BOUNDARY, "PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_PARSE_DIAGNOSTIC_CODE_MISSING_COMMAND_BOUNDARY", "missing-command-boundary"}, {PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_PARSE_DIAGNOSTIC_CODE_DUPLICATE_COMMAND_BOUNDARY, "PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_PARSE_DIAGNOSTIC_CODE_DUPLICATE_COMMAND_BOUNDARY", "duplicate-command-boundary"}, {PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_PARSE_DIAGNOSTIC_CODE_MISSING_WRAPPER_DELIMITER, "PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_PARSE_DIAGNOSTIC_CODE_MISSING_WRAPPER_DELIMITER", "missing-wrapper-delimiter"}, {PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_PARSE_DIAGNOSTIC_CODE_MISPLACED_WRAPPER_DELIMITER, "PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_PARSE_DIAGNOSTIC_CODE_MISPLACED_WRAPPER_DELIMITER", "misplaced-wrapper-delimiter"}, {PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_PARSE_DIAGNOSTIC_CODE_EMBEDDED_COMMAND_BOUNDARY, "PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_PARSE_DIAGNOSTIC_CODE_EMBEDDED_COMMAND_BOUNDARY", "embedded-command-boundary"}, {PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_PARSE_DIAGNOSTIC_CODE_UNSAFE_SHELL_TOKEN, "PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_PARSE_DIAGNOSTIC_CODE_UNSAFE_SHELL_TOKEN", "unsafe-shell-token"}, {0, NULL, NULL}};
	GType proton_plus_widgets_games_launch_options_editor_launch_command_parse_diagnostic_code_type_id;
	proton_plus_widgets_games_launch_options_editor_launch_command_parse_diagnostic_code_type_id = g_enum_register_static ("ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandParseDiagnosticCode", values);
	return proton_plus_widgets_games_launch_options_editor_launch_command_parse_diagnostic_code_type_id;
}

GType
proton_plus_widgets_games_launch_options_editor_launch_command_parse_diagnostic_code_get_type (void)
{
	static volatile gsize proton_plus_widgets_games_launch_options_editor_launch_command_parse_diagnostic_code_type_id__once = 0;
	if (g_once_init_enter (&proton_plus_widgets_games_launch_options_editor_launch_command_parse_diagnostic_code_type_id__once)) {
		GType proton_plus_widgets_games_launch_options_editor_launch_command_parse_diagnostic_code_type_id;
		proton_plus_widgets_games_launch_options_editor_launch_command_parse_diagnostic_code_type_id = proton_plus_widgets_games_launch_options_editor_launch_command_parse_diagnostic_code_get_type_once ();
		g_once_init_leave (&proton_plus_widgets_games_launch_options_editor_launch_command_parse_diagnostic_code_type_id__once, proton_plus_widgets_games_launch_options_editor_launch_command_parse_diagnostic_code_type_id);
	}
	return proton_plus_widgets_games_launch_options_editor_launch_command_parse_diagnostic_code_type_id__once;
}

static GType
proton_plus_widgets_games_launch_options_editor_launch_command_unrecognized_kind_get_type_once (void)
{
	static const GEnumValue values[] = {{PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_UNRECOGNIZED_KIND_UNKNOWN_TOKEN, "PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_UNRECOGNIZED_KIND_UNKNOWN_TOKEN", "unknown-token"}, {PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_UNRECOGNIZED_KIND_UNKNOWN_ENVIRONMENT_ASSIGNMENT, "PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_UNRECOGNIZED_KIND_UNKNOWN_ENVIRONMENT_ASSIGNMENT", "unknown-environment-assignment"}, {PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_UNRECOGNIZED_KIND_PRESERVED_GAME_COMMAND_CONTENT, "PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_UNRECOGNIZED_KIND_PRESERVED_GAME_COMMAND_CONTENT", "preserved-game-command-content"}, {0, NULL, NULL}};
	GType proton_plus_widgets_games_launch_options_editor_launch_command_unrecognized_kind_type_id;
	proton_plus_widgets_games_launch_options_editor_launch_command_unrecognized_kind_type_id = g_enum_register_static ("ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandUnrecognizedKind", values);
	return proton_plus_widgets_games_launch_options_editor_launch_command_unrecognized_kind_type_id;
}

GType
proton_plus_widgets_games_launch_options_editor_launch_command_unrecognized_kind_get_type (void)
{
	static volatile gsize proton_plus_widgets_games_launch_options_editor_launch_command_unrecognized_kind_type_id__once = 0;
	if (g_once_init_enter (&proton_plus_widgets_games_launch_options_editor_launch_command_unrecognized_kind_type_id__once)) {
		GType proton_plus_widgets_games_launch_options_editor_launch_command_unrecognized_kind_type_id;
		proton_plus_widgets_games_launch_options_editor_launch_command_unrecognized_kind_type_id = proton_plus_widgets_games_launch_options_editor_launch_command_unrecognized_kind_get_type_once ();
		g_once_init_leave (&proton_plus_widgets_games_launch_options_editor_launch_command_unrecognized_kind_type_id__once, proton_plus_widgets_games_launch_options_editor_launch_command_unrecognized_kind_type_id);
	}
	return proton_plus_widgets_games_launch_options_editor_launch_command_unrecognized_kind_type_id__once;
}

static inline gpointer
proton_plus_widgets_games_launch_options_editor_launch_command_parse_diagnostic_get_instance_private (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandParseDiagnostic* self)
{
	return G_STRUCT_MEMBER_P (self, ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandParseDiagnostic_private_offset);
}

ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandParseDiagnostic*
proton_plus_widgets_games_launch_options_editor_launch_command_parse_diagnostic_construct (GType object_type,
                                                                                           ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandParseDiagnosticCode code,
                                                                                           const gchar* message,
                                                                                           gint token_index)
{
	ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandParseDiagnostic * self = NULL;
	g_return_val_if_fail (message != NULL, NULL);
	self = (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandParseDiagnostic*) g_object_new (object_type, "code", code, "message", message, "token-index", token_index, NULL);
	return self;
}

ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandParseDiagnostic*
proton_plus_widgets_games_launch_options_editor_launch_command_parse_diagnostic_new (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandParseDiagnosticCode code,
                                                                                     const gchar* message,
                                                                                     gint token_index)
{
	return proton_plus_widgets_games_launch_options_editor_launch_command_parse_diagnostic_construct (PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_TYPE_LAUNCH_COMMAND_PARSE_DIAGNOSTIC, code, message, token_index);
}

ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandParseDiagnosticCode
proton_plus_widgets_games_launch_options_editor_launch_command_parse_diagnostic_get_code (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandParseDiagnostic* self)
{
	ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandParseDiagnosticCode result;
	g_return_val_if_fail (self != NULL, 0);
	result = self->priv->_code;
	return result;
}

static void
proton_plus_widgets_games_launch_options_editor_launch_command_parse_diagnostic_set_code (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandParseDiagnostic* self,
                                                                                          ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandParseDiagnosticCode value)
{
	ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandParseDiagnosticCode old_value;
	g_return_if_fail (self != NULL);
	old_value = proton_plus_widgets_games_launch_options_editor_launch_command_parse_diagnostic_get_code (self);
	if (old_value != value) {
		self->priv->_code = value;
		g_object_notify_by_pspec ((GObject *) self, proton_plus_widgets_games_launch_options_editor_launch_command_parse_diagnostic_properties[PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_PARSE_DIAGNOSTIC_CODE_PROPERTY]);
	}
}

const gchar*
proton_plus_widgets_games_launch_options_editor_launch_command_parse_diagnostic_get_message (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandParseDiagnostic* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_message;
	result = _tmp0_;
	return result;
}

static void
proton_plus_widgets_games_launch_options_editor_launch_command_parse_diagnostic_set_message (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandParseDiagnostic* self,
                                                                                             const gchar* value)
{
	gchar* old_value;
	g_return_if_fail (self != NULL);
	old_value = proton_plus_widgets_games_launch_options_editor_launch_command_parse_diagnostic_get_message (self);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_message);
		self->priv->_message = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, proton_plus_widgets_games_launch_options_editor_launch_command_parse_diagnostic_properties[PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_PARSE_DIAGNOSTIC_MESSAGE_PROPERTY]);
	}
}

gint
proton_plus_widgets_games_launch_options_editor_launch_command_parse_diagnostic_get_token_index (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandParseDiagnostic* self)
{
	gint result;
	g_return_val_if_fail (self != NULL, -1);
	result = self->priv->_token_index;
	return result;
}

static void
proton_plus_widgets_games_launch_options_editor_launch_command_parse_diagnostic_set_token_index (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandParseDiagnostic* self,
                                                                                                 gint value)
{
	gint old_value;
	g_return_if_fail (self != NULL);
	old_value = proton_plus_widgets_games_launch_options_editor_launch_command_parse_diagnostic_get_token_index (self);
	if (old_value != value) {
		self->priv->_token_index = value;
		g_object_notify_by_pspec ((GObject *) self, proton_plus_widgets_games_launch_options_editor_launch_command_parse_diagnostic_properties[PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_PARSE_DIAGNOSTIC_TOKEN_INDEX_PROPERTY]);
	}
}

static void
proton_plus_widgets_games_launch_options_editor_launch_command_parse_diagnostic_class_init (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandParseDiagnosticClass * klass,
                                                                                            gpointer klass_data)
{
	proton_plus_widgets_games_launch_options_editor_launch_command_parse_diagnostic_parent_class = g_type_class_peek_parent (klass);
	g_type_class_adjust_private_offset (klass, &ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandParseDiagnostic_private_offset);
	G_OBJECT_CLASS (klass)->get_property = _vala_proton_plus_widgets_games_launch_options_editor_launch_command_parse_diagnostic_get_property;
	G_OBJECT_CLASS (klass)->set_property = _vala_proton_plus_widgets_games_launch_options_editor_launch_command_parse_diagnostic_set_property;
	G_OBJECT_CLASS (klass)->finalize = proton_plus_widgets_games_launch_options_editor_launch_command_parse_diagnostic_finalize;
	g_object_class_install_property (G_OBJECT_CLASS (klass), PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_PARSE_DIAGNOSTIC_CODE_PROPERTY, proton_plus_widgets_games_launch_options_editor_launch_command_parse_diagnostic_properties[PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_PARSE_DIAGNOSTIC_CODE_PROPERTY] = g_param_spec_enum ("code", "code", "code", PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_TYPE_LAUNCH_COMMAND_PARSE_DIAGNOSTIC_CODE, 0, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE | G_PARAM_CONSTRUCT_ONLY));
	g_object_class_install_property (G_OBJECT_CLASS (klass), PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_PARSE_DIAGNOSTIC_MESSAGE_PROPERTY, proton_plus_widgets_games_launch_options_editor_launch_command_parse_diagnostic_properties[PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_PARSE_DIAGNOSTIC_MESSAGE_PROPERTY] = g_param_spec_string ("message", "message", "message", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE | G_PARAM_CONSTRUCT_ONLY));
	g_object_class_install_property (G_OBJECT_CLASS (klass), PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_PARSE_DIAGNOSTIC_TOKEN_INDEX_PROPERTY, proton_plus_widgets_games_launch_options_editor_launch_command_parse_diagnostic_properties[PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_PARSE_DIAGNOSTIC_TOKEN_INDEX_PROPERTY] = g_param_spec_int ("token-index", "token-index", "token-index", G_MININT, G_MAXINT, 0, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE | G_PARAM_CONSTRUCT_ONLY));
}

static void
proton_plus_widgets_games_launch_options_editor_launch_command_parse_diagnostic_instance_init (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandParseDiagnostic * self,
                                                                                               gpointer klass)
{
	self->priv = proton_plus_widgets_games_launch_options_editor_launch_command_parse_diagnostic_get_instance_private (self);
}

static void
proton_plus_widgets_games_launch_options_editor_launch_command_parse_diagnostic_finalize (GObject * obj)
{
	ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandParseDiagnostic * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_TYPE_LAUNCH_COMMAND_PARSE_DIAGNOSTIC, ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandParseDiagnostic);
	_g_free0 (self->priv->_message);
	G_OBJECT_CLASS (proton_plus_widgets_games_launch_options_editor_launch_command_parse_diagnostic_parent_class)->finalize (obj);
}

static GType
proton_plus_widgets_games_launch_options_editor_launch_command_parse_diagnostic_get_type_once (void)
{
	static const GTypeInfo g_define_type_info = { sizeof (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandParseDiagnosticClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) proton_plus_widgets_games_launch_options_editor_launch_command_parse_diagnostic_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandParseDiagnostic), 0, (GInstanceInitFunc) proton_plus_widgets_games_launch_options_editor_launch_command_parse_diagnostic_instance_init, NULL };
	GType proton_plus_widgets_games_launch_options_editor_launch_command_parse_diagnostic_type_id;
	proton_plus_widgets_games_launch_options_editor_launch_command_parse_diagnostic_type_id = g_type_register_static (G_TYPE_OBJECT, "ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandParseDiagnostic", &g_define_type_info, 0);
	ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandParseDiagnostic_private_offset = g_type_add_instance_private (proton_plus_widgets_games_launch_options_editor_launch_command_parse_diagnostic_type_id, sizeof (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandParseDiagnosticPrivate));
	return proton_plus_widgets_games_launch_options_editor_launch_command_parse_diagnostic_type_id;
}

GType
proton_plus_widgets_games_launch_options_editor_launch_command_parse_diagnostic_get_type (void)
{
	static volatile gsize proton_plus_widgets_games_launch_options_editor_launch_command_parse_diagnostic_type_id__once = 0;
	if (g_once_init_enter (&proton_plus_widgets_games_launch_options_editor_launch_command_parse_diagnostic_type_id__once)) {
		GType proton_plus_widgets_games_launch_options_editor_launch_command_parse_diagnostic_type_id;
		proton_plus_widgets_games_launch_options_editor_launch_command_parse_diagnostic_type_id = proton_plus_widgets_games_launch_options_editor_launch_command_parse_diagnostic_get_type_once ();
		g_once_init_leave (&proton_plus_widgets_games_launch_options_editor_launch_command_parse_diagnostic_type_id__once, proton_plus_widgets_games_launch_options_editor_launch_command_parse_diagnostic_type_id);
	}
	return proton_plus_widgets_games_launch_options_editor_launch_command_parse_diagnostic_type_id__once;
}

static void
_vala_proton_plus_widgets_games_launch_options_editor_launch_command_parse_diagnostic_get_property (GObject * object,
                                                                                                    guint property_id,
                                                                                                    GValue * value,
                                                                                                    GParamSpec * pspec)
{
	ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandParseDiagnostic * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_TYPE_LAUNCH_COMMAND_PARSE_DIAGNOSTIC, ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandParseDiagnostic);
	switch (property_id) {
		case PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_PARSE_DIAGNOSTIC_CODE_PROPERTY:
		g_value_set_enum (value, proton_plus_widgets_games_launch_options_editor_launch_command_parse_diagnostic_get_code (self));
		break;
		case PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_PARSE_DIAGNOSTIC_MESSAGE_PROPERTY:
		g_value_set_string (value, proton_plus_widgets_games_launch_options_editor_launch_command_parse_diagnostic_get_message (self));
		break;
		case PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_PARSE_DIAGNOSTIC_TOKEN_INDEX_PROPERTY:
		g_value_set_int (value, proton_plus_widgets_games_launch_options_editor_launch_command_parse_diagnostic_get_token_index (self));
		break;
		default:
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
		break;
	}
}

static void
_vala_proton_plus_widgets_games_launch_options_editor_launch_command_parse_diagnostic_set_property (GObject * object,
                                                                                                    guint property_id,
                                                                                                    const GValue * value,
                                                                                                    GParamSpec * pspec)
{
	ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandParseDiagnostic * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_TYPE_LAUNCH_COMMAND_PARSE_DIAGNOSTIC, ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandParseDiagnostic);
	switch (property_id) {
		case PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_PARSE_DIAGNOSTIC_CODE_PROPERTY:
		proton_plus_widgets_games_launch_options_editor_launch_command_parse_diagnostic_set_code (self, g_value_get_enum (value));
		break;
		case PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_PARSE_DIAGNOSTIC_MESSAGE_PROPERTY:
		proton_plus_widgets_games_launch_options_editor_launch_command_parse_diagnostic_set_message (self, g_value_get_string (value));
		break;
		case PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_PARSE_DIAGNOSTIC_TOKEN_INDEX_PROPERTY:
		proton_plus_widgets_games_launch_options_editor_launch_command_parse_diagnostic_set_token_index (self, g_value_get_int (value));
		break;
		default:
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
		break;
	}
}

static inline gpointer
proton_plus_widgets_games_launch_options_editor_launch_command_option_occurrence_get_instance_private (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandOptionOccurrence* self)
{
	return G_STRUCT_MEMBER_P (self, ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandOptionOccurrence_private_offset);
}

static gint*
_vala_array_dup7 (gint* self,
                  gssize length)
{
	if (length > 0) {
		return _vala_memdup2 (self, length * sizeof (gint));
	}
	return NULL;
}

ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandOptionOccurrence*
proton_plus_widgets_games_launch_options_editor_launch_command_option_occurrence_construct (GType object_type,
                                                                                            const gchar* option_id,
                                                                                            ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionSemanticKind semantic_kind,
                                                                                            GeeArrayList* raw_tokens,
                                                                                            gint* token_indexes,
                                                                                            gint token_indexes_length1,
                                                                                            const gchar* normalized_value,
                                                                                            gboolean is_legacy,
                                                                                            gboolean managed_emission,
                                                                                            const gchar* environment_key,
                                                                                            const gchar* environment_value,
                                                                                            const gchar* wrapper_id)
{
	ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandOptionOccurrence * self = NULL;
	gint* _tmp0_;
	gint _tmp0__length1;
	g_return_val_if_fail (option_id != NULL, NULL);
	g_return_val_if_fail (raw_tokens != NULL, NULL);
	g_return_val_if_fail (normalized_value != NULL, NULL);
	g_return_val_if_fail (environment_key != NULL, NULL);
	g_return_val_if_fail (environment_value != NULL, NULL);
	g_return_val_if_fail (wrapper_id != NULL, NULL);
	self = (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandOptionOccurrence*) g_object_new (object_type, "option-id", option_id, "semantic-kind", semantic_kind, "normalized-value", normalized_value, "is-legacy", is_legacy, "managed-emission", managed_emission, "environment-key", environment_key, "environment-value", environment_value, "wrapper-id", wrapper_id, NULL);
	proton_plus_widgets_games_launch_options_editor_launch_command_option_occurrence_set_raw_tokens (self, raw_tokens);
	_tmp0_ = (token_indexes != NULL) ? _vala_array_dup7 (token_indexes, token_indexes_length1) : token_indexes;
	_tmp0__length1 = token_indexes_length1;
	self->token_indexes = (g_free (self->token_indexes), NULL);
	self->token_indexes = _tmp0_;
	self->token_indexes_length1 = _tmp0__length1;
	return self;
}

ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandOptionOccurrence*
proton_plus_widgets_games_launch_options_editor_launch_command_option_occurrence_new (const gchar* option_id,
                                                                                      ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionSemanticKind semantic_kind,
                                                                                      GeeArrayList* raw_tokens,
                                                                                      gint* token_indexes,
                                                                                      gint token_indexes_length1,
                                                                                      const gchar* normalized_value,
                                                                                      gboolean is_legacy,
                                                                                      gboolean managed_emission,
                                                                                      const gchar* environment_key,
                                                                                      const gchar* environment_value,
                                                                                      const gchar* wrapper_id)
{
	return proton_plus_widgets_games_launch_options_editor_launch_command_option_occurrence_construct (PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_TYPE_LAUNCH_COMMAND_OPTION_OCCURRENCE, option_id, semantic_kind, raw_tokens, token_indexes, token_indexes_length1, normalized_value, is_legacy, managed_emission, environment_key, environment_value, wrapper_id);
}

const gchar*
proton_plus_widgets_games_launch_options_editor_launch_command_option_occurrence_get_option_id (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandOptionOccurrence* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_option_id;
	result = _tmp0_;
	return result;
}

static void
proton_plus_widgets_games_launch_options_editor_launch_command_option_occurrence_set_option_id (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandOptionOccurrence* self,
                                                                                                const gchar* value)
{
	gchar* old_value;
	g_return_if_fail (self != NULL);
	old_value = proton_plus_widgets_games_launch_options_editor_launch_command_option_occurrence_get_option_id (self);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_option_id);
		self->priv->_option_id = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, proton_plus_widgets_games_launch_options_editor_launch_command_option_occurrence_properties[PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_OPTION_OCCURRENCE_OPTION_ID_PROPERTY]);
	}
}

ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionSemanticKind
proton_plus_widgets_games_launch_options_editor_launch_command_option_occurrence_get_semantic_kind (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandOptionOccurrence* self)
{
	ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionSemanticKind result;
	g_return_val_if_fail (self != NULL, 0);
	result = self->priv->_semantic_kind;
	return result;
}

static void
proton_plus_widgets_games_launch_options_editor_launch_command_option_occurrence_set_semantic_kind (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandOptionOccurrence* self,
                                                                                                    ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionSemanticKind value)
{
	ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionSemanticKind old_value;
	g_return_if_fail (self != NULL);
	old_value = proton_plus_widgets_games_launch_options_editor_launch_command_option_occurrence_get_semantic_kind (self);
	if (old_value != value) {
		self->priv->_semantic_kind = value;
		g_object_notify_by_pspec ((GObject *) self, proton_plus_widgets_games_launch_options_editor_launch_command_option_occurrence_properties[PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_OPTION_OCCURRENCE_SEMANTIC_KIND_PROPERTY]);
	}
}

GeeArrayList*
proton_plus_widgets_games_launch_options_editor_launch_command_option_occurrence_get_raw_tokens (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandOptionOccurrence* self)
{
	GeeArrayList* result;
	GeeArrayList* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_raw_tokens;
	result = _tmp0_;
	return result;
}

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

static void
proton_plus_widgets_games_launch_options_editor_launch_command_option_occurrence_set_raw_tokens (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandOptionOccurrence* self,
                                                                                                 GeeArrayList* value)
{
	GeeArrayList* old_value;
	g_return_if_fail (self != NULL);
	old_value = proton_plus_widgets_games_launch_options_editor_launch_command_option_occurrence_get_raw_tokens (self);
	if (old_value != value) {
		GeeArrayList* _tmp0_;
		_tmp0_ = _g_object_ref0 (value);
		_g_object_unref0 (self->priv->_raw_tokens);
		self->priv->_raw_tokens = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, proton_plus_widgets_games_launch_options_editor_launch_command_option_occurrence_properties[PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_OPTION_OCCURRENCE_RAW_TOKENS_PROPERTY]);
	}
}

const gchar*
proton_plus_widgets_games_launch_options_editor_launch_command_option_occurrence_get_normalized_value (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandOptionOccurrence* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_normalized_value;
	result = _tmp0_;
	return result;
}

static void
proton_plus_widgets_games_launch_options_editor_launch_command_option_occurrence_set_normalized_value (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandOptionOccurrence* self,
                                                                                                       const gchar* value)
{
	gchar* old_value;
	g_return_if_fail (self != NULL);
	old_value = proton_plus_widgets_games_launch_options_editor_launch_command_option_occurrence_get_normalized_value (self);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_normalized_value);
		self->priv->_normalized_value = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, proton_plus_widgets_games_launch_options_editor_launch_command_option_occurrence_properties[PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_OPTION_OCCURRENCE_NORMALIZED_VALUE_PROPERTY]);
	}
}

gboolean
proton_plus_widgets_games_launch_options_editor_launch_command_option_occurrence_get_is_legacy (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandOptionOccurrence* self)
{
	gboolean result;
	g_return_val_if_fail (self != NULL, FALSE);
	result = self->priv->_is_legacy;
	return result;
}

static void
proton_plus_widgets_games_launch_options_editor_launch_command_option_occurrence_set_is_legacy (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandOptionOccurrence* self,
                                                                                                gboolean value)
{
	gboolean old_value;
	g_return_if_fail (self != NULL);
	old_value = proton_plus_widgets_games_launch_options_editor_launch_command_option_occurrence_get_is_legacy (self);
	if (old_value != value) {
		self->priv->_is_legacy = value;
		g_object_notify_by_pspec ((GObject *) self, proton_plus_widgets_games_launch_options_editor_launch_command_option_occurrence_properties[PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_OPTION_OCCURRENCE_IS_LEGACY_PROPERTY]);
	}
}

gboolean
proton_plus_widgets_games_launch_options_editor_launch_command_option_occurrence_get_managed_emission (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandOptionOccurrence* self)
{
	gboolean result;
	g_return_val_if_fail (self != NULL, FALSE);
	result = self->priv->_managed_emission;
	return result;
}

static void
proton_plus_widgets_games_launch_options_editor_launch_command_option_occurrence_set_managed_emission (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandOptionOccurrence* self,
                                                                                                       gboolean value)
{
	gboolean old_value;
	g_return_if_fail (self != NULL);
	old_value = proton_plus_widgets_games_launch_options_editor_launch_command_option_occurrence_get_managed_emission (self);
	if (old_value != value) {
		self->priv->_managed_emission = value;
		g_object_notify_by_pspec ((GObject *) self, proton_plus_widgets_games_launch_options_editor_launch_command_option_occurrence_properties[PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_OPTION_OCCURRENCE_MANAGED_EMISSION_PROPERTY]);
	}
}

const gchar*
proton_plus_widgets_games_launch_options_editor_launch_command_option_occurrence_get_environment_key (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandOptionOccurrence* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_environment_key;
	result = _tmp0_;
	return result;
}

static void
proton_plus_widgets_games_launch_options_editor_launch_command_option_occurrence_set_environment_key (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandOptionOccurrence* self,
                                                                                                      const gchar* value)
{
	gchar* old_value;
	g_return_if_fail (self != NULL);
	old_value = proton_plus_widgets_games_launch_options_editor_launch_command_option_occurrence_get_environment_key (self);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_environment_key);
		self->priv->_environment_key = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, proton_plus_widgets_games_launch_options_editor_launch_command_option_occurrence_properties[PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_OPTION_OCCURRENCE_ENVIRONMENT_KEY_PROPERTY]);
	}
}

const gchar*
proton_plus_widgets_games_launch_options_editor_launch_command_option_occurrence_get_environment_value (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandOptionOccurrence* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_environment_value;
	result = _tmp0_;
	return result;
}

static void
proton_plus_widgets_games_launch_options_editor_launch_command_option_occurrence_set_environment_value (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandOptionOccurrence* self,
                                                                                                        const gchar* value)
{
	gchar* old_value;
	g_return_if_fail (self != NULL);
	old_value = proton_plus_widgets_games_launch_options_editor_launch_command_option_occurrence_get_environment_value (self);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_environment_value);
		self->priv->_environment_value = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, proton_plus_widgets_games_launch_options_editor_launch_command_option_occurrence_properties[PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_OPTION_OCCURRENCE_ENVIRONMENT_VALUE_PROPERTY]);
	}
}

const gchar*
proton_plus_widgets_games_launch_options_editor_launch_command_option_occurrence_get_wrapper_id (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandOptionOccurrence* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_wrapper_id;
	result = _tmp0_;
	return result;
}

static void
proton_plus_widgets_games_launch_options_editor_launch_command_option_occurrence_set_wrapper_id (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandOptionOccurrence* self,
                                                                                                 const gchar* value)
{
	gchar* old_value;
	g_return_if_fail (self != NULL);
	old_value = proton_plus_widgets_games_launch_options_editor_launch_command_option_occurrence_get_wrapper_id (self);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_wrapper_id);
		self->priv->_wrapper_id = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, proton_plus_widgets_games_launch_options_editor_launch_command_option_occurrence_properties[PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_OPTION_OCCURRENCE_WRAPPER_ID_PROPERTY]);
	}
}

static void
proton_plus_widgets_games_launch_options_editor_launch_command_option_occurrence_class_init (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandOptionOccurrenceClass * klass,
                                                                                             gpointer klass_data)
{
	proton_plus_widgets_games_launch_options_editor_launch_command_option_occurrence_parent_class = g_type_class_peek_parent (klass);
	g_type_class_adjust_private_offset (klass, &ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandOptionOccurrence_private_offset);
	G_OBJECT_CLASS (klass)->get_property = _vala_proton_plus_widgets_games_launch_options_editor_launch_command_option_occurrence_get_property;
	G_OBJECT_CLASS (klass)->set_property = _vala_proton_plus_widgets_games_launch_options_editor_launch_command_option_occurrence_set_property;
	G_OBJECT_CLASS (klass)->finalize = proton_plus_widgets_games_launch_options_editor_launch_command_option_occurrence_finalize;
	g_object_class_install_property (G_OBJECT_CLASS (klass), PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_OPTION_OCCURRENCE_OPTION_ID_PROPERTY, proton_plus_widgets_games_launch_options_editor_launch_command_option_occurrence_properties[PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_OPTION_OCCURRENCE_OPTION_ID_PROPERTY] = g_param_spec_string ("option-id", "option-id", "option-id", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE | G_PARAM_CONSTRUCT_ONLY));
	g_object_class_install_property (G_OBJECT_CLASS (klass), PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_OPTION_OCCURRENCE_SEMANTIC_KIND_PROPERTY, proton_plus_widgets_games_launch_options_editor_launch_command_option_occurrence_properties[PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_OPTION_OCCURRENCE_SEMANTIC_KIND_PROPERTY] = g_param_spec_enum ("semantic-kind", "semantic-kind", "semantic-kind", PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_TYPE_LAUNCH_OPTION_SEMANTIC_KIND, 0, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE | G_PARAM_CONSTRUCT_ONLY));
	g_object_class_install_property (G_OBJECT_CLASS (klass), PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_OPTION_OCCURRENCE_RAW_TOKENS_PROPERTY, proton_plus_widgets_games_launch_options_editor_launch_command_option_occurrence_properties[PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_OPTION_OCCURRENCE_RAW_TOKENS_PROPERTY] = g_param_spec_object ("raw-tokens", "raw-tokens", "raw-tokens", GEE_TYPE_ARRAY_LIST, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_OPTION_OCCURRENCE_NORMALIZED_VALUE_PROPERTY, proton_plus_widgets_games_launch_options_editor_launch_command_option_occurrence_properties[PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_OPTION_OCCURRENCE_NORMALIZED_VALUE_PROPERTY] = g_param_spec_string ("normalized-value", "normalized-value", "normalized-value", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE | G_PARAM_CONSTRUCT_ONLY));
	g_object_class_install_property (G_OBJECT_CLASS (klass), PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_OPTION_OCCURRENCE_IS_LEGACY_PROPERTY, proton_plus_widgets_games_launch_options_editor_launch_command_option_occurrence_properties[PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_OPTION_OCCURRENCE_IS_LEGACY_PROPERTY] = g_param_spec_boolean ("is-legacy", "is-legacy", "is-legacy", FALSE, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE | G_PARAM_CONSTRUCT_ONLY));
	g_object_class_install_property (G_OBJECT_CLASS (klass), PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_OPTION_OCCURRENCE_MANAGED_EMISSION_PROPERTY, proton_plus_widgets_games_launch_options_editor_launch_command_option_occurrence_properties[PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_OPTION_OCCURRENCE_MANAGED_EMISSION_PROPERTY] = g_param_spec_boolean ("managed-emission", "managed-emission", "managed-emission", FALSE, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE | G_PARAM_CONSTRUCT_ONLY));
	g_object_class_install_property (G_OBJECT_CLASS (klass), PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_OPTION_OCCURRENCE_ENVIRONMENT_KEY_PROPERTY, proton_plus_widgets_games_launch_options_editor_launch_command_option_occurrence_properties[PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_OPTION_OCCURRENCE_ENVIRONMENT_KEY_PROPERTY] = g_param_spec_string ("environment-key", "environment-key", "environment-key", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE | G_PARAM_CONSTRUCT_ONLY));
	g_object_class_install_property (G_OBJECT_CLASS (klass), PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_OPTION_OCCURRENCE_ENVIRONMENT_VALUE_PROPERTY, proton_plus_widgets_games_launch_options_editor_launch_command_option_occurrence_properties[PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_OPTION_OCCURRENCE_ENVIRONMENT_VALUE_PROPERTY] = g_param_spec_string ("environment-value", "environment-value", "environment-value", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE | G_PARAM_CONSTRUCT_ONLY));
	g_object_class_install_property (G_OBJECT_CLASS (klass), PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_OPTION_OCCURRENCE_WRAPPER_ID_PROPERTY, proton_plus_widgets_games_launch_options_editor_launch_command_option_occurrence_properties[PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_OPTION_OCCURRENCE_WRAPPER_ID_PROPERTY] = g_param_spec_string ("wrapper-id", "wrapper-id", "wrapper-id", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE | G_PARAM_CONSTRUCT_ONLY));
}

static void
proton_plus_widgets_games_launch_options_editor_launch_command_option_occurrence_instance_init (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandOptionOccurrence * self,
                                                                                                gpointer klass)
{
	self->priv = proton_plus_widgets_games_launch_options_editor_launch_command_option_occurrence_get_instance_private (self);
}

static void
proton_plus_widgets_games_launch_options_editor_launch_command_option_occurrence_finalize (GObject * obj)
{
	ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandOptionOccurrence * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_TYPE_LAUNCH_COMMAND_OPTION_OCCURRENCE, ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandOptionOccurrence);
	_g_free0 (self->priv->_option_id);
	_g_object_unref0 (self->priv->_raw_tokens);
	self->token_indexes = (g_free (self->token_indexes), NULL);
	_g_free0 (self->priv->_normalized_value);
	_g_free0 (self->priv->_environment_key);
	_g_free0 (self->priv->_environment_value);
	_g_free0 (self->priv->_wrapper_id);
	G_OBJECT_CLASS (proton_plus_widgets_games_launch_options_editor_launch_command_option_occurrence_parent_class)->finalize (obj);
}

static GType
proton_plus_widgets_games_launch_options_editor_launch_command_option_occurrence_get_type_once (void)
{
	static const GTypeInfo g_define_type_info = { sizeof (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandOptionOccurrenceClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) proton_plus_widgets_games_launch_options_editor_launch_command_option_occurrence_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandOptionOccurrence), 0, (GInstanceInitFunc) proton_plus_widgets_games_launch_options_editor_launch_command_option_occurrence_instance_init, NULL };
	GType proton_plus_widgets_games_launch_options_editor_launch_command_option_occurrence_type_id;
	proton_plus_widgets_games_launch_options_editor_launch_command_option_occurrence_type_id = g_type_register_static (G_TYPE_OBJECT, "ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandOptionOccurrence", &g_define_type_info, 0);
	ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandOptionOccurrence_private_offset = g_type_add_instance_private (proton_plus_widgets_games_launch_options_editor_launch_command_option_occurrence_type_id, sizeof (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandOptionOccurrencePrivate));
	return proton_plus_widgets_games_launch_options_editor_launch_command_option_occurrence_type_id;
}

GType
proton_plus_widgets_games_launch_options_editor_launch_command_option_occurrence_get_type (void)
{
	static volatile gsize proton_plus_widgets_games_launch_options_editor_launch_command_option_occurrence_type_id__once = 0;
	if (g_once_init_enter (&proton_plus_widgets_games_launch_options_editor_launch_command_option_occurrence_type_id__once)) {
		GType proton_plus_widgets_games_launch_options_editor_launch_command_option_occurrence_type_id;
		proton_plus_widgets_games_launch_options_editor_launch_command_option_occurrence_type_id = proton_plus_widgets_games_launch_options_editor_launch_command_option_occurrence_get_type_once ();
		g_once_init_leave (&proton_plus_widgets_games_launch_options_editor_launch_command_option_occurrence_type_id__once, proton_plus_widgets_games_launch_options_editor_launch_command_option_occurrence_type_id);
	}
	return proton_plus_widgets_games_launch_options_editor_launch_command_option_occurrence_type_id__once;
}

static void
_vala_proton_plus_widgets_games_launch_options_editor_launch_command_option_occurrence_get_property (GObject * object,
                                                                                                     guint property_id,
                                                                                                     GValue * value,
                                                                                                     GParamSpec * pspec)
{
	ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandOptionOccurrence * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_TYPE_LAUNCH_COMMAND_OPTION_OCCURRENCE, ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandOptionOccurrence);
	switch (property_id) {
		case PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_OPTION_OCCURRENCE_OPTION_ID_PROPERTY:
		g_value_set_string (value, proton_plus_widgets_games_launch_options_editor_launch_command_option_occurrence_get_option_id (self));
		break;
		case PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_OPTION_OCCURRENCE_SEMANTIC_KIND_PROPERTY:
		g_value_set_enum (value, proton_plus_widgets_games_launch_options_editor_launch_command_option_occurrence_get_semantic_kind (self));
		break;
		case PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_OPTION_OCCURRENCE_RAW_TOKENS_PROPERTY:
		g_value_set_object (value, proton_plus_widgets_games_launch_options_editor_launch_command_option_occurrence_get_raw_tokens (self));
		break;
		case PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_OPTION_OCCURRENCE_NORMALIZED_VALUE_PROPERTY:
		g_value_set_string (value, proton_plus_widgets_games_launch_options_editor_launch_command_option_occurrence_get_normalized_value (self));
		break;
		case PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_OPTION_OCCURRENCE_IS_LEGACY_PROPERTY:
		g_value_set_boolean (value, proton_plus_widgets_games_launch_options_editor_launch_command_option_occurrence_get_is_legacy (self));
		break;
		case PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_OPTION_OCCURRENCE_MANAGED_EMISSION_PROPERTY:
		g_value_set_boolean (value, proton_plus_widgets_games_launch_options_editor_launch_command_option_occurrence_get_managed_emission (self));
		break;
		case PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_OPTION_OCCURRENCE_ENVIRONMENT_KEY_PROPERTY:
		g_value_set_string (value, proton_plus_widgets_games_launch_options_editor_launch_command_option_occurrence_get_environment_key (self));
		break;
		case PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_OPTION_OCCURRENCE_ENVIRONMENT_VALUE_PROPERTY:
		g_value_set_string (value, proton_plus_widgets_games_launch_options_editor_launch_command_option_occurrence_get_environment_value (self));
		break;
		case PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_OPTION_OCCURRENCE_WRAPPER_ID_PROPERTY:
		g_value_set_string (value, proton_plus_widgets_games_launch_options_editor_launch_command_option_occurrence_get_wrapper_id (self));
		break;
		default:
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
		break;
	}
}

static void
_vala_proton_plus_widgets_games_launch_options_editor_launch_command_option_occurrence_set_property (GObject * object,
                                                                                                     guint property_id,
                                                                                                     const GValue * value,
                                                                                                     GParamSpec * pspec)
{
	ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandOptionOccurrence * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_TYPE_LAUNCH_COMMAND_OPTION_OCCURRENCE, ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandOptionOccurrence);
	switch (property_id) {
		case PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_OPTION_OCCURRENCE_OPTION_ID_PROPERTY:
		proton_plus_widgets_games_launch_options_editor_launch_command_option_occurrence_set_option_id (self, g_value_get_string (value));
		break;
		case PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_OPTION_OCCURRENCE_SEMANTIC_KIND_PROPERTY:
		proton_plus_widgets_games_launch_options_editor_launch_command_option_occurrence_set_semantic_kind (self, g_value_get_enum (value));
		break;
		case PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_OPTION_OCCURRENCE_RAW_TOKENS_PROPERTY:
		proton_plus_widgets_games_launch_options_editor_launch_command_option_occurrence_set_raw_tokens (self, g_value_get_object (value));
		break;
		case PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_OPTION_OCCURRENCE_NORMALIZED_VALUE_PROPERTY:
		proton_plus_widgets_games_launch_options_editor_launch_command_option_occurrence_set_normalized_value (self, g_value_get_string (value));
		break;
		case PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_OPTION_OCCURRENCE_IS_LEGACY_PROPERTY:
		proton_plus_widgets_games_launch_options_editor_launch_command_option_occurrence_set_is_legacy (self, g_value_get_boolean (value));
		break;
		case PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_OPTION_OCCURRENCE_MANAGED_EMISSION_PROPERTY:
		proton_plus_widgets_games_launch_options_editor_launch_command_option_occurrence_set_managed_emission (self, g_value_get_boolean (value));
		break;
		case PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_OPTION_OCCURRENCE_ENVIRONMENT_KEY_PROPERTY:
		proton_plus_widgets_games_launch_options_editor_launch_command_option_occurrence_set_environment_key (self, g_value_get_string (value));
		break;
		case PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_OPTION_OCCURRENCE_ENVIRONMENT_VALUE_PROPERTY:
		proton_plus_widgets_games_launch_options_editor_launch_command_option_occurrence_set_environment_value (self, g_value_get_string (value));
		break;
		case PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_OPTION_OCCURRENCE_WRAPPER_ID_PROPERTY:
		proton_plus_widgets_games_launch_options_editor_launch_command_option_occurrence_set_wrapper_id (self, g_value_get_string (value));
		break;
		default:
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
		break;
	}
}

static inline gpointer
proton_plus_widgets_games_launch_options_editor_launch_command_wrapper_invocation_get_instance_private (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandWrapperInvocation* self)
{
	return G_STRUCT_MEMBER_P (self, ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandWrapperInvocation_private_offset);
}

static gint*
_vala_array_dup8 (gint* self,
                  gssize length)
{
	if (length > 0) {
		return _vala_memdup2 (self, length * sizeof (gint));
	}
	return NULL;
}

ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandWrapperInvocation*
proton_plus_widgets_games_launch_options_editor_launch_command_wrapper_invocation_construct (GType object_type,
                                                                                             const gchar* wrapper_id,
                                                                                             GeeArrayList* executable_tokens,
                                                                                             gint* executable_indexes,
                                                                                             gint executable_indexes_length1,
                                                                                             gboolean used_alias)
{
	ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandWrapperInvocation * self = NULL;
	gint* _tmp0_;
	gint _tmp0__length1;
	GeeArrayList* _tmp1_;
	GeeArrayList* _tmp2_;
	GeeArrayList* _tmp3_;
	GeeArrayList* _tmp4_;
	g_return_val_if_fail (wrapper_id != NULL, NULL);
	g_return_val_if_fail (executable_tokens != NULL, NULL);
	self = (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandWrapperInvocation*) g_object_new (object_type, "wrapper-id", wrapper_id, "used-alias", used_alias, NULL);
	proton_plus_widgets_games_launch_options_editor_launch_command_wrapper_invocation_set_executable_tokens (self, executable_tokens);
	_tmp0_ = (executable_indexes != NULL) ? _vala_array_dup8 (executable_indexes, executable_indexes_length1) : executable_indexes;
	_tmp0__length1 = executable_indexes_length1;
	self->executable_indexes = (g_free (self->executable_indexes), NULL);
	self->executable_indexes = _tmp0_;
	self->executable_indexes_length1 = _tmp0__length1;
	_tmp1_ = gee_array_list_new (G_TYPE_INT, NULL, NULL, NULL, NULL, NULL);
	_tmp2_ = _tmp1_;
	proton_plus_widgets_games_launch_options_editor_launch_command_wrapper_invocation_set_argument_indexes (self, _tmp2_);
	_g_object_unref0 (_tmp2_);
	_tmp3_ = gee_array_list_new (G_TYPE_INT, NULL, NULL, NULL, NULL, NULL);
	_tmp4_ = _tmp3_;
	proton_plus_widgets_games_launch_options_editor_launch_command_wrapper_invocation_set_unknown_argument_indexes (self, _tmp4_);
	_g_object_unref0 (_tmp4_);
	return self;
}

ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandWrapperInvocation*
proton_plus_widgets_games_launch_options_editor_launch_command_wrapper_invocation_new (const gchar* wrapper_id,
                                                                                       GeeArrayList* executable_tokens,
                                                                                       gint* executable_indexes,
                                                                                       gint executable_indexes_length1,
                                                                                       gboolean used_alias)
{
	return proton_plus_widgets_games_launch_options_editor_launch_command_wrapper_invocation_construct (PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_TYPE_LAUNCH_COMMAND_WRAPPER_INVOCATION, wrapper_id, executable_tokens, executable_indexes, executable_indexes_length1, used_alias);
}

const gchar*
proton_plus_widgets_games_launch_options_editor_launch_command_wrapper_invocation_get_wrapper_id (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandWrapperInvocation* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_wrapper_id;
	result = _tmp0_;
	return result;
}

static void
proton_plus_widgets_games_launch_options_editor_launch_command_wrapper_invocation_set_wrapper_id (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandWrapperInvocation* self,
                                                                                                  const gchar* value)
{
	gchar* old_value;
	g_return_if_fail (self != NULL);
	old_value = proton_plus_widgets_games_launch_options_editor_launch_command_wrapper_invocation_get_wrapper_id (self);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_wrapper_id);
		self->priv->_wrapper_id = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, proton_plus_widgets_games_launch_options_editor_launch_command_wrapper_invocation_properties[PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_WRAPPER_INVOCATION_WRAPPER_ID_PROPERTY]);
	}
}

GeeArrayList*
proton_plus_widgets_games_launch_options_editor_launch_command_wrapper_invocation_get_executable_tokens (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandWrapperInvocation* self)
{
	GeeArrayList* result;
	GeeArrayList* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_executable_tokens;
	result = _tmp0_;
	return result;
}

static void
proton_plus_widgets_games_launch_options_editor_launch_command_wrapper_invocation_set_executable_tokens (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandWrapperInvocation* self,
                                                                                                         GeeArrayList* value)
{
	GeeArrayList* old_value;
	g_return_if_fail (self != NULL);
	old_value = proton_plus_widgets_games_launch_options_editor_launch_command_wrapper_invocation_get_executable_tokens (self);
	if (old_value != value) {
		GeeArrayList* _tmp0_;
		_tmp0_ = _g_object_ref0 (value);
		_g_object_unref0 (self->priv->_executable_tokens);
		self->priv->_executable_tokens = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, proton_plus_widgets_games_launch_options_editor_launch_command_wrapper_invocation_properties[PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_WRAPPER_INVOCATION_EXECUTABLE_TOKENS_PROPERTY]);
	}
}

gboolean
proton_plus_widgets_games_launch_options_editor_launch_command_wrapper_invocation_get_used_alias (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandWrapperInvocation* self)
{
	gboolean result;
	g_return_val_if_fail (self != NULL, FALSE);
	result = self->priv->_used_alias;
	return result;
}

static void
proton_plus_widgets_games_launch_options_editor_launch_command_wrapper_invocation_set_used_alias (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandWrapperInvocation* self,
                                                                                                  gboolean value)
{
	gboolean old_value;
	g_return_if_fail (self != NULL);
	old_value = proton_plus_widgets_games_launch_options_editor_launch_command_wrapper_invocation_get_used_alias (self);
	if (old_value != value) {
		self->priv->_used_alias = value;
		g_object_notify_by_pspec ((GObject *) self, proton_plus_widgets_games_launch_options_editor_launch_command_wrapper_invocation_properties[PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_WRAPPER_INVOCATION_USED_ALIAS_PROPERTY]);
	}
}

gint
proton_plus_widgets_games_launch_options_editor_launch_command_wrapper_invocation_get_delimiter_index (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandWrapperInvocation* self)
{
	gint result;
	g_return_val_if_fail (self != NULL, -1);
	result = self->priv->_delimiter_index;
	return result;
}

void
proton_plus_widgets_games_launch_options_editor_launch_command_wrapper_invocation_set_delimiter_index (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandWrapperInvocation* self,
                                                                                                       gint value)
{
	gint old_value;
	g_return_if_fail (self != NULL);
	old_value = proton_plus_widgets_games_launch_options_editor_launch_command_wrapper_invocation_get_delimiter_index (self);
	if (old_value != value) {
		self->priv->_delimiter_index = value;
		g_object_notify_by_pspec ((GObject *) self, proton_plus_widgets_games_launch_options_editor_launch_command_wrapper_invocation_properties[PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_WRAPPER_INVOCATION_DELIMITER_INDEX_PROPERTY]);
	}
}

GeeArrayList*
proton_plus_widgets_games_launch_options_editor_launch_command_wrapper_invocation_get_argument_indexes (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandWrapperInvocation* self)
{
	GeeArrayList* result;
	GeeArrayList* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_argument_indexes;
	result = _tmp0_;
	return result;
}

static void
proton_plus_widgets_games_launch_options_editor_launch_command_wrapper_invocation_set_argument_indexes (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandWrapperInvocation* self,
                                                                                                        GeeArrayList* value)
{
	GeeArrayList* old_value;
	g_return_if_fail (self != NULL);
	old_value = proton_plus_widgets_games_launch_options_editor_launch_command_wrapper_invocation_get_argument_indexes (self);
	if (old_value != value) {
		GeeArrayList* _tmp0_;
		_tmp0_ = _g_object_ref0 (value);
		_g_object_unref0 (self->priv->_argument_indexes);
		self->priv->_argument_indexes = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, proton_plus_widgets_games_launch_options_editor_launch_command_wrapper_invocation_properties[PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_WRAPPER_INVOCATION_ARGUMENT_INDEXES_PROPERTY]);
	}
}

GeeArrayList*
proton_plus_widgets_games_launch_options_editor_launch_command_wrapper_invocation_get_unknown_argument_indexes (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandWrapperInvocation* self)
{
	GeeArrayList* result;
	GeeArrayList* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_unknown_argument_indexes;
	result = _tmp0_;
	return result;
}

static void
proton_plus_widgets_games_launch_options_editor_launch_command_wrapper_invocation_set_unknown_argument_indexes (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandWrapperInvocation* self,
                                                                                                                GeeArrayList* value)
{
	GeeArrayList* old_value;
	g_return_if_fail (self != NULL);
	old_value = proton_plus_widgets_games_launch_options_editor_launch_command_wrapper_invocation_get_unknown_argument_indexes (self);
	if (old_value != value) {
		GeeArrayList* _tmp0_;
		_tmp0_ = _g_object_ref0 (value);
		_g_object_unref0 (self->priv->_unknown_argument_indexes);
		self->priv->_unknown_argument_indexes = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, proton_plus_widgets_games_launch_options_editor_launch_command_wrapper_invocation_properties[PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_WRAPPER_INVOCATION_UNKNOWN_ARGUMENT_INDEXES_PROPERTY]);
	}
}

static void
proton_plus_widgets_games_launch_options_editor_launch_command_wrapper_invocation_class_init (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandWrapperInvocationClass * klass,
                                                                                              gpointer klass_data)
{
	proton_plus_widgets_games_launch_options_editor_launch_command_wrapper_invocation_parent_class = g_type_class_peek_parent (klass);
	g_type_class_adjust_private_offset (klass, &ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandWrapperInvocation_private_offset);
	G_OBJECT_CLASS (klass)->get_property = _vala_proton_plus_widgets_games_launch_options_editor_launch_command_wrapper_invocation_get_property;
	G_OBJECT_CLASS (klass)->set_property = _vala_proton_plus_widgets_games_launch_options_editor_launch_command_wrapper_invocation_set_property;
	G_OBJECT_CLASS (klass)->finalize = proton_plus_widgets_games_launch_options_editor_launch_command_wrapper_invocation_finalize;
	g_object_class_install_property (G_OBJECT_CLASS (klass), PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_WRAPPER_INVOCATION_WRAPPER_ID_PROPERTY, proton_plus_widgets_games_launch_options_editor_launch_command_wrapper_invocation_properties[PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_WRAPPER_INVOCATION_WRAPPER_ID_PROPERTY] = g_param_spec_string ("wrapper-id", "wrapper-id", "wrapper-id", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE | G_PARAM_CONSTRUCT_ONLY));
	g_object_class_install_property (G_OBJECT_CLASS (klass), PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_WRAPPER_INVOCATION_EXECUTABLE_TOKENS_PROPERTY, proton_plus_widgets_games_launch_options_editor_launch_command_wrapper_invocation_properties[PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_WRAPPER_INVOCATION_EXECUTABLE_TOKENS_PROPERTY] = g_param_spec_object ("executable-tokens", "executable-tokens", "executable-tokens", GEE_TYPE_ARRAY_LIST, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_WRAPPER_INVOCATION_USED_ALIAS_PROPERTY, proton_plus_widgets_games_launch_options_editor_launch_command_wrapper_invocation_properties[PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_WRAPPER_INVOCATION_USED_ALIAS_PROPERTY] = g_param_spec_boolean ("used-alias", "used-alias", "used-alias", FALSE, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE | G_PARAM_CONSTRUCT_ONLY));
	g_object_class_install_property (G_OBJECT_CLASS (klass), PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_WRAPPER_INVOCATION_DELIMITER_INDEX_PROPERTY, proton_plus_widgets_games_launch_options_editor_launch_command_wrapper_invocation_properties[PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_WRAPPER_INVOCATION_DELIMITER_INDEX_PROPERTY] = g_param_spec_int ("delimiter-index", "delimiter-index", "delimiter-index", G_MININT, G_MAXINT, -1, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_WRAPPER_INVOCATION_ARGUMENT_INDEXES_PROPERTY, proton_plus_widgets_games_launch_options_editor_launch_command_wrapper_invocation_properties[PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_WRAPPER_INVOCATION_ARGUMENT_INDEXES_PROPERTY] = g_param_spec_object ("argument-indexes", "argument-indexes", "argument-indexes", GEE_TYPE_ARRAY_LIST, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_WRAPPER_INVOCATION_UNKNOWN_ARGUMENT_INDEXES_PROPERTY, proton_plus_widgets_games_launch_options_editor_launch_command_wrapper_invocation_properties[PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_WRAPPER_INVOCATION_UNKNOWN_ARGUMENT_INDEXES_PROPERTY] = g_param_spec_object ("unknown-argument-indexes", "unknown-argument-indexes", "unknown-argument-indexes", GEE_TYPE_ARRAY_LIST, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE));
}

static void
proton_plus_widgets_games_launch_options_editor_launch_command_wrapper_invocation_instance_init (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandWrapperInvocation * self,
                                                                                                 gpointer klass)
{
	self->priv = proton_plus_widgets_games_launch_options_editor_launch_command_wrapper_invocation_get_instance_private (self);
	self->priv->_delimiter_index = -1;
}

static void
proton_plus_widgets_games_launch_options_editor_launch_command_wrapper_invocation_finalize (GObject * obj)
{
	ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandWrapperInvocation * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_TYPE_LAUNCH_COMMAND_WRAPPER_INVOCATION, ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandWrapperInvocation);
	_g_free0 (self->priv->_wrapper_id);
	_g_object_unref0 (self->priv->_executable_tokens);
	self->executable_indexes = (g_free (self->executable_indexes), NULL);
	_g_object_unref0 (self->priv->_argument_indexes);
	_g_object_unref0 (self->priv->_unknown_argument_indexes);
	G_OBJECT_CLASS (proton_plus_widgets_games_launch_options_editor_launch_command_wrapper_invocation_parent_class)->finalize (obj);
}

static GType
proton_plus_widgets_games_launch_options_editor_launch_command_wrapper_invocation_get_type_once (void)
{
	static const GTypeInfo g_define_type_info = { sizeof (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandWrapperInvocationClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) proton_plus_widgets_games_launch_options_editor_launch_command_wrapper_invocation_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandWrapperInvocation), 0, (GInstanceInitFunc) proton_plus_widgets_games_launch_options_editor_launch_command_wrapper_invocation_instance_init, NULL };
	GType proton_plus_widgets_games_launch_options_editor_launch_command_wrapper_invocation_type_id;
	proton_plus_widgets_games_launch_options_editor_launch_command_wrapper_invocation_type_id = g_type_register_static (G_TYPE_OBJECT, "ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandWrapperInvocation", &g_define_type_info, 0);
	ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandWrapperInvocation_private_offset = g_type_add_instance_private (proton_plus_widgets_games_launch_options_editor_launch_command_wrapper_invocation_type_id, sizeof (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandWrapperInvocationPrivate));
	return proton_plus_widgets_games_launch_options_editor_launch_command_wrapper_invocation_type_id;
}

GType
proton_plus_widgets_games_launch_options_editor_launch_command_wrapper_invocation_get_type (void)
{
	static volatile gsize proton_plus_widgets_games_launch_options_editor_launch_command_wrapper_invocation_type_id__once = 0;
	if (g_once_init_enter (&proton_plus_widgets_games_launch_options_editor_launch_command_wrapper_invocation_type_id__once)) {
		GType proton_plus_widgets_games_launch_options_editor_launch_command_wrapper_invocation_type_id;
		proton_plus_widgets_games_launch_options_editor_launch_command_wrapper_invocation_type_id = proton_plus_widgets_games_launch_options_editor_launch_command_wrapper_invocation_get_type_once ();
		g_once_init_leave (&proton_plus_widgets_games_launch_options_editor_launch_command_wrapper_invocation_type_id__once, proton_plus_widgets_games_launch_options_editor_launch_command_wrapper_invocation_type_id);
	}
	return proton_plus_widgets_games_launch_options_editor_launch_command_wrapper_invocation_type_id__once;
}

static void
_vala_proton_plus_widgets_games_launch_options_editor_launch_command_wrapper_invocation_get_property (GObject * object,
                                                                                                      guint property_id,
                                                                                                      GValue * value,
                                                                                                      GParamSpec * pspec)
{
	ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandWrapperInvocation * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_TYPE_LAUNCH_COMMAND_WRAPPER_INVOCATION, ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandWrapperInvocation);
	switch (property_id) {
		case PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_WRAPPER_INVOCATION_WRAPPER_ID_PROPERTY:
		g_value_set_string (value, proton_plus_widgets_games_launch_options_editor_launch_command_wrapper_invocation_get_wrapper_id (self));
		break;
		case PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_WRAPPER_INVOCATION_EXECUTABLE_TOKENS_PROPERTY:
		g_value_set_object (value, proton_plus_widgets_games_launch_options_editor_launch_command_wrapper_invocation_get_executable_tokens (self));
		break;
		case PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_WRAPPER_INVOCATION_USED_ALIAS_PROPERTY:
		g_value_set_boolean (value, proton_plus_widgets_games_launch_options_editor_launch_command_wrapper_invocation_get_used_alias (self));
		break;
		case PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_WRAPPER_INVOCATION_DELIMITER_INDEX_PROPERTY:
		g_value_set_int (value, proton_plus_widgets_games_launch_options_editor_launch_command_wrapper_invocation_get_delimiter_index (self));
		break;
		case PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_WRAPPER_INVOCATION_ARGUMENT_INDEXES_PROPERTY:
		g_value_set_object (value, proton_plus_widgets_games_launch_options_editor_launch_command_wrapper_invocation_get_argument_indexes (self));
		break;
		case PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_WRAPPER_INVOCATION_UNKNOWN_ARGUMENT_INDEXES_PROPERTY:
		g_value_set_object (value, proton_plus_widgets_games_launch_options_editor_launch_command_wrapper_invocation_get_unknown_argument_indexes (self));
		break;
		default:
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
		break;
	}
}

static void
_vala_proton_plus_widgets_games_launch_options_editor_launch_command_wrapper_invocation_set_property (GObject * object,
                                                                                                      guint property_id,
                                                                                                      const GValue * value,
                                                                                                      GParamSpec * pspec)
{
	ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandWrapperInvocation * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_TYPE_LAUNCH_COMMAND_WRAPPER_INVOCATION, ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandWrapperInvocation);
	switch (property_id) {
		case PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_WRAPPER_INVOCATION_WRAPPER_ID_PROPERTY:
		proton_plus_widgets_games_launch_options_editor_launch_command_wrapper_invocation_set_wrapper_id (self, g_value_get_string (value));
		break;
		case PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_WRAPPER_INVOCATION_EXECUTABLE_TOKENS_PROPERTY:
		proton_plus_widgets_games_launch_options_editor_launch_command_wrapper_invocation_set_executable_tokens (self, g_value_get_object (value));
		break;
		case PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_WRAPPER_INVOCATION_USED_ALIAS_PROPERTY:
		proton_plus_widgets_games_launch_options_editor_launch_command_wrapper_invocation_set_used_alias (self, g_value_get_boolean (value));
		break;
		case PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_WRAPPER_INVOCATION_DELIMITER_INDEX_PROPERTY:
		proton_plus_widgets_games_launch_options_editor_launch_command_wrapper_invocation_set_delimiter_index (self, g_value_get_int (value));
		break;
		case PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_WRAPPER_INVOCATION_ARGUMENT_INDEXES_PROPERTY:
		proton_plus_widgets_games_launch_options_editor_launch_command_wrapper_invocation_set_argument_indexes (self, g_value_get_object (value));
		break;
		case PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_WRAPPER_INVOCATION_UNKNOWN_ARGUMENT_INDEXES_PROPERTY:
		proton_plus_widgets_games_launch_options_editor_launch_command_wrapper_invocation_set_unknown_argument_indexes (self, g_value_get_object (value));
		break;
		default:
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
		break;
	}
}

static inline gpointer
proton_plus_widgets_games_launch_options_editor_launch_command_unrecognized_token_get_instance_private (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandUnrecognizedToken* self)
{
	return G_STRUCT_MEMBER_P (self, ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandUnrecognizedToken_private_offset);
}

ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandUnrecognizedToken*
proton_plus_widgets_games_launch_options_editor_launch_command_unrecognized_token_construct (GType object_type,
                                                                                             ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionShellToken* token,
                                                                                             gint token_index,
                                                                                             ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandUnrecognizedKind kind)
{
	ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandUnrecognizedToken * self = NULL;
	g_return_val_if_fail (token != NULL, NULL);
	self = (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandUnrecognizedToken*) g_object_new (object_type, "token", token, "token-index", token_index, "kind", kind, NULL);
	return self;
}

ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandUnrecognizedToken*
proton_plus_widgets_games_launch_options_editor_launch_command_unrecognized_token_new (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionShellToken* token,
                                                                                       gint token_index,
                                                                                       ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandUnrecognizedKind kind)
{
	return proton_plus_widgets_games_launch_options_editor_launch_command_unrecognized_token_construct (PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_TYPE_LAUNCH_COMMAND_UNRECOGNIZED_TOKEN, token, token_index, kind);
}

ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionShellToken*
proton_plus_widgets_games_launch_options_editor_launch_command_unrecognized_token_get_token (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandUnrecognizedToken* self)
{
	ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionShellToken* result;
	ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionShellToken* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_token;
	result = _tmp0_;
	return result;
}

static void
proton_plus_widgets_games_launch_options_editor_launch_command_unrecognized_token_set_token (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandUnrecognizedToken* self,
                                                                                             ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionShellToken* value)
{
	ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionShellToken* old_value;
	g_return_if_fail (self != NULL);
	old_value = proton_plus_widgets_games_launch_options_editor_launch_command_unrecognized_token_get_token (self);
	if (old_value != value) {
		ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionShellToken* _tmp0_;
		_tmp0_ = _g_object_ref0 (value);
		_g_object_unref0 (self->priv->_token);
		self->priv->_token = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, proton_plus_widgets_games_launch_options_editor_launch_command_unrecognized_token_properties[PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_UNRECOGNIZED_TOKEN_TOKEN_PROPERTY]);
	}
}

gint
proton_plus_widgets_games_launch_options_editor_launch_command_unrecognized_token_get_token_index (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandUnrecognizedToken* self)
{
	gint result;
	g_return_val_if_fail (self != NULL, -1);
	result = self->priv->_token_index;
	return result;
}

static void
proton_plus_widgets_games_launch_options_editor_launch_command_unrecognized_token_set_token_index (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandUnrecognizedToken* self,
                                                                                                   gint value)
{
	gint old_value;
	g_return_if_fail (self != NULL);
	old_value = proton_plus_widgets_games_launch_options_editor_launch_command_unrecognized_token_get_token_index (self);
	if (old_value != value) {
		self->priv->_token_index = value;
		g_object_notify_by_pspec ((GObject *) self, proton_plus_widgets_games_launch_options_editor_launch_command_unrecognized_token_properties[PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_UNRECOGNIZED_TOKEN_TOKEN_INDEX_PROPERTY]);
	}
}

ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandUnrecognizedKind
proton_plus_widgets_games_launch_options_editor_launch_command_unrecognized_token_get_kind (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandUnrecognizedToken* self)
{
	ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandUnrecognizedKind result;
	g_return_val_if_fail (self != NULL, 0);
	result = self->priv->_kind;
	return result;
}

static void
proton_plus_widgets_games_launch_options_editor_launch_command_unrecognized_token_set_kind (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandUnrecognizedToken* self,
                                                                                            ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandUnrecognizedKind value)
{
	ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandUnrecognizedKind old_value;
	g_return_if_fail (self != NULL);
	old_value = proton_plus_widgets_games_launch_options_editor_launch_command_unrecognized_token_get_kind (self);
	if (old_value != value) {
		self->priv->_kind = value;
		g_object_notify_by_pspec ((GObject *) self, proton_plus_widgets_games_launch_options_editor_launch_command_unrecognized_token_properties[PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_UNRECOGNIZED_TOKEN_KIND_PROPERTY]);
	}
}

static void
proton_plus_widgets_games_launch_options_editor_launch_command_unrecognized_token_class_init (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandUnrecognizedTokenClass * klass,
                                                                                              gpointer klass_data)
{
	proton_plus_widgets_games_launch_options_editor_launch_command_unrecognized_token_parent_class = g_type_class_peek_parent (klass);
	g_type_class_adjust_private_offset (klass, &ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandUnrecognizedToken_private_offset);
	G_OBJECT_CLASS (klass)->get_property = _vala_proton_plus_widgets_games_launch_options_editor_launch_command_unrecognized_token_get_property;
	G_OBJECT_CLASS (klass)->set_property = _vala_proton_plus_widgets_games_launch_options_editor_launch_command_unrecognized_token_set_property;
	G_OBJECT_CLASS (klass)->finalize = proton_plus_widgets_games_launch_options_editor_launch_command_unrecognized_token_finalize;
	g_object_class_install_property (G_OBJECT_CLASS (klass), PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_UNRECOGNIZED_TOKEN_TOKEN_PROPERTY, proton_plus_widgets_games_launch_options_editor_launch_command_unrecognized_token_properties[PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_UNRECOGNIZED_TOKEN_TOKEN_PROPERTY] = g_param_spec_object ("token", "token", "token", PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_TYPE_LAUNCH_OPTION_SHELL_TOKEN, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE | G_PARAM_CONSTRUCT_ONLY));
	g_object_class_install_property (G_OBJECT_CLASS (klass), PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_UNRECOGNIZED_TOKEN_TOKEN_INDEX_PROPERTY, proton_plus_widgets_games_launch_options_editor_launch_command_unrecognized_token_properties[PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_UNRECOGNIZED_TOKEN_TOKEN_INDEX_PROPERTY] = g_param_spec_int ("token-index", "token-index", "token-index", G_MININT, G_MAXINT, 0, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE | G_PARAM_CONSTRUCT_ONLY));
	g_object_class_install_property (G_OBJECT_CLASS (klass), PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_UNRECOGNIZED_TOKEN_KIND_PROPERTY, proton_plus_widgets_games_launch_options_editor_launch_command_unrecognized_token_properties[PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_UNRECOGNIZED_TOKEN_KIND_PROPERTY] = g_param_spec_enum ("kind", "kind", "kind", PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_TYPE_LAUNCH_COMMAND_UNRECOGNIZED_KIND, 0, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE | G_PARAM_CONSTRUCT_ONLY));
}

static void
proton_plus_widgets_games_launch_options_editor_launch_command_unrecognized_token_instance_init (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandUnrecognizedToken * self,
                                                                                                 gpointer klass)
{
	self->priv = proton_plus_widgets_games_launch_options_editor_launch_command_unrecognized_token_get_instance_private (self);
}

static void
proton_plus_widgets_games_launch_options_editor_launch_command_unrecognized_token_finalize (GObject * obj)
{
	ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandUnrecognizedToken * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_TYPE_LAUNCH_COMMAND_UNRECOGNIZED_TOKEN, ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandUnrecognizedToken);
	_g_object_unref0 (self->priv->_token);
	G_OBJECT_CLASS (proton_plus_widgets_games_launch_options_editor_launch_command_unrecognized_token_parent_class)->finalize (obj);
}

static GType
proton_plus_widgets_games_launch_options_editor_launch_command_unrecognized_token_get_type_once (void)
{
	static const GTypeInfo g_define_type_info = { sizeof (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandUnrecognizedTokenClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) proton_plus_widgets_games_launch_options_editor_launch_command_unrecognized_token_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandUnrecognizedToken), 0, (GInstanceInitFunc) proton_plus_widgets_games_launch_options_editor_launch_command_unrecognized_token_instance_init, NULL };
	GType proton_plus_widgets_games_launch_options_editor_launch_command_unrecognized_token_type_id;
	proton_plus_widgets_games_launch_options_editor_launch_command_unrecognized_token_type_id = g_type_register_static (G_TYPE_OBJECT, "ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandUnrecognizedToken", &g_define_type_info, 0);
	ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandUnrecognizedToken_private_offset = g_type_add_instance_private (proton_plus_widgets_games_launch_options_editor_launch_command_unrecognized_token_type_id, sizeof (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandUnrecognizedTokenPrivate));
	return proton_plus_widgets_games_launch_options_editor_launch_command_unrecognized_token_type_id;
}

GType
proton_plus_widgets_games_launch_options_editor_launch_command_unrecognized_token_get_type (void)
{
	static volatile gsize proton_plus_widgets_games_launch_options_editor_launch_command_unrecognized_token_type_id__once = 0;
	if (g_once_init_enter (&proton_plus_widgets_games_launch_options_editor_launch_command_unrecognized_token_type_id__once)) {
		GType proton_plus_widgets_games_launch_options_editor_launch_command_unrecognized_token_type_id;
		proton_plus_widgets_games_launch_options_editor_launch_command_unrecognized_token_type_id = proton_plus_widgets_games_launch_options_editor_launch_command_unrecognized_token_get_type_once ();
		g_once_init_leave (&proton_plus_widgets_games_launch_options_editor_launch_command_unrecognized_token_type_id__once, proton_plus_widgets_games_launch_options_editor_launch_command_unrecognized_token_type_id);
	}
	return proton_plus_widgets_games_launch_options_editor_launch_command_unrecognized_token_type_id__once;
}

static void
_vala_proton_plus_widgets_games_launch_options_editor_launch_command_unrecognized_token_get_property (GObject * object,
                                                                                                      guint property_id,
                                                                                                      GValue * value,
                                                                                                      GParamSpec * pspec)
{
	ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandUnrecognizedToken * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_TYPE_LAUNCH_COMMAND_UNRECOGNIZED_TOKEN, ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandUnrecognizedToken);
	switch (property_id) {
		case PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_UNRECOGNIZED_TOKEN_TOKEN_PROPERTY:
		g_value_set_object (value, proton_plus_widgets_games_launch_options_editor_launch_command_unrecognized_token_get_token (self));
		break;
		case PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_UNRECOGNIZED_TOKEN_TOKEN_INDEX_PROPERTY:
		g_value_set_int (value, proton_plus_widgets_games_launch_options_editor_launch_command_unrecognized_token_get_token_index (self));
		break;
		case PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_UNRECOGNIZED_TOKEN_KIND_PROPERTY:
		g_value_set_enum (value, proton_plus_widgets_games_launch_options_editor_launch_command_unrecognized_token_get_kind (self));
		break;
		default:
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
		break;
	}
}

static void
_vala_proton_plus_widgets_games_launch_options_editor_launch_command_unrecognized_token_set_property (GObject * object,
                                                                                                      guint property_id,
                                                                                                      const GValue * value,
                                                                                                      GParamSpec * pspec)
{
	ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandUnrecognizedToken * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_TYPE_LAUNCH_COMMAND_UNRECOGNIZED_TOKEN, ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandUnrecognizedToken);
	switch (property_id) {
		case PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_UNRECOGNIZED_TOKEN_TOKEN_PROPERTY:
		proton_plus_widgets_games_launch_options_editor_launch_command_unrecognized_token_set_token (self, g_value_get_object (value));
		break;
		case PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_UNRECOGNIZED_TOKEN_TOKEN_INDEX_PROPERTY:
		proton_plus_widgets_games_launch_options_editor_launch_command_unrecognized_token_set_token_index (self, g_value_get_int (value));
		break;
		case PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_UNRECOGNIZED_TOKEN_KIND_PROPERTY:
		proton_plus_widgets_games_launch_options_editor_launch_command_unrecognized_token_set_kind (self, g_value_get_enum (value));
		break;
		default:
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
		break;
	}
}

static inline gpointer
proton_plus_widgets_games_launch_options_editor_launch_command_boundary_occurrence_get_instance_private (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandBoundaryOccurrence* self)
{
	return G_STRUCT_MEMBER_P (self, ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandBoundaryOccurrence_private_offset);
}

ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandBoundaryOccurrence*
proton_plus_widgets_games_launch_options_editor_launch_command_boundary_occurrence_construct (GType object_type,
                                                                                              ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionShellToken* token,
                                                                                              gint token_index)
{
	ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandBoundaryOccurrence * self = NULL;
	g_return_val_if_fail (token != NULL, NULL);
	self = (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandBoundaryOccurrence*) g_object_new (object_type, "token", token, "token-index", token_index, NULL);
	return self;
}

ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandBoundaryOccurrence*
proton_plus_widgets_games_launch_options_editor_launch_command_boundary_occurrence_new (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionShellToken* token,
                                                                                        gint token_index)
{
	return proton_plus_widgets_games_launch_options_editor_launch_command_boundary_occurrence_construct (PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_TYPE_LAUNCH_COMMAND_BOUNDARY_OCCURRENCE, token, token_index);
}

ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionShellToken*
proton_plus_widgets_games_launch_options_editor_launch_command_boundary_occurrence_get_token (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandBoundaryOccurrence* self)
{
	ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionShellToken* result;
	ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionShellToken* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_token;
	result = _tmp0_;
	return result;
}

static void
proton_plus_widgets_games_launch_options_editor_launch_command_boundary_occurrence_set_token (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandBoundaryOccurrence* self,
                                                                                              ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionShellToken* value)
{
	ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionShellToken* old_value;
	g_return_if_fail (self != NULL);
	old_value = proton_plus_widgets_games_launch_options_editor_launch_command_boundary_occurrence_get_token (self);
	if (old_value != value) {
		ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionShellToken* _tmp0_;
		_tmp0_ = _g_object_ref0 (value);
		_g_object_unref0 (self->priv->_token);
		self->priv->_token = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, proton_plus_widgets_games_launch_options_editor_launch_command_boundary_occurrence_properties[PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_BOUNDARY_OCCURRENCE_TOKEN_PROPERTY]);
	}
}

gint
proton_plus_widgets_games_launch_options_editor_launch_command_boundary_occurrence_get_token_index (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandBoundaryOccurrence* self)
{
	gint result;
	g_return_val_if_fail (self != NULL, -1);
	result = self->priv->_token_index;
	return result;
}

static void
proton_plus_widgets_games_launch_options_editor_launch_command_boundary_occurrence_set_token_index (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandBoundaryOccurrence* self,
                                                                                                    gint value)
{
	gint old_value;
	g_return_if_fail (self != NULL);
	old_value = proton_plus_widgets_games_launch_options_editor_launch_command_boundary_occurrence_get_token_index (self);
	if (old_value != value) {
		self->priv->_token_index = value;
		g_object_notify_by_pspec ((GObject *) self, proton_plus_widgets_games_launch_options_editor_launch_command_boundary_occurrence_properties[PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_BOUNDARY_OCCURRENCE_TOKEN_INDEX_PROPERTY]);
	}
}

static void
proton_plus_widgets_games_launch_options_editor_launch_command_boundary_occurrence_class_init (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandBoundaryOccurrenceClass * klass,
                                                                                               gpointer klass_data)
{
	proton_plus_widgets_games_launch_options_editor_launch_command_boundary_occurrence_parent_class = g_type_class_peek_parent (klass);
	g_type_class_adjust_private_offset (klass, &ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandBoundaryOccurrence_private_offset);
	G_OBJECT_CLASS (klass)->get_property = _vala_proton_plus_widgets_games_launch_options_editor_launch_command_boundary_occurrence_get_property;
	G_OBJECT_CLASS (klass)->set_property = _vala_proton_plus_widgets_games_launch_options_editor_launch_command_boundary_occurrence_set_property;
	G_OBJECT_CLASS (klass)->finalize = proton_plus_widgets_games_launch_options_editor_launch_command_boundary_occurrence_finalize;
	g_object_class_install_property (G_OBJECT_CLASS (klass), PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_BOUNDARY_OCCURRENCE_TOKEN_PROPERTY, proton_plus_widgets_games_launch_options_editor_launch_command_boundary_occurrence_properties[PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_BOUNDARY_OCCURRENCE_TOKEN_PROPERTY] = g_param_spec_object ("token", "token", "token", PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_TYPE_LAUNCH_OPTION_SHELL_TOKEN, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE | G_PARAM_CONSTRUCT_ONLY));
	g_object_class_install_property (G_OBJECT_CLASS (klass), PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_BOUNDARY_OCCURRENCE_TOKEN_INDEX_PROPERTY, proton_plus_widgets_games_launch_options_editor_launch_command_boundary_occurrence_properties[PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_BOUNDARY_OCCURRENCE_TOKEN_INDEX_PROPERTY] = g_param_spec_int ("token-index", "token-index", "token-index", G_MININT, G_MAXINT, 0, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE | G_PARAM_CONSTRUCT_ONLY));
}

static void
proton_plus_widgets_games_launch_options_editor_launch_command_boundary_occurrence_instance_init (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandBoundaryOccurrence * self,
                                                                                                  gpointer klass)
{
	self->priv = proton_plus_widgets_games_launch_options_editor_launch_command_boundary_occurrence_get_instance_private (self);
}

static void
proton_plus_widgets_games_launch_options_editor_launch_command_boundary_occurrence_finalize (GObject * obj)
{
	ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandBoundaryOccurrence * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_TYPE_LAUNCH_COMMAND_BOUNDARY_OCCURRENCE, ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandBoundaryOccurrence);
	_g_object_unref0 (self->priv->_token);
	G_OBJECT_CLASS (proton_plus_widgets_games_launch_options_editor_launch_command_boundary_occurrence_parent_class)->finalize (obj);
}

static GType
proton_plus_widgets_games_launch_options_editor_launch_command_boundary_occurrence_get_type_once (void)
{
	static const GTypeInfo g_define_type_info = { sizeof (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandBoundaryOccurrenceClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) proton_plus_widgets_games_launch_options_editor_launch_command_boundary_occurrence_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandBoundaryOccurrence), 0, (GInstanceInitFunc) proton_plus_widgets_games_launch_options_editor_launch_command_boundary_occurrence_instance_init, NULL };
	GType proton_plus_widgets_games_launch_options_editor_launch_command_boundary_occurrence_type_id;
	proton_plus_widgets_games_launch_options_editor_launch_command_boundary_occurrence_type_id = g_type_register_static (G_TYPE_OBJECT, "ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandBoundaryOccurrence", &g_define_type_info, 0);
	ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandBoundaryOccurrence_private_offset = g_type_add_instance_private (proton_plus_widgets_games_launch_options_editor_launch_command_boundary_occurrence_type_id, sizeof (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandBoundaryOccurrencePrivate));
	return proton_plus_widgets_games_launch_options_editor_launch_command_boundary_occurrence_type_id;
}

GType
proton_plus_widgets_games_launch_options_editor_launch_command_boundary_occurrence_get_type (void)
{
	static volatile gsize proton_plus_widgets_games_launch_options_editor_launch_command_boundary_occurrence_type_id__once = 0;
	if (g_once_init_enter (&proton_plus_widgets_games_launch_options_editor_launch_command_boundary_occurrence_type_id__once)) {
		GType proton_plus_widgets_games_launch_options_editor_launch_command_boundary_occurrence_type_id;
		proton_plus_widgets_games_launch_options_editor_launch_command_boundary_occurrence_type_id = proton_plus_widgets_games_launch_options_editor_launch_command_boundary_occurrence_get_type_once ();
		g_once_init_leave (&proton_plus_widgets_games_launch_options_editor_launch_command_boundary_occurrence_type_id__once, proton_plus_widgets_games_launch_options_editor_launch_command_boundary_occurrence_type_id);
	}
	return proton_plus_widgets_games_launch_options_editor_launch_command_boundary_occurrence_type_id__once;
}

static void
_vala_proton_plus_widgets_games_launch_options_editor_launch_command_boundary_occurrence_get_property (GObject * object,
                                                                                                       guint property_id,
                                                                                                       GValue * value,
                                                                                                       GParamSpec * pspec)
{
	ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandBoundaryOccurrence * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_TYPE_LAUNCH_COMMAND_BOUNDARY_OCCURRENCE, ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandBoundaryOccurrence);
	switch (property_id) {
		case PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_BOUNDARY_OCCURRENCE_TOKEN_PROPERTY:
		g_value_set_object (value, proton_plus_widgets_games_launch_options_editor_launch_command_boundary_occurrence_get_token (self));
		break;
		case PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_BOUNDARY_OCCURRENCE_TOKEN_INDEX_PROPERTY:
		g_value_set_int (value, proton_plus_widgets_games_launch_options_editor_launch_command_boundary_occurrence_get_token_index (self));
		break;
		default:
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
		break;
	}
}

static void
_vala_proton_plus_widgets_games_launch_options_editor_launch_command_boundary_occurrence_set_property (GObject * object,
                                                                                                       guint property_id,
                                                                                                       const GValue * value,
                                                                                                       GParamSpec * pspec)
{
	ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandBoundaryOccurrence * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_TYPE_LAUNCH_COMMAND_BOUNDARY_OCCURRENCE, ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandBoundaryOccurrence);
	switch (property_id) {
		case PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_BOUNDARY_OCCURRENCE_TOKEN_PROPERTY:
		proton_plus_widgets_games_launch_options_editor_launch_command_boundary_occurrence_set_token (self, g_value_get_object (value));
		break;
		case PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_BOUNDARY_OCCURRENCE_TOKEN_INDEX_PROPERTY:
		proton_plus_widgets_games_launch_options_editor_launch_command_boundary_occurrence_set_token_index (self, g_value_get_int (value));
		break;
		default:
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
		break;
	}
}

static inline gpointer
proton_plus_widgets_games_launch_options_editor_launch_command_parse_result_get_instance_private (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandParseResult* self)
{
	return G_STRUCT_MEMBER_P (self, ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandParseResult_private_offset);
}

ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandParseResult*
proton_plus_widgets_games_launch_options_editor_launch_command_parse_result_construct (GType object_type,
                                                                                       const gchar* original_input,
                                                                                       GeeArrayList* tokens)
{
	ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandParseResult * self = NULL;
	GeeArrayList* _tmp0_;
	GeeArrayList* _tmp1_;
	GeeArrayList* _tmp2_;
	GeeArrayList* _tmp3_;
	GeeArrayList* _tmp4_;
	GeeArrayList* _tmp5_;
	GeeArrayList* _tmp6_;
	GeeArrayList* _tmp7_;
	GeeArrayList* _tmp8_;
	GeeArrayList* _tmp9_;
	GeeArrayList* _tmp10_;
	GeeArrayList* _tmp11_;
	GeeArrayList* _tmp12_;
	GeeArrayList* _tmp13_;
	g_return_val_if_fail (original_input != NULL, NULL);
	g_return_val_if_fail (tokens != NULL, NULL);
	self = (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandParseResult*) g_object_new (object_type, "original-input", original_input, NULL);
	proton_plus_widgets_games_launch_options_editor_launch_command_parse_result_set_tokens (self, tokens);
	_tmp0_ = gee_array_list_new (PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_TYPE_LAUNCH_COMMAND_OPTION_OCCURRENCE, (GBoxedCopyFunc) g_object_ref, (GDestroyNotify) g_object_unref, NULL, NULL, NULL);
	_tmp1_ = _tmp0_;
	proton_plus_widgets_games_launch_options_editor_launch_command_parse_result_set_occurrences (self, _tmp1_);
	_g_object_unref0 (_tmp1_);
	_tmp2_ = gee_array_list_new (PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_TYPE_LAUNCH_COMMAND_WRAPPER_INVOCATION, (GBoxedCopyFunc) g_object_ref, (GDestroyNotify) g_object_unref, NULL, NULL, NULL);
	_tmp3_ = _tmp2_;
	proton_plus_widgets_games_launch_options_editor_launch_command_parse_result_set_wrappers (self, _tmp3_);
	_g_object_unref0 (_tmp3_);
	_tmp4_ = gee_array_list_new (PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_TYPE_LAUNCH_COMMAND_BOUNDARY_OCCURRENCE, (GBoxedCopyFunc) g_object_ref, (GDestroyNotify) g_object_unref, NULL, NULL, NULL);
	_tmp5_ = _tmp4_;
	proton_plus_widgets_games_launch_options_editor_launch_command_parse_result_set_command_boundaries (self, _tmp5_);
	_g_object_unref0 (_tmp5_);
	_tmp6_ = gee_array_list_new (G_TYPE_INT, NULL, NULL, NULL, NULL, NULL);
	_tmp7_ = _tmp6_;
	proton_plus_widgets_games_launch_options_editor_launch_command_parse_result_set_command_boundary_indexes (self, _tmp7_);
	_g_object_unref0 (_tmp7_);
	_tmp8_ = gee_array_list_new (PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_TYPE_LAUNCH_COMMAND_UNRECOGNIZED_TOKEN, (GBoxedCopyFunc) g_object_ref, (GDestroyNotify) g_object_unref, NULL, NULL, NULL);
	_tmp9_ = _tmp8_;
	proton_plus_widgets_games_launch_options_editor_launch_command_parse_result_set_unrecognized_tokens (self, _tmp9_);
	_g_object_unref0 (_tmp9_);
	_tmp10_ = gee_array_list_new (PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_TYPE_LAUNCH_OPTION_SHELL_TOKEN, (GBoxedCopyFunc) g_object_ref, (GDestroyNotify) g_object_unref, NULL, NULL, NULL);
	_tmp11_ = _tmp10_;
	proton_plus_widgets_games_launch_options_editor_launch_command_parse_result_set_opaque_tokens (self, _tmp11_);
	_g_object_unref0 (_tmp11_);
	_tmp12_ = gee_array_list_new (PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_TYPE_LAUNCH_COMMAND_PARSE_DIAGNOSTIC, (GBoxedCopyFunc) g_object_ref, (GDestroyNotify) g_object_unref, NULL, NULL, NULL);
	_tmp13_ = _tmp12_;
	proton_plus_widgets_games_launch_options_editor_launch_command_parse_result_set_diagnostics (self, _tmp13_);
	_g_object_unref0 (_tmp13_);
	return self;
}

ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandParseResult*
proton_plus_widgets_games_launch_options_editor_launch_command_parse_result_new (const gchar* original_input,
                                                                                 GeeArrayList* tokens)
{
	return proton_plus_widgets_games_launch_options_editor_launch_command_parse_result_construct (PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_TYPE_LAUNCH_COMMAND_PARSE_RESULT, original_input, tokens);
}

GeeArrayList*
proton_plus_widgets_games_launch_options_editor_launch_command_parse_result_get_custom_game_arguments (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandParseResult* self)
{
	GeeArrayList* arguments = NULL;
	GeeArrayList* _tmp0_;
	GeeArrayList* result;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = gee_array_list_new (PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_TYPE_LAUNCH_OPTION_SHELL_TOKEN, (GBoxedCopyFunc) g_object_ref, (GDestroyNotify) g_object_unref, NULL, NULL, NULL);
	arguments = _tmp0_;
	{
		gint index = 0;
		index = 0;
		{
			gboolean _tmp1_ = FALSE;
			_tmp1_ = TRUE;
			while (TRUE) {
				GeeArrayList* _tmp3_;
				gint _tmp4_;
				gint _tmp5_;
				if (!_tmp1_) {
					gint _tmp2_;
					_tmp2_ = index;
					index = _tmp2_ + 1;
				}
				_tmp1_ = FALSE;
				_tmp3_ = self->priv->_tokens;
				_tmp4_ = gee_abstract_collection_get_size ((GeeAbstractCollection*) _tmp3_);
				_tmp5_ = _tmp4_;
				if (!(index < _tmp5_)) {
					break;
				}
				if (proton_plus_widgets_games_launch_options_editor_launch_command_parse_result_is_custom_game_argument_index (self, index)) {
					GeeArrayList* _tmp6_;
					GeeArrayList* _tmp7_;
					gpointer _tmp8_;
					ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionShellToken* _tmp9_;
					_tmp6_ = arguments;
					_tmp7_ = self->priv->_tokens;
					_tmp8_ = gee_abstract_list_get ((GeeAbstractList*) _tmp7_, index);
					_tmp9_ = (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionShellToken*) _tmp8_;
					gee_abstract_collection_add ((GeeAbstractCollection*) _tmp6_, _tmp9_);
					_g_object_unref0 (_tmp9_);
				}
			}
		}
	}
	result = arguments;
	return result;
}

gint*
proton_plus_widgets_games_launch_options_editor_launch_command_parse_result_get_custom_game_argument_indexes (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandParseResult* self,
                                                                                                              gint* result_length1)
{
	GeeArrayList* indexes = NULL;
	GeeArrayList* _tmp0_;
	GeeArrayList* _tmp7_;
	gint _tmp8_ = 0;
	gpointer* _tmp9_;
	gint* _tmp10_;
	gint _tmp10__length1;
	gint* result;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = gee_array_list_new (G_TYPE_INT, NULL, NULL, NULL, NULL, NULL);
	indexes = _tmp0_;
	{
		gint index = 0;
		index = 0;
		{
			gboolean _tmp1_ = FALSE;
			_tmp1_ = TRUE;
			while (TRUE) {
				GeeArrayList* _tmp3_;
				gint _tmp4_;
				gint _tmp5_;
				if (!_tmp1_) {
					gint _tmp2_;
					_tmp2_ = index;
					index = _tmp2_ + 1;
				}
				_tmp1_ = FALSE;
				_tmp3_ = self->priv->_tokens;
				_tmp4_ = gee_abstract_collection_get_size ((GeeAbstractCollection*) _tmp3_);
				_tmp5_ = _tmp4_;
				if (!(index < _tmp5_)) {
					break;
				}
				if (proton_plus_widgets_games_launch_options_editor_launch_command_parse_result_is_custom_game_argument_index (self, index)) {
					GeeArrayList* _tmp6_;
					_tmp6_ = indexes;
					gee_abstract_collection_add ((GeeAbstractCollection*) _tmp6_, (gpointer) ((gintptr) index));
				}
			}
		}
	}
	_tmp7_ = indexes;
	_tmp9_ = gee_collection_to_array ((GeeCollection*) _tmp7_, &_tmp8_);
	_tmp10_ = _tmp9_;
	_tmp10__length1 = _tmp8_;
	if (result_length1) {
		*result_length1 = _tmp10__length1;
	}
	result = _tmp10_;
	_g_object_unref0 (indexes);
	return result;
}

gboolean
proton_plus_widgets_games_launch_options_editor_launch_command_parse_result_is_custom_game_argument_index (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandParseResult* self,
                                                                                                           gint index)
{
	gboolean _tmp0_ = FALSE;
	GeeArrayList* _tmp26_;
	gpointer _tmp27_;
	ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionShellToken* _tmp28_;
	gboolean _tmp29_;
	gboolean _tmp30_;
	gboolean _tmp31_;
	gboolean result;
	g_return_val_if_fail (self != NULL, FALSE);
	if (index < 0) {
		_tmp0_ = TRUE;
	} else {
		GeeArrayList* _tmp1_;
		gint _tmp2_;
		gint _tmp3_;
		_tmp1_ = self->priv->_tokens;
		_tmp2_ = gee_abstract_collection_get_size ((GeeAbstractCollection*) _tmp1_);
		_tmp3_ = _tmp2_;
		_tmp0_ = index >= _tmp3_;
	}
	if (_tmp0_) {
		result = FALSE;
		return result;
	}
	{
		GeeArrayList* _unrecognized_list = NULL;
		GeeArrayList* _tmp4_;
		gint _unrecognized_size = 0;
		GeeArrayList* _tmp5_;
		gint _tmp6_;
		gint _tmp7_;
		gint _unrecognized_index = 0;
		_tmp4_ = self->priv->_unrecognized_tokens;
		_unrecognized_list = _tmp4_;
		_tmp5_ = _unrecognized_list;
		_tmp6_ = gee_abstract_collection_get_size ((GeeAbstractCollection*) _tmp5_);
		_tmp7_ = _tmp6_;
		_unrecognized_size = _tmp7_;
		_unrecognized_index = -1;
		while (TRUE) {
			gint _tmp8_;
			gint _tmp9_;
			ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandUnrecognizedToken* unrecognized = NULL;
			GeeArrayList* _tmp10_;
			gpointer _tmp11_;
			ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandUnrecognizedToken* _tmp12_;
			gint _tmp13_;
			gint _tmp14_;
			_unrecognized_index = _unrecognized_index + 1;
			_tmp8_ = _unrecognized_index;
			_tmp9_ = _unrecognized_size;
			if (!(_tmp8_ < _tmp9_)) {
				break;
			}
			_tmp10_ = _unrecognized_list;
			_tmp11_ = gee_abstract_list_get ((GeeAbstractList*) _tmp10_, _unrecognized_index);
			unrecognized = (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandUnrecognizedToken*) _tmp11_;
			_tmp12_ = unrecognized;
			_tmp13_ = proton_plus_widgets_games_launch_options_editor_launch_command_unrecognized_token_get_token_index (_tmp12_);
			_tmp14_ = _tmp13_;
			if (_tmp14_ == index) {
				result = TRUE;
				_g_object_unref0 (unrecognized);
				return result;
			}
			_g_object_unref0 (unrecognized);
		}
	}
	{
		GeeArrayList* _wrapper_list = NULL;
		GeeArrayList* _tmp15_;
		gint _wrapper_size = 0;
		GeeArrayList* _tmp16_;
		gint _tmp17_;
		gint _tmp18_;
		gint _wrapper_index = 0;
		_tmp15_ = self->priv->_wrappers;
		_wrapper_list = _tmp15_;
		_tmp16_ = _wrapper_list;
		_tmp17_ = gee_abstract_collection_get_size ((GeeAbstractCollection*) _tmp16_);
		_tmp18_ = _tmp17_;
		_wrapper_size = _tmp18_;
		_wrapper_index = -1;
		while (TRUE) {
			gint _tmp19_;
			gint _tmp20_;
			ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandWrapperInvocation* wrapper = NULL;
			GeeArrayList* _tmp21_;
			gpointer _tmp22_;
			ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandWrapperInvocation* _tmp23_;
			GeeArrayList* _tmp24_;
			GeeArrayList* _tmp25_;
			_wrapper_index = _wrapper_index + 1;
			_tmp19_ = _wrapper_index;
			_tmp20_ = _wrapper_size;
			if (!(_tmp19_ < _tmp20_)) {
				break;
			}
			_tmp21_ = _wrapper_list;
			_tmp22_ = gee_abstract_list_get ((GeeAbstractList*) _tmp21_, _wrapper_index);
			wrapper = (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandWrapperInvocation*) _tmp22_;
			_tmp23_ = wrapper;
			_tmp24_ = proton_plus_widgets_games_launch_options_editor_launch_command_wrapper_invocation_get_unknown_argument_indexes (_tmp23_);
			_tmp25_ = _tmp24_;
			if (gee_abstract_collection_contains ((GeeAbstractCollection*) _tmp25_, (gpointer) ((gintptr) index))) {
				result = TRUE;
				_g_object_unref0 (wrapper);
				return result;
			}
			_g_object_unref0 (wrapper);
		}
	}
	_tmp26_ = self->priv->_tokens;
	_tmp27_ = gee_abstract_list_get ((GeeAbstractList*) _tmp26_, index);
	_tmp28_ = (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionShellToken*) _tmp27_;
	_tmp29_ = proton_plus_widgets_games_launch_options_editor_launch_option_shell_token_get_is_opaque (_tmp28_);
	_tmp30_ = _tmp29_;
	_tmp31_ = _tmp30_;
	_g_object_unref0 (_tmp28_);
	if (_tmp31_) {
		result = TRUE;
		return result;
	}
	result = FALSE;
	return result;
}

gboolean
proton_plus_widgets_games_launch_options_editor_launch_command_parse_result_is_preserved_game_argument_index (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandParseResult* self,
                                                                                                              gint index)
{
	gboolean _tmp15_ = FALSE;
	gboolean _tmp16_ = FALSE;
	gboolean result;
	g_return_val_if_fail (self != NULL, FALSE);
	{
		GeeArrayList* _unrecognized_list = NULL;
		GeeArrayList* _tmp0_;
		gint _unrecognized_size = 0;
		GeeArrayList* _tmp1_;
		gint _tmp2_;
		gint _tmp3_;
		gint _unrecognized_index = 0;
		_tmp0_ = self->priv->_unrecognized_tokens;
		_unrecognized_list = _tmp0_;
		_tmp1_ = _unrecognized_list;
		_tmp2_ = gee_abstract_collection_get_size ((GeeAbstractCollection*) _tmp1_);
		_tmp3_ = _tmp2_;
		_unrecognized_size = _tmp3_;
		_unrecognized_index = -1;
		while (TRUE) {
			gint _tmp4_;
			gint _tmp5_;
			ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandUnrecognizedToken* unrecognized = NULL;
			GeeArrayList* _tmp6_;
			gpointer _tmp7_;
			gboolean _tmp8_ = FALSE;
			ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandUnrecognizedToken* _tmp9_;
			gint _tmp10_;
			gint _tmp11_;
			_unrecognized_index = _unrecognized_index + 1;
			_tmp4_ = _unrecognized_index;
			_tmp5_ = _unrecognized_size;
			if (!(_tmp4_ < _tmp5_)) {
				break;
			}
			_tmp6_ = _unrecognized_list;
			_tmp7_ = gee_abstract_list_get ((GeeAbstractList*) _tmp6_, _unrecognized_index);
			unrecognized = (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandUnrecognizedToken*) _tmp7_;
			_tmp9_ = unrecognized;
			_tmp10_ = proton_plus_widgets_games_launch_options_editor_launch_command_unrecognized_token_get_token_index (_tmp9_);
			_tmp11_ = _tmp10_;
			if (_tmp11_ == index) {
				ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandUnrecognizedToken* _tmp12_;
				ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandUnrecognizedKind _tmp13_;
				ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandUnrecognizedKind _tmp14_;
				_tmp12_ = unrecognized;
				_tmp13_ = proton_plus_widgets_games_launch_options_editor_launch_command_unrecognized_token_get_kind (_tmp12_);
				_tmp14_ = _tmp13_;
				_tmp8_ = _tmp14_ == PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_UNRECOGNIZED_KIND_PRESERVED_GAME_COMMAND_CONTENT;
			} else {
				_tmp8_ = FALSE;
			}
			if (_tmp8_) {
				result = TRUE;
				_g_object_unref0 (unrecognized);
				return result;
			}
			_g_object_unref0 (unrecognized);
		}
	}
	if (index >= 0) {
		GeeArrayList* _tmp17_;
		gint _tmp18_;
		gint _tmp19_;
		_tmp17_ = self->priv->_tokens;
		_tmp18_ = gee_abstract_collection_get_size ((GeeAbstractCollection*) _tmp17_);
		_tmp19_ = _tmp18_;
		_tmp16_ = index < _tmp19_;
	} else {
		_tmp16_ = FALSE;
	}
	if (_tmp16_) {
		GeeArrayList* _tmp20_;
		gpointer _tmp21_;
		ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionShellToken* _tmp22_;
		gboolean _tmp23_;
		gboolean _tmp24_;
		_tmp20_ = self->priv->_tokens;
		_tmp21_ = gee_abstract_list_get ((GeeAbstractList*) _tmp20_, index);
		_tmp22_ = (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionShellToken*) _tmp21_;
		_tmp23_ = proton_plus_widgets_games_launch_options_editor_launch_option_shell_token_get_is_opaque (_tmp22_);
		_tmp24_ = _tmp23_;
		_tmp15_ = _tmp24_;
		_g_object_unref0 (_tmp22_);
	} else {
		_tmp15_ = FALSE;
	}
	if (_tmp15_) {
		gint _tmp25_ = 0;
		GeeArrayList* _tmp26_;
		gint _tmp27_;
		gint _tmp28_;
		gint boundary = 0;
		GeeArrayList* _tmp31_;
		gint _tmp32_;
		gint _tmp33_;
		_tmp26_ = self->priv->_command_boundary_indexes;
		_tmp27_ = gee_abstract_collection_get_size ((GeeAbstractCollection*) _tmp26_);
		_tmp28_ = _tmp27_;
		if (_tmp28_ == 1) {
			GeeArrayList* _tmp29_;
			gpointer _tmp30_;
			_tmp29_ = self->priv->_command_boundary_indexes;
			_tmp30_ = gee_abstract_list_get ((GeeAbstractList*) _tmp29_, 0);
			_tmp25_ = (gint) ((gintptr) _tmp30_);
		} else {
			_tmp25_ = -1;
		}
		boundary = _tmp25_;
		if (boundary >= 0) {
			result = index > boundary;
			return result;
		}
		_tmp31_ = self->priv->_wrappers;
		_tmp32_ = gee_abstract_collection_get_size ((GeeAbstractCollection*) _tmp31_);
		_tmp33_ = _tmp32_;
		if (_tmp33_ > 0) {
			result = FALSE;
			return result;
		}
		{
			GeeArrayList* _occurrence_list = NULL;
			GeeArrayList* _tmp34_;
			gint _occurrence_size = 0;
			GeeArrayList* _tmp35_;
			gint _tmp36_;
			gint _tmp37_;
			gint _occurrence_index = 0;
			_tmp34_ = self->priv->_occurrences;
			_occurrence_list = _tmp34_;
			_tmp35_ = _occurrence_list;
			_tmp36_ = gee_abstract_collection_get_size ((GeeAbstractCollection*) _tmp35_);
			_tmp37_ = _tmp36_;
			_occurrence_size = _tmp37_;
			_occurrence_index = -1;
			while (TRUE) {
				gint _tmp38_;
				gint _tmp39_;
				ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandOptionOccurrence* occurrence = NULL;
				GeeArrayList* _tmp40_;
				gpointer _tmp41_;
				ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandOptionOccurrence* _tmp42_;
				ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionSemanticKind _tmp43_;
				ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionSemanticKind _tmp44_;
				_occurrence_index = _occurrence_index + 1;
				_tmp38_ = _occurrence_index;
				_tmp39_ = _occurrence_size;
				if (!(_tmp38_ < _tmp39_)) {
					break;
				}
				_tmp40_ = _occurrence_list;
				_tmp41_ = gee_abstract_list_get ((GeeAbstractList*) _tmp40_, _occurrence_index);
				occurrence = (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandOptionOccurrence*) _tmp41_;
				_tmp42_ = occurrence;
				_tmp43_ = proton_plus_widgets_games_launch_options_editor_launch_command_option_occurrence_get_semantic_kind (_tmp42_);
				_tmp44_ = _tmp43_;
				if (_tmp44_ != PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_OPTION_SEMANTIC_KIND_GAME_ARGUMENT) {
					result = FALSE;
					_g_object_unref0 (occurrence);
					return result;
				}
				_g_object_unref0 (occurrence);
			}
		}
		{
			GeeArrayList* _unrecognized_list = NULL;
			GeeArrayList* _tmp45_;
			gint _unrecognized_size = 0;
			GeeArrayList* _tmp46_;
			gint _tmp47_;
			gint _tmp48_;
			gint _unrecognized_index = 0;
			_tmp45_ = self->priv->_unrecognized_tokens;
			_unrecognized_list = _tmp45_;
			_tmp46_ = _unrecognized_list;
			_tmp47_ = gee_abstract_collection_get_size ((GeeAbstractCollection*) _tmp46_);
			_tmp48_ = _tmp47_;
			_unrecognized_size = _tmp48_;
			_unrecognized_index = -1;
			while (TRUE) {
				gint _tmp49_;
				gint _tmp50_;
				ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandUnrecognizedToken* unrecognized = NULL;
				GeeArrayList* _tmp51_;
				gpointer _tmp52_;
				ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandUnrecognizedToken* _tmp53_;
				ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandUnrecognizedKind _tmp54_;
				ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandUnrecognizedKind _tmp55_;
				_unrecognized_index = _unrecognized_index + 1;
				_tmp49_ = _unrecognized_index;
				_tmp50_ = _unrecognized_size;
				if (!(_tmp49_ < _tmp50_)) {
					break;
				}
				_tmp51_ = _unrecognized_list;
				_tmp52_ = gee_abstract_list_get ((GeeAbstractList*) _tmp51_, _unrecognized_index);
				unrecognized = (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandUnrecognizedToken*) _tmp52_;
				_tmp53_ = unrecognized;
				_tmp54_ = proton_plus_widgets_games_launch_options_editor_launch_command_unrecognized_token_get_kind (_tmp53_);
				_tmp55_ = _tmp54_;
				if (_tmp55_ != PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_UNRECOGNIZED_KIND_PRESERVED_GAME_COMMAND_CONTENT) {
					result = FALSE;
					_g_object_unref0 (unrecognized);
					return result;
				}
				_g_object_unref0 (unrecognized);
			}
		}
		result = TRUE;
		return result;
	}
	result = FALSE;
	return result;
}

const gchar*
proton_plus_widgets_games_launch_options_editor_launch_command_parse_result_get_original_input (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandParseResult* self)
{
	const gchar* result;
	const gchar* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_original_input;
	result = _tmp0_;
	return result;
}

static void
proton_plus_widgets_games_launch_options_editor_launch_command_parse_result_set_original_input (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandParseResult* self,
                                                                                                const gchar* value)
{
	gchar* old_value;
	g_return_if_fail (self != NULL);
	old_value = proton_plus_widgets_games_launch_options_editor_launch_command_parse_result_get_original_input (self);
	if (g_strcmp0 (value, old_value) != 0) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup (value);
		_g_free0 (self->priv->_original_input);
		self->priv->_original_input = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, proton_plus_widgets_games_launch_options_editor_launch_command_parse_result_properties[PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_PARSE_RESULT_ORIGINAL_INPUT_PROPERTY]);
	}
}

GeeArrayList*
proton_plus_widgets_games_launch_options_editor_launch_command_parse_result_get_tokens (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandParseResult* self)
{
	GeeArrayList* result;
	GeeArrayList* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_tokens;
	result = _tmp0_;
	return result;
}

static void
proton_plus_widgets_games_launch_options_editor_launch_command_parse_result_set_tokens (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandParseResult* self,
                                                                                        GeeArrayList* value)
{
	GeeArrayList* old_value;
	g_return_if_fail (self != NULL);
	old_value = proton_plus_widgets_games_launch_options_editor_launch_command_parse_result_get_tokens (self);
	if (old_value != value) {
		GeeArrayList* _tmp0_;
		_tmp0_ = _g_object_ref0 (value);
		_g_object_unref0 (self->priv->_tokens);
		self->priv->_tokens = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, proton_plus_widgets_games_launch_options_editor_launch_command_parse_result_properties[PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_PARSE_RESULT_TOKENS_PROPERTY]);
	}
}

GeeArrayList*
proton_plus_widgets_games_launch_options_editor_launch_command_parse_result_get_occurrences (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandParseResult* self)
{
	GeeArrayList* result;
	GeeArrayList* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_occurrences;
	result = _tmp0_;
	return result;
}

static void
proton_plus_widgets_games_launch_options_editor_launch_command_parse_result_set_occurrences (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandParseResult* self,
                                                                                             GeeArrayList* value)
{
	GeeArrayList* old_value;
	g_return_if_fail (self != NULL);
	old_value = proton_plus_widgets_games_launch_options_editor_launch_command_parse_result_get_occurrences (self);
	if (old_value != value) {
		GeeArrayList* _tmp0_;
		_tmp0_ = _g_object_ref0 (value);
		_g_object_unref0 (self->priv->_occurrences);
		self->priv->_occurrences = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, proton_plus_widgets_games_launch_options_editor_launch_command_parse_result_properties[PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_PARSE_RESULT_OCCURRENCES_PROPERTY]);
	}
}

GeeArrayList*
proton_plus_widgets_games_launch_options_editor_launch_command_parse_result_get_wrappers (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandParseResult* self)
{
	GeeArrayList* result;
	GeeArrayList* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_wrappers;
	result = _tmp0_;
	return result;
}

static void
proton_plus_widgets_games_launch_options_editor_launch_command_parse_result_set_wrappers (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandParseResult* self,
                                                                                          GeeArrayList* value)
{
	GeeArrayList* old_value;
	g_return_if_fail (self != NULL);
	old_value = proton_plus_widgets_games_launch_options_editor_launch_command_parse_result_get_wrappers (self);
	if (old_value != value) {
		GeeArrayList* _tmp0_;
		_tmp0_ = _g_object_ref0 (value);
		_g_object_unref0 (self->priv->_wrappers);
		self->priv->_wrappers = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, proton_plus_widgets_games_launch_options_editor_launch_command_parse_result_properties[PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_PARSE_RESULT_WRAPPERS_PROPERTY]);
	}
}

GeeArrayList*
proton_plus_widgets_games_launch_options_editor_launch_command_parse_result_get_command_boundaries (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandParseResult* self)
{
	GeeArrayList* result;
	GeeArrayList* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_command_boundaries;
	result = _tmp0_;
	return result;
}

static void
proton_plus_widgets_games_launch_options_editor_launch_command_parse_result_set_command_boundaries (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandParseResult* self,
                                                                                                    GeeArrayList* value)
{
	GeeArrayList* old_value;
	g_return_if_fail (self != NULL);
	old_value = proton_plus_widgets_games_launch_options_editor_launch_command_parse_result_get_command_boundaries (self);
	if (old_value != value) {
		GeeArrayList* _tmp0_;
		_tmp0_ = _g_object_ref0 (value);
		_g_object_unref0 (self->priv->_command_boundaries);
		self->priv->_command_boundaries = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, proton_plus_widgets_games_launch_options_editor_launch_command_parse_result_properties[PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_PARSE_RESULT_COMMAND_BOUNDARIES_PROPERTY]);
	}
}

GeeArrayList*
proton_plus_widgets_games_launch_options_editor_launch_command_parse_result_get_command_boundary_indexes (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandParseResult* self)
{
	GeeArrayList* result;
	GeeArrayList* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_command_boundary_indexes;
	result = _tmp0_;
	return result;
}

static void
proton_plus_widgets_games_launch_options_editor_launch_command_parse_result_set_command_boundary_indexes (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandParseResult* self,
                                                                                                          GeeArrayList* value)
{
	GeeArrayList* old_value;
	g_return_if_fail (self != NULL);
	old_value = proton_plus_widgets_games_launch_options_editor_launch_command_parse_result_get_command_boundary_indexes (self);
	if (old_value != value) {
		GeeArrayList* _tmp0_;
		_tmp0_ = _g_object_ref0 (value);
		_g_object_unref0 (self->priv->_command_boundary_indexes);
		self->priv->_command_boundary_indexes = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, proton_plus_widgets_games_launch_options_editor_launch_command_parse_result_properties[PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_PARSE_RESULT_COMMAND_BOUNDARY_INDEXES_PROPERTY]);
	}
}

GeeArrayList*
proton_plus_widgets_games_launch_options_editor_launch_command_parse_result_get_unrecognized_tokens (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandParseResult* self)
{
	GeeArrayList* result;
	GeeArrayList* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_unrecognized_tokens;
	result = _tmp0_;
	return result;
}

static void
proton_plus_widgets_games_launch_options_editor_launch_command_parse_result_set_unrecognized_tokens (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandParseResult* self,
                                                                                                     GeeArrayList* value)
{
	GeeArrayList* old_value;
	g_return_if_fail (self != NULL);
	old_value = proton_plus_widgets_games_launch_options_editor_launch_command_parse_result_get_unrecognized_tokens (self);
	if (old_value != value) {
		GeeArrayList* _tmp0_;
		_tmp0_ = _g_object_ref0 (value);
		_g_object_unref0 (self->priv->_unrecognized_tokens);
		self->priv->_unrecognized_tokens = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, proton_plus_widgets_games_launch_options_editor_launch_command_parse_result_properties[PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_PARSE_RESULT_UNRECOGNIZED_TOKENS_PROPERTY]);
	}
}

GeeArrayList*
proton_plus_widgets_games_launch_options_editor_launch_command_parse_result_get_opaque_tokens (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandParseResult* self)
{
	GeeArrayList* result;
	GeeArrayList* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_opaque_tokens;
	result = _tmp0_;
	return result;
}

static void
proton_plus_widgets_games_launch_options_editor_launch_command_parse_result_set_opaque_tokens (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandParseResult* self,
                                                                                               GeeArrayList* value)
{
	GeeArrayList* old_value;
	g_return_if_fail (self != NULL);
	old_value = proton_plus_widgets_games_launch_options_editor_launch_command_parse_result_get_opaque_tokens (self);
	if (old_value != value) {
		GeeArrayList* _tmp0_;
		_tmp0_ = _g_object_ref0 (value);
		_g_object_unref0 (self->priv->_opaque_tokens);
		self->priv->_opaque_tokens = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, proton_plus_widgets_games_launch_options_editor_launch_command_parse_result_properties[PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_PARSE_RESULT_OPAQUE_TOKENS_PROPERTY]);
	}
}

GeeArrayList*
proton_plus_widgets_games_launch_options_editor_launch_command_parse_result_get_diagnostics (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandParseResult* self)
{
	GeeArrayList* result;
	GeeArrayList* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_diagnostics;
	result = _tmp0_;
	return result;
}

static void
proton_plus_widgets_games_launch_options_editor_launch_command_parse_result_set_diagnostics (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandParseResult* self,
                                                                                             GeeArrayList* value)
{
	GeeArrayList* old_value;
	g_return_if_fail (self != NULL);
	old_value = proton_plus_widgets_games_launch_options_editor_launch_command_parse_result_get_diagnostics (self);
	if (old_value != value) {
		GeeArrayList* _tmp0_;
		_tmp0_ = _g_object_ref0 (value);
		_g_object_unref0 (self->priv->_diagnostics);
		self->priv->_diagnostics = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, proton_plus_widgets_games_launch_options_editor_launch_command_parse_result_properties[PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_PARSE_RESULT_DIAGNOSTICS_PROPERTY]);
	}
}

gboolean
proton_plus_widgets_games_launch_options_editor_launch_command_parse_result_get_is_structurally_safe (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandParseResult* self)
{
	gboolean result;
	g_return_val_if_fail (self != NULL, FALSE);
	result = self->priv->_is_structurally_safe;
	return result;
}

void
proton_plus_widgets_games_launch_options_editor_launch_command_parse_result_set_is_structurally_safe (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandParseResult* self,
                                                                                                      gboolean value)
{
	gboolean old_value;
	g_return_if_fail (self != NULL);
	old_value = proton_plus_widgets_games_launch_options_editor_launch_command_parse_result_get_is_structurally_safe (self);
	if (old_value != value) {
		self->priv->_is_structurally_safe = value;
		g_object_notify_by_pspec ((GObject *) self, proton_plus_widgets_games_launch_options_editor_launch_command_parse_result_properties[PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_PARSE_RESULT_IS_STRUCTURALLY_SAFE_PROPERTY]);
	}
}

static void
proton_plus_widgets_games_launch_options_editor_launch_command_parse_result_class_init (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandParseResultClass * klass,
                                                                                        gpointer klass_data)
{
	proton_plus_widgets_games_launch_options_editor_launch_command_parse_result_parent_class = g_type_class_peek_parent (klass);
	g_type_class_adjust_private_offset (klass, &ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandParseResult_private_offset);
	G_OBJECT_CLASS (klass)->get_property = _vala_proton_plus_widgets_games_launch_options_editor_launch_command_parse_result_get_property;
	G_OBJECT_CLASS (klass)->set_property = _vala_proton_plus_widgets_games_launch_options_editor_launch_command_parse_result_set_property;
	G_OBJECT_CLASS (klass)->finalize = proton_plus_widgets_games_launch_options_editor_launch_command_parse_result_finalize;
	g_object_class_install_property (G_OBJECT_CLASS (klass), PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_PARSE_RESULT_ORIGINAL_INPUT_PROPERTY, proton_plus_widgets_games_launch_options_editor_launch_command_parse_result_properties[PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_PARSE_RESULT_ORIGINAL_INPUT_PROPERTY] = g_param_spec_string ("original-input", "original-input", "original-input", NULL, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE | G_PARAM_CONSTRUCT_ONLY));
	g_object_class_install_property (G_OBJECT_CLASS (klass), PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_PARSE_RESULT_TOKENS_PROPERTY, proton_plus_widgets_games_launch_options_editor_launch_command_parse_result_properties[PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_PARSE_RESULT_TOKENS_PROPERTY] = g_param_spec_object ("tokens", "tokens", "tokens", GEE_TYPE_ARRAY_LIST, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_PARSE_RESULT_OCCURRENCES_PROPERTY, proton_plus_widgets_games_launch_options_editor_launch_command_parse_result_properties[PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_PARSE_RESULT_OCCURRENCES_PROPERTY] = g_param_spec_object ("occurrences", "occurrences", "occurrences", GEE_TYPE_ARRAY_LIST, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_PARSE_RESULT_WRAPPERS_PROPERTY, proton_plus_widgets_games_launch_options_editor_launch_command_parse_result_properties[PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_PARSE_RESULT_WRAPPERS_PROPERTY] = g_param_spec_object ("wrappers", "wrappers", "wrappers", GEE_TYPE_ARRAY_LIST, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_PARSE_RESULT_COMMAND_BOUNDARIES_PROPERTY, proton_plus_widgets_games_launch_options_editor_launch_command_parse_result_properties[PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_PARSE_RESULT_COMMAND_BOUNDARIES_PROPERTY] = g_param_spec_object ("command-boundaries", "command-boundaries", "command-boundaries", GEE_TYPE_ARRAY_LIST, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_PARSE_RESULT_COMMAND_BOUNDARY_INDEXES_PROPERTY, proton_plus_widgets_games_launch_options_editor_launch_command_parse_result_properties[PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_PARSE_RESULT_COMMAND_BOUNDARY_INDEXES_PROPERTY] = g_param_spec_object ("command-boundary-indexes", "command-boundary-indexes", "command-boundary-indexes", GEE_TYPE_ARRAY_LIST, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_PARSE_RESULT_UNRECOGNIZED_TOKENS_PROPERTY, proton_plus_widgets_games_launch_options_editor_launch_command_parse_result_properties[PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_PARSE_RESULT_UNRECOGNIZED_TOKENS_PROPERTY] = g_param_spec_object ("unrecognized-tokens", "unrecognized-tokens", "unrecognized-tokens", GEE_TYPE_ARRAY_LIST, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_PARSE_RESULT_OPAQUE_TOKENS_PROPERTY, proton_plus_widgets_games_launch_options_editor_launch_command_parse_result_properties[PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_PARSE_RESULT_OPAQUE_TOKENS_PROPERTY] = g_param_spec_object ("opaque-tokens", "opaque-tokens", "opaque-tokens", GEE_TYPE_ARRAY_LIST, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_PARSE_RESULT_DIAGNOSTICS_PROPERTY, proton_plus_widgets_games_launch_options_editor_launch_command_parse_result_properties[PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_PARSE_RESULT_DIAGNOSTICS_PROPERTY] = g_param_spec_object ("diagnostics", "diagnostics", "diagnostics", GEE_TYPE_ARRAY_LIST, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_PARSE_RESULT_IS_STRUCTURALLY_SAFE_PROPERTY, proton_plus_widgets_games_launch_options_editor_launch_command_parse_result_properties[PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_PARSE_RESULT_IS_STRUCTURALLY_SAFE_PROPERTY] = g_param_spec_boolean ("is-structurally-safe", "is-structurally-safe", "is-structurally-safe", TRUE, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
}

static void
proton_plus_widgets_games_launch_options_editor_launch_command_parse_result_instance_init (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandParseResult * self,
                                                                                           gpointer klass)
{
	self->priv = proton_plus_widgets_games_launch_options_editor_launch_command_parse_result_get_instance_private (self);
	self->priv->_is_structurally_safe = TRUE;
}

static void
proton_plus_widgets_games_launch_options_editor_launch_command_parse_result_finalize (GObject * obj)
{
	ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandParseResult * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_TYPE_LAUNCH_COMMAND_PARSE_RESULT, ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandParseResult);
	_g_free0 (self->priv->_original_input);
	_g_object_unref0 (self->priv->_tokens);
	_g_object_unref0 (self->priv->_occurrences);
	_g_object_unref0 (self->priv->_wrappers);
	_g_object_unref0 (self->priv->_command_boundaries);
	_g_object_unref0 (self->priv->_command_boundary_indexes);
	_g_object_unref0 (self->priv->_unrecognized_tokens);
	_g_object_unref0 (self->priv->_opaque_tokens);
	_g_object_unref0 (self->priv->_diagnostics);
	G_OBJECT_CLASS (proton_plus_widgets_games_launch_options_editor_launch_command_parse_result_parent_class)->finalize (obj);
}

static GType
proton_plus_widgets_games_launch_options_editor_launch_command_parse_result_get_type_once (void)
{
	static const GTypeInfo g_define_type_info = { sizeof (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandParseResultClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) proton_plus_widgets_games_launch_options_editor_launch_command_parse_result_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandParseResult), 0, (GInstanceInitFunc) proton_plus_widgets_games_launch_options_editor_launch_command_parse_result_instance_init, NULL };
	GType proton_plus_widgets_games_launch_options_editor_launch_command_parse_result_type_id;
	proton_plus_widgets_games_launch_options_editor_launch_command_parse_result_type_id = g_type_register_static (G_TYPE_OBJECT, "ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandParseResult", &g_define_type_info, 0);
	ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandParseResult_private_offset = g_type_add_instance_private (proton_plus_widgets_games_launch_options_editor_launch_command_parse_result_type_id, sizeof (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandParseResultPrivate));
	return proton_plus_widgets_games_launch_options_editor_launch_command_parse_result_type_id;
}

GType
proton_plus_widgets_games_launch_options_editor_launch_command_parse_result_get_type (void)
{
	static volatile gsize proton_plus_widgets_games_launch_options_editor_launch_command_parse_result_type_id__once = 0;
	if (g_once_init_enter (&proton_plus_widgets_games_launch_options_editor_launch_command_parse_result_type_id__once)) {
		GType proton_plus_widgets_games_launch_options_editor_launch_command_parse_result_type_id;
		proton_plus_widgets_games_launch_options_editor_launch_command_parse_result_type_id = proton_plus_widgets_games_launch_options_editor_launch_command_parse_result_get_type_once ();
		g_once_init_leave (&proton_plus_widgets_games_launch_options_editor_launch_command_parse_result_type_id__once, proton_plus_widgets_games_launch_options_editor_launch_command_parse_result_type_id);
	}
	return proton_plus_widgets_games_launch_options_editor_launch_command_parse_result_type_id__once;
}

static void
_vala_proton_plus_widgets_games_launch_options_editor_launch_command_parse_result_get_property (GObject * object,
                                                                                                guint property_id,
                                                                                                GValue * value,
                                                                                                GParamSpec * pspec)
{
	ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandParseResult * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_TYPE_LAUNCH_COMMAND_PARSE_RESULT, ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandParseResult);
	switch (property_id) {
		case PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_PARSE_RESULT_ORIGINAL_INPUT_PROPERTY:
		g_value_set_string (value, proton_plus_widgets_games_launch_options_editor_launch_command_parse_result_get_original_input (self));
		break;
		case PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_PARSE_RESULT_TOKENS_PROPERTY:
		g_value_set_object (value, proton_plus_widgets_games_launch_options_editor_launch_command_parse_result_get_tokens (self));
		break;
		case PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_PARSE_RESULT_OCCURRENCES_PROPERTY:
		g_value_set_object (value, proton_plus_widgets_games_launch_options_editor_launch_command_parse_result_get_occurrences (self));
		break;
		case PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_PARSE_RESULT_WRAPPERS_PROPERTY:
		g_value_set_object (value, proton_plus_widgets_games_launch_options_editor_launch_command_parse_result_get_wrappers (self));
		break;
		case PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_PARSE_RESULT_COMMAND_BOUNDARIES_PROPERTY:
		g_value_set_object (value, proton_plus_widgets_games_launch_options_editor_launch_command_parse_result_get_command_boundaries (self));
		break;
		case PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_PARSE_RESULT_COMMAND_BOUNDARY_INDEXES_PROPERTY:
		g_value_set_object (value, proton_plus_widgets_games_launch_options_editor_launch_command_parse_result_get_command_boundary_indexes (self));
		break;
		case PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_PARSE_RESULT_UNRECOGNIZED_TOKENS_PROPERTY:
		g_value_set_object (value, proton_plus_widgets_games_launch_options_editor_launch_command_parse_result_get_unrecognized_tokens (self));
		break;
		case PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_PARSE_RESULT_OPAQUE_TOKENS_PROPERTY:
		g_value_set_object (value, proton_plus_widgets_games_launch_options_editor_launch_command_parse_result_get_opaque_tokens (self));
		break;
		case PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_PARSE_RESULT_DIAGNOSTICS_PROPERTY:
		g_value_set_object (value, proton_plus_widgets_games_launch_options_editor_launch_command_parse_result_get_diagnostics (self));
		break;
		case PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_PARSE_RESULT_IS_STRUCTURALLY_SAFE_PROPERTY:
		g_value_set_boolean (value, proton_plus_widgets_games_launch_options_editor_launch_command_parse_result_get_is_structurally_safe (self));
		break;
		default:
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
		break;
	}
}

static void
_vala_proton_plus_widgets_games_launch_options_editor_launch_command_parse_result_set_property (GObject * object,
                                                                                                guint property_id,
                                                                                                const GValue * value,
                                                                                                GParamSpec * pspec)
{
	ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandParseResult * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_TYPE_LAUNCH_COMMAND_PARSE_RESULT, ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandParseResult);
	switch (property_id) {
		case PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_PARSE_RESULT_ORIGINAL_INPUT_PROPERTY:
		proton_plus_widgets_games_launch_options_editor_launch_command_parse_result_set_original_input (self, g_value_get_string (value));
		break;
		case PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_PARSE_RESULT_TOKENS_PROPERTY:
		proton_plus_widgets_games_launch_options_editor_launch_command_parse_result_set_tokens (self, g_value_get_object (value));
		break;
		case PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_PARSE_RESULT_OCCURRENCES_PROPERTY:
		proton_plus_widgets_games_launch_options_editor_launch_command_parse_result_set_occurrences (self, g_value_get_object (value));
		break;
		case PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_PARSE_RESULT_WRAPPERS_PROPERTY:
		proton_plus_widgets_games_launch_options_editor_launch_command_parse_result_set_wrappers (self, g_value_get_object (value));
		break;
		case PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_PARSE_RESULT_COMMAND_BOUNDARIES_PROPERTY:
		proton_plus_widgets_games_launch_options_editor_launch_command_parse_result_set_command_boundaries (self, g_value_get_object (value));
		break;
		case PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_PARSE_RESULT_COMMAND_BOUNDARY_INDEXES_PROPERTY:
		proton_plus_widgets_games_launch_options_editor_launch_command_parse_result_set_command_boundary_indexes (self, g_value_get_object (value));
		break;
		case PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_PARSE_RESULT_UNRECOGNIZED_TOKENS_PROPERTY:
		proton_plus_widgets_games_launch_options_editor_launch_command_parse_result_set_unrecognized_tokens (self, g_value_get_object (value));
		break;
		case PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_PARSE_RESULT_OPAQUE_TOKENS_PROPERTY:
		proton_plus_widgets_games_launch_options_editor_launch_command_parse_result_set_opaque_tokens (self, g_value_get_object (value));
		break;
		case PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_PARSE_RESULT_DIAGNOSTICS_PROPERTY:
		proton_plus_widgets_games_launch_options_editor_launch_command_parse_result_set_diagnostics (self, g_value_get_object (value));
		break;
		case PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_PARSE_RESULT_IS_STRUCTURALLY_SAFE_PROPERTY:
		proton_plus_widgets_games_launch_options_editor_launch_command_parse_result_set_is_structurally_safe (self, g_value_get_boolean (value));
		break;
		default:
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
		break;
	}
}

static inline gpointer
proton_plus_widgets_games_launch_options_editor_launch_command_parser_get_instance_private (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandParser* self)
{
	return G_STRUCT_MEMBER_P (self, ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandParser_private_offset);
}

ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandParser*
proton_plus_widgets_games_launch_options_editor_launch_command_parser_construct (GType object_type,
                                                                                 ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionCatalog* catalog)
{
	ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandParser * self = NULL;
	ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionCatalog* _tmp0_ = NULL;
	ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionCatalog* _tmp1_;
	ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionCatalog* _tmp3_;
	self = (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandParser*) g_object_new (object_type, NULL);
	_tmp1_ = _g_object_ref0 (catalog);
	_tmp0_ = _tmp1_;
	if (_tmp0_ == NULL) {
		ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionCatalog* _tmp2_;
		_tmp2_ = proton_plus_widgets_games_launch_options_editor_launch_option_catalog_new ();
		_g_object_unref0 (_tmp0_);
		_tmp0_ = _tmp2_;
	}
	_tmp3_ = _tmp0_;
	_tmp0_ = NULL;
	_g_object_unref0 (self->priv->catalog);
	self->priv->catalog = _tmp3_;
	_g_object_unref0 (_tmp0_);
	return self;
}

ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandParser*
proton_plus_widgets_games_launch_options_editor_launch_command_parser_new (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionCatalog* catalog)
{
	return proton_plus_widgets_games_launch_options_editor_launch_command_parser_construct (PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_TYPE_LAUNCH_COMMAND_PARSER, catalog);
}

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 gint
__lambda158_ (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandParser* self,
              ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandOptionOccurrence* first,
              ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandOptionOccurrence* second)
{
	gint _tmp0_ = 0;
	gint* _tmp1_;
	gint _tmp1__length1;
	gint first_index = 0;
	gint _tmp4_ = 0;
	gint* _tmp5_;
	gint _tmp5__length1;
	gint second_index = 0;
	gint result;
	g_return_val_if_fail (first != NULL, -1);
	g_return_val_if_fail (second != NULL, -1);
	_tmp1_ = first->token_indexes;
	_tmp1__length1 = first->token_indexes_length1;
	if (_tmp1__length1 > 0) {
		gint* _tmp2_;
		gint _tmp2__length1;
		gint _tmp3_;
		_tmp2_ = first->token_indexes;
		_tmp2__length1 = first->token_indexes_length1;
		_tmp3_ = _tmp2_[0];
		_tmp0_ = _tmp3_;
	} else {
		_tmp0_ = -1;
	}
	first_index = _tmp0_;
	_tmp5_ = second->token_indexes;
	_tmp5__length1 = second->token_indexes_length1;
	if (_tmp5__length1 > 0) {
		gint* _tmp6_;
		gint _tmp6__length1;
		gint _tmp7_;
		_tmp6_ = second->token_indexes;
		_tmp6__length1 = second->token_indexes_length1;
		_tmp7_ = _tmp6_[0];
		_tmp4_ = _tmp7_;
	} else {
		_tmp4_ = -1;
	}
	second_index = _tmp4_;
	result = first_index - second_index;
	return result;
}

static gint
___lambda158__gcompare_data_func (gconstpointer a,
                                  gconstpointer b,
                                  gpointer self)
{
	gint result;
	result = __lambda158_ ((ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandParser*) self, (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandOptionOccurrence*) a, (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandOptionOccurrence*) b);
	return result;
}

ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandParseResult*
proton_plus_widgets_games_launch_options_editor_launch_command_parser_parse (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandParser* self,
                                                                             const gchar* input)
{
	ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandParseResult* _result_ = NULL;
	ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionShellTokenizer* _tmp0_;
	ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionShellTokenizer* _tmp1_;
	GeeArrayList* _tmp2_;
	GeeArrayList* _tmp3_;
	ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandParseResult* _tmp4_;
	ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandParseResult* _tmp5_;
	gint boundary = 0;
	gboolean* wrapper_consumed = NULL;
	ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandParseResult* _tmp6_;
	GeeArrayList* _tmp7_;
	GeeArrayList* _tmp8_;
	gint _tmp9_;
	gint _tmp10_;
	gboolean* _tmp11_;
	gint wrapper_consumed_length1;
	gint _wrapper_consumed_size_;
	ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandParseResult* _tmp51_;
	GeeArrayList* _tmp52_;
	GeeArrayList* _tmp53_;
	gint _tmp54_;
	gint _tmp55_;
	gint _tmp57_ = 0;
	gint pre_boundary_end = 0;
	ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandParseResult* _tmp63_;
	gboolean* _tmp64_;
	gint _tmp64__length1;
	gboolean has_pre_boundary_modifier = FALSE;
	ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandParseResult* _tmp65_;
	ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandParseResult* _tmp129_;
	gboolean _tmp130_ = FALSE;
	ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandParseResult* _tmp138_;
	GeeArrayList* _tmp139_;
	GeeArrayList* _tmp140_;
	ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandParseResult* result;
	g_return_val_if_fail (self != NULL, NULL);
	g_return_val_if_fail (input != NULL, NULL);
	_tmp0_ = proton_plus_widgets_games_launch_options_editor_launch_option_shell_tokenizer_new ();
	_tmp1_ = _tmp0_;
	_tmp2_ = proton_plus_widgets_games_launch_options_editor_launch_option_shell_tokenizer_tokenize (_tmp1_, input);
	_tmp3_ = _tmp2_;
	_tmp4_ = proton_plus_widgets_games_launch_options_editor_launch_command_parse_result_new (input, _tmp3_);
	_tmp5_ = _tmp4_;
	_g_object_unref0 (_tmp3_);
	_g_object_unref0 (_tmp1_);
	_result_ = _tmp5_;
	boundary = -1;
	_tmp6_ = _result_;
	_tmp7_ = proton_plus_widgets_games_launch_options_editor_launch_command_parse_result_get_tokens (_tmp6_);
	_tmp8_ = _tmp7_;
	_tmp9_ = gee_abstract_collection_get_size ((GeeAbstractCollection*) _tmp8_);
	_tmp10_ = _tmp9_;
	_tmp11_ = g_new0 (gboolean, _tmp10_);
	wrapper_consumed = _tmp11_;
	wrapper_consumed_length1 = _tmp10_;
	_wrapper_consumed_size_ = wrapper_consumed_length1;
	{
		gint index = 0;
		index = 0;
		{
			gboolean _tmp12_ = FALSE;
			_tmp12_ = TRUE;
			while (TRUE) {
				ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandParseResult* _tmp14_;
				GeeArrayList* _tmp15_;
				GeeArrayList* _tmp16_;
				gint _tmp17_;
				gint _tmp18_;
				ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionShellToken* token = NULL;
				ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandParseResult* _tmp19_;
				GeeArrayList* _tmp20_;
				GeeArrayList* _tmp21_;
				gpointer _tmp22_;
				ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionShellToken* _tmp23_;
				gboolean _tmp24_;
				gboolean _tmp25_;
				gboolean _tmp31_ = FALSE;
				ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionShellToken* _tmp32_;
				const gchar* _tmp33_;
				const gchar* _tmp34_;
				if (!_tmp12_) {
					gint _tmp13_;
					_tmp13_ = index;
					index = _tmp13_ + 1;
				}
				_tmp12_ = FALSE;
				_tmp14_ = _result_;
				_tmp15_ = proton_plus_widgets_games_launch_options_editor_launch_command_parse_result_get_tokens (_tmp14_);
				_tmp16_ = _tmp15_;
				_tmp17_ = gee_abstract_collection_get_size ((GeeAbstractCollection*) _tmp16_);
				_tmp18_ = _tmp17_;
				if (!(index < _tmp18_)) {
					break;
				}
				_tmp19_ = _result_;
				_tmp20_ = proton_plus_widgets_games_launch_options_editor_launch_command_parse_result_get_tokens (_tmp19_);
				_tmp21_ = _tmp20_;
				_tmp22_ = gee_abstract_list_get ((GeeAbstractList*) _tmp21_, index);
				token = (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionShellToken*) _tmp22_;
				_tmp23_ = token;
				_tmp24_ = proton_plus_widgets_games_launch_options_editor_launch_option_shell_token_get_is_opaque (_tmp23_);
				_tmp25_ = _tmp24_;
				if (_tmp25_) {
					ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandParseResult* _tmp26_;
					GeeArrayList* _tmp27_;
					GeeArrayList* _tmp28_;
					ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionShellToken* _tmp29_;
					ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandParseResult* _tmp30_;
					_tmp26_ = _result_;
					_tmp27_ = proton_plus_widgets_games_launch_options_editor_launch_command_parse_result_get_opaque_tokens (_tmp26_);
					_tmp28_ = _tmp27_;
					_tmp29_ = token;
					gee_abstract_collection_add ((GeeAbstractCollection*) _tmp28_, _tmp29_);
					_tmp30_ = _result_;
					proton_plus_widgets_games_launch_options_editor_launch_command_parser_add_diagnostic (self, _tmp30_, PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_PARSE_DIAGNOSTIC_CODE_UNSAFE_SHELL_TOKEN, "Unsafe or malformed shell content is preserved as opaque.", index);
					_g_object_unref0 (token);
					continue;
				}
				_tmp32_ = token;
				_tmp33_ = proton_plus_widgets_games_launch_options_editor_launch_option_shell_token_get_raw (_tmp32_);
				_tmp34_ = _tmp33_;
				if (g_strcmp0 (_tmp34_, "%command%") == 0) {
					ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionShellToken* _tmp35_;
					const gchar* _tmp36_;
					const gchar* _tmp37_;
					_tmp35_ = token;
					_tmp36_ = proton_plus_widgets_games_launch_options_editor_launch_option_shell_token_get_value (_tmp35_);
					_tmp37_ = _tmp36_;
					_tmp31_ = g_strcmp0 (_tmp37_, "%command%") == 0;
				} else {
					_tmp31_ = FALSE;
				}
				if (_tmp31_) {
					ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandParseResult* _tmp38_;
					GeeArrayList* _tmp39_;
					GeeArrayList* _tmp40_;
					ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionShellToken* _tmp41_;
					ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandBoundaryOccurrence* _tmp42_;
					ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandBoundaryOccurrence* _tmp43_;
					ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandParseResult* _tmp44_;
					GeeArrayList* _tmp45_;
					GeeArrayList* _tmp46_;
					_tmp38_ = _result_;
					_tmp39_ = proton_plus_widgets_games_launch_options_editor_launch_command_parse_result_get_command_boundaries (_tmp38_);
					_tmp40_ = _tmp39_;
					_tmp41_ = token;
					_tmp42_ = proton_plus_widgets_games_launch_options_editor_launch_command_boundary_occurrence_new (_tmp41_, index);
					_tmp43_ = _tmp42_;
					gee_abstract_collection_add ((GeeAbstractCollection*) _tmp40_, _tmp43_);
					_g_object_unref0 (_tmp43_);
					_tmp44_ = _result_;
					_tmp45_ = proton_plus_widgets_games_launch_options_editor_launch_command_parse_result_get_command_boundary_indexes (_tmp44_);
					_tmp46_ = _tmp45_;
					gee_abstract_collection_add ((GeeAbstractCollection*) _tmp46_, (gpointer) ((gintptr) index));
					if (boundary < 0) {
						boundary = index;
					}
				} else {
					ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionShellToken* _tmp47_;
					const gchar* _tmp48_;
					const gchar* _tmp49_;
					_tmp47_ = token;
					_tmp48_ = proton_plus_widgets_games_launch_options_editor_launch_option_shell_token_get_value (_tmp47_);
					_tmp49_ = _tmp48_;
					if (string_contains (_tmp49_, "%command%")) {
						ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandParseResult* _tmp50_;
						_tmp50_ = _result_;
						proton_plus_widgets_games_launch_options_editor_launch_command_parser_add_diagnostic (self, _tmp50_, PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_PARSE_DIAGNOSTIC_CODE_EMBEDDED_COMMAND_BOUNDARY, "The command placeholder must be its own unquoted shell token.", index);
					}
				}
				_g_object_unref0 (token);
			}
		}
	}
	_tmp51_ = _result_;
	_tmp52_ = proton_plus_widgets_games_launch_options_editor_launch_command_parse_result_get_command_boundary_indexes (_tmp51_);
	_tmp53_ = _tmp52_;
	_tmp54_ = gee_abstract_collection_get_size ((GeeAbstractCollection*) _tmp53_);
	_tmp55_ = _tmp54_;
	if (_tmp55_ > 1) {
		ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandParseResult* _tmp56_;
		_tmp56_ = _result_;
		proton_plus_widgets_games_launch_options_editor_launch_command_parser_add_diagnostic (self, _tmp56_, PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_PARSE_DIAGNOSTIC_CODE_DUPLICATE_COMMAND_BOUNDARY, "Launch options contain more than one %command% boundary.", -1);
	}
	if (boundary >= 0) {
		_tmp57_ = boundary;
	} else {
		ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandParseResult* _tmp58_;
		GeeArrayList* _tmp59_;
		GeeArrayList* _tmp60_;
		gint _tmp61_;
		gint _tmp62_;
		_tmp58_ = _result_;
		_tmp59_ = proton_plus_widgets_games_launch_options_editor_launch_command_parse_result_get_tokens (_tmp58_);
		_tmp60_ = _tmp59_;
		_tmp61_ = gee_abstract_collection_get_size ((GeeAbstractCollection*) _tmp60_);
		_tmp62_ = _tmp61_;
		_tmp57_ = _tmp62_;
	}
	pre_boundary_end = _tmp57_;
	_tmp63_ = _result_;
	_tmp64_ = wrapper_consumed;
	_tmp64__length1 = wrapper_consumed_length1;
	proton_plus_widgets_games_launch_options_editor_launch_command_parser_parse_wrappers (self, _tmp63_, pre_boundary_end, _tmp64_, (gint) _tmp64__length1);
	_tmp65_ = _result_;
	has_pre_boundary_modifier = proton_plus_widgets_games_launch_options_editor_launch_command_parser_has_environment_or_wrapper (self, _tmp65_, pre_boundary_end);
	{
		gint index = 0;
		index = 0;
		{
			gboolean _tmp66_ = FALSE;
			_tmp66_ = TRUE;
			while (TRUE) {
				ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandParseResult* _tmp68_;
				GeeArrayList* _tmp69_;
				GeeArrayList* _tmp70_;
				gint _tmp71_;
				gint _tmp72_;
				ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionShellToken* token = NULL;
				ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandParseResult* _tmp73_;
				GeeArrayList* _tmp74_;
				GeeArrayList* _tmp75_;
				gpointer _tmp76_;
				gboolean _tmp77_ = FALSE;
				gboolean _tmp78_ = FALSE;
				ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionShellToken* _tmp79_;
				gboolean _tmp80_;
				gboolean _tmp81_;
				gboolean* _tmp83_;
				gint _tmp83__length1;
				gboolean _tmp84_;
				gboolean _tmp85_ = FALSE;
				gboolean after_boundary = FALSE;
				gchar* key = NULL;
				gchar* _tmp86_;
				gchar* value = NULL;
				gchar* _tmp87_;
				gboolean _tmp88_ = FALSE;
				ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandOptionOccurrence* game_occurrence = NULL;
				ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandParseResult* _tmp110_;
				ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandOptionOccurrence* _tmp111_;
				gboolean _tmp112_ = FALSE;
				ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandOptionOccurrence* _tmp113_;
				gboolean _tmp120_ = FALSE;
				gboolean arguments_only = FALSE;
				ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandUnrecognizedKind _tmp121_ = 0;
				gboolean _tmp122_ = FALSE;
				ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandParseResult* _tmp123_;
				GeeArrayList* _tmp124_;
				GeeArrayList* _tmp125_;
				ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionShellToken* _tmp126_;
				ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandUnrecognizedToken* _tmp127_;
				ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandUnrecognizedToken* _tmp128_;
				if (!_tmp66_) {
					gint _tmp67_;
					_tmp67_ = index;
					index = _tmp67_ + 1;
				}
				_tmp66_ = FALSE;
				_tmp68_ = _result_;
				_tmp69_ = proton_plus_widgets_games_launch_options_editor_launch_command_parse_result_get_tokens (_tmp68_);
				_tmp70_ = _tmp69_;
				_tmp71_ = gee_abstract_collection_get_size ((GeeAbstractCollection*) _tmp70_);
				_tmp72_ = _tmp71_;
				if (!(index < _tmp72_)) {
					break;
				}
				_tmp73_ = _result_;
				_tmp74_ = proton_plus_widgets_games_launch_options_editor_launch_command_parse_result_get_tokens (_tmp73_);
				_tmp75_ = _tmp74_;
				_tmp76_ = gee_abstract_list_get ((GeeAbstractList*) _tmp75_, index);
				token = (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionShellToken*) _tmp76_;
				_tmp79_ = token;
				_tmp80_ = proton_plus_widgets_games_launch_options_editor_launch_option_shell_token_get_is_opaque (_tmp79_);
				_tmp81_ = _tmp80_;
				if (_tmp81_) {
					_tmp78_ = TRUE;
				} else {
					_tmp78_ = index == boundary;
				}
				if (_tmp78_) {
					_tmp77_ = TRUE;
				} else {
					ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandParseResult* _tmp82_;
					_tmp82_ = _result_;
					_tmp77_ = proton_plus_widgets_games_launch_options_editor_launch_command_parser_is_boundary (self, _tmp82_, index);
				}
				if (_tmp77_) {
					_g_object_unref0 (token);
					continue;
				}
				_tmp83_ = wrapper_consumed;
				_tmp83__length1 = wrapper_consumed_length1;
				_tmp84_ = _tmp83_[index];
				if (_tmp84_) {
					_g_object_unref0 (token);
					continue;
				}
				if (boundary >= 0) {
					_tmp85_ = index > boundary;
				} else {
					_tmp85_ = FALSE;
				}
				after_boundary = _tmp85_;
				_tmp86_ = g_strdup ("");
				key = _tmp86_;
				_tmp87_ = g_strdup ("");
				value = _tmp87_;
				if (!after_boundary) {
					ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionShellToken* _tmp89_;
					const gchar* _tmp90_;
					const gchar* _tmp91_;
					gchar* _tmp92_ = NULL;
					gchar* _tmp93_ = NULL;
					gboolean _tmp94_;
					_tmp89_ = token;
					_tmp90_ = proton_plus_widgets_games_launch_options_editor_launch_option_shell_token_get_value (_tmp89_);
					_tmp91_ = _tmp90_;
					_tmp94_ = proton_plus_widgets_games_launch_options_editor_launch_command_parser_split_environment_assignment (self, _tmp91_, &_tmp92_, &_tmp93_);
					_g_free0 (key);
					key = _tmp92_;
					_g_free0 (value);
					value = _tmp93_;
					_tmp88_ = _tmp94_;
				} else {
					_tmp88_ = FALSE;
				}
				if (_tmp88_) {
					ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandOptionOccurrence* occurrence = NULL;
					ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandParseResult* _tmp95_;
					const gchar* _tmp96_;
					const gchar* _tmp97_;
					ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandOptionOccurrence* _tmp98_;
					ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandOptionOccurrence* _tmp99_;
					_tmp95_ = _result_;
					_tmp96_ = key;
					_tmp97_ = value;
					_tmp98_ = proton_plus_widgets_games_launch_options_editor_launch_command_parser_find_environment_occurrence (self, _tmp95_, index, _tmp96_, _tmp97_);
					occurrence = _tmp98_;
					_tmp99_ = occurrence;
					if (_tmp99_ != NULL) {
						ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandParseResult* _tmp100_;
						GeeArrayList* _tmp101_;
						GeeArrayList* _tmp102_;
						ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandOptionOccurrence* _tmp103_;
						_tmp100_ = _result_;
						_tmp101_ = proton_plus_widgets_games_launch_options_editor_launch_command_parse_result_get_occurrences (_tmp100_);
						_tmp102_ = _tmp101_;
						_tmp103_ = occurrence;
						gee_abstract_collection_add ((GeeAbstractCollection*) _tmp102_, _tmp103_);
					} else {
						ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandParseResult* _tmp104_;
						GeeArrayList* _tmp105_;
						GeeArrayList* _tmp106_;
						ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionShellToken* _tmp107_;
						ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandUnrecognizedToken* _tmp108_;
						ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandUnrecognizedToken* _tmp109_;
						_tmp104_ = _result_;
						_tmp105_ = proton_plus_widgets_games_launch_options_editor_launch_command_parse_result_get_unrecognized_tokens (_tmp104_);
						_tmp106_ = _tmp105_;
						_tmp107_ = token;
						_tmp108_ = proton_plus_widgets_games_launch_options_editor_launch_command_unrecognized_token_new (_tmp107_, index, PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_UNRECOGNIZED_KIND_UNKNOWN_ENVIRONMENT_ASSIGNMENT);
						_tmp109_ = _tmp108_;
						gee_abstract_collection_add ((GeeAbstractCollection*) _tmp106_, _tmp109_);
						_g_object_unref0 (_tmp109_);
					}
					_g_object_unref0 (occurrence);
					_g_free0 (value);
					_g_free0 (key);
					_g_object_unref0 (token);
					continue;
				}
				_tmp110_ = _result_;
				_tmp111_ = proton_plus_widgets_games_launch_options_editor_launch_command_parser_find_game_argument_occurrence (self, _tmp110_, index);
				game_occurrence = _tmp111_;
				_tmp113_ = game_occurrence;
				if (_tmp113_ != NULL) {
					gboolean _tmp114_ = FALSE;
					if (after_boundary) {
						_tmp114_ = TRUE;
					} else {
						gboolean _tmp115_ = FALSE;
						if (boundary < 0) {
							_tmp115_ = !has_pre_boundary_modifier;
						} else {
							_tmp115_ = FALSE;
						}
						_tmp114_ = _tmp115_;
					}
					_tmp112_ = _tmp114_;
				} else {
					_tmp112_ = FALSE;
				}
				if (_tmp112_) {
					ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandParseResult* _tmp116_;
					GeeArrayList* _tmp117_;
					GeeArrayList* _tmp118_;
					ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandOptionOccurrence* _tmp119_;
					_tmp116_ = _result_;
					_tmp117_ = proton_plus_widgets_games_launch_options_editor_launch_command_parse_result_get_occurrences (_tmp116_);
					_tmp118_ = _tmp117_;
					_tmp119_ = game_occurrence;
					gee_abstract_collection_add ((GeeAbstractCollection*) _tmp118_, _tmp119_);
					_g_object_unref0 (game_occurrence);
					_g_free0 (value);
					_g_free0 (key);
					_g_object_unref0 (token);
					continue;
				}
				if (boundary < 0) {
					_tmp120_ = !has_pre_boundary_modifier;
				} else {
					_tmp120_ = FALSE;
				}
				arguments_only = _tmp120_;
				if (after_boundary) {
					_tmp122_ = TRUE;
				} else {
					_tmp122_ = arguments_only;
				}
				if (_tmp122_) {
					_tmp121_ = PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_UNRECOGNIZED_KIND_PRESERVED_GAME_COMMAND_CONTENT;
				} else {
					_tmp121_ = PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_UNRECOGNIZED_KIND_UNKNOWN_TOKEN;
				}
				_tmp123_ = _result_;
				_tmp124_ = proton_plus_widgets_games_launch_options_editor_launch_command_parse_result_get_unrecognized_tokens (_tmp123_);
				_tmp125_ = _tmp124_;
				_tmp126_ = token;
				_tmp127_ = proton_plus_widgets_games_launch_options_editor_launch_command_unrecognized_token_new (_tmp126_, index, _tmp121_);
				_tmp128_ = _tmp127_;
				gee_abstract_collection_add ((GeeAbstractCollection*) _tmp125_, _tmp128_);
				_g_object_unref0 (_tmp128_);
				_g_object_unref0 (game_occurrence);
				_g_free0 (value);
				_g_free0 (key);
				_g_object_unref0 (token);
			}
		}
	}
	_tmp129_ = _result_;
	proton_plus_widgets_games_launch_options_editor_launch_command_parser_parse_composites (self, _tmp129_, pre_boundary_end);
	if (boundary < 0) {
		gboolean _tmp131_ = FALSE;
		if (has_pre_boundary_modifier) {
			_tmp131_ = TRUE;
		} else {
			ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandParseResult* _tmp132_;
			GeeArrayList* _tmp133_;
			GeeArrayList* _tmp134_;
			gint _tmp135_;
			gint _tmp136_;
			_tmp132_ = _result_;
			_tmp133_ = proton_plus_widgets_games_launch_options_editor_launch_command_parse_result_get_wrappers (_tmp132_);
			_tmp134_ = _tmp133_;
			_tmp135_ = gee_abstract_collection_get_size ((GeeAbstractCollection*) _tmp134_);
			_tmp136_ = _tmp135_;
			_tmp131_ = _tmp136_ > 0;
		}
		_tmp130_ = _tmp131_;
	} else {
		_tmp130_ = FALSE;
	}
	if (_tmp130_) {
		ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandParseResult* _tmp137_;
		_tmp137_ = _result_;
		proton_plus_widgets_games_launch_options_editor_launch_command_parser_add_diagnostic (self, _tmp137_, PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_PARSE_DIAGNOSTIC_CODE_MISSING_COMMAND_BOUNDARY, "Environment assignments and wrappers require a %command% boundary.", -1);
	}
	_tmp138_ = _result_;
	_tmp139_ = proton_plus_widgets_games_launch_options_editor_launch_command_parse_result_get_occurrences (_tmp138_);
	_tmp140_ = _tmp139_;
	gee_list_sort ((GeeList*) _tmp140_, ___lambda158__gcompare_data_func, g_object_ref (self), g_object_unref);
	{
		GeeArrayList* _occurrence_list = NULL;
		ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandParseResult* _tmp141_;
		GeeArrayList* _tmp142_;
		GeeArrayList* _tmp143_;
		gint _occurrence_size = 0;
		GeeArrayList* _tmp144_;
		gint _tmp145_;
		gint _tmp146_;
		gint _occurrence_index = 0;
		_tmp141_ = _result_;
		_tmp142_ = proton_plus_widgets_games_launch_options_editor_launch_command_parse_result_get_occurrences (_tmp141_);
		_tmp143_ = _tmp142_;
		_occurrence_list = _tmp143_;
		_tmp144_ = _occurrence_list;
		_tmp145_ = gee_abstract_collection_get_size ((GeeAbstractCollection*) _tmp144_);
		_tmp146_ = _tmp145_;
		_occurrence_size = _tmp146_;
		_occurrence_index = -1;
		while (TRUE) {
			gint _tmp147_;
			gint _tmp148_;
			ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandOptionOccurrence* occurrence = NULL;
			GeeArrayList* _tmp149_;
			gpointer _tmp150_;
			gboolean _tmp151_ = FALSE;
			ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandOptionOccurrence* _tmp152_;
			gboolean _tmp153_;
			gboolean _tmp154_;
			_occurrence_index = _occurrence_index + 1;
			_tmp147_ = _occurrence_index;
			_tmp148_ = _occurrence_size;
			if (!(_tmp147_ < _tmp148_)) {
				break;
			}
			_tmp149_ = _occurrence_list;
			_tmp150_ = gee_abstract_list_get ((GeeAbstractList*) _tmp149_, _occurrence_index);
			occurrence = (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandOptionOccurrence*) _tmp150_;
			_tmp152_ = occurrence;
			_tmp153_ = proton_plus_widgets_games_launch_options_editor_launch_command_option_occurrence_get_managed_emission (_tmp152_);
			_tmp154_ = _tmp153_;
			if (!_tmp154_) {
				_tmp151_ = TRUE;
			} else {
				ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandOptionOccurrence* _tmp155_;
				gboolean _tmp156_;
				gboolean _tmp157_;
				_tmp155_ = occurrence;
				_tmp156_ = proton_plus_widgets_games_launch_options_editor_launch_command_option_occurrence_get_is_legacy (_tmp155_);
				_tmp157_ = _tmp156_;
				_tmp151_ = _tmp157_;
			}
			if (_tmp151_) {
				ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandParseResult* _tmp158_;
				_tmp158_ = _result_;
				proton_plus_widgets_games_launch_options_editor_launch_command_parse_result_set_is_structurally_safe (_tmp158_, FALSE);
			}
			_g_object_unref0 (occurrence);
		}
	}
	{
		GeeArrayList* _token_list = NULL;
		ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandParseResult* _tmp159_;
		GeeArrayList* _tmp160_;
		GeeArrayList* _tmp161_;
		gint _token_size = 0;
		GeeArrayList* _tmp162_;
		gint _tmp163_;
		gint _tmp164_;
		gint _token_index = 0;
		_tmp159_ = _result_;
		_tmp160_ = proton_plus_widgets_games_launch_options_editor_launch_command_parse_result_get_unrecognized_tokens (_tmp159_);
		_tmp161_ = _tmp160_;
		_token_list = _tmp161_;
		_tmp162_ = _token_list;
		_tmp163_ = gee_abstract_collection_get_size ((GeeAbstractCollection*) _tmp162_);
		_tmp164_ = _tmp163_;
		_token_size = _tmp164_;
		_token_index = -1;
		while (TRUE) {
			gint _tmp165_;
			gint _tmp166_;
			ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandUnrecognizedToken* token = NULL;
			GeeArrayList* _tmp167_;
			gpointer _tmp168_;
			ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandUnrecognizedToken* _tmp169_;
			ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandUnrecognizedKind _tmp170_;
			ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandUnrecognizedKind _tmp171_;
			_token_index = _token_index + 1;
			_tmp165_ = _token_index;
			_tmp166_ = _token_size;
			if (!(_tmp165_ < _tmp166_)) {
				break;
			}
			_tmp167_ = _token_list;
			_tmp168_ = gee_abstract_list_get ((GeeAbstractList*) _tmp167_, _token_index);
			token = (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandUnrecognizedToken*) _tmp168_;
			_tmp169_ = token;
			_tmp170_ = proton_plus_widgets_games_launch_options_editor_launch_command_unrecognized_token_get_kind (_tmp169_);
			_tmp171_ = _tmp170_;
			if (_tmp171_ != PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_UNRECOGNIZED_KIND_PRESERVED_GAME_COMMAND_CONTENT) {
				ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandParseResult* _tmp172_;
				_tmp172_ = _result_;
				proton_plus_widgets_games_launch_options_editor_launch_command_parse_result_set_is_structurally_safe (_tmp172_, FALSE);
			}
			_g_object_unref0 (token);
		}
	}
	result = _result_;
	wrapper_consumed = (g_free (wrapper_consumed), NULL);
	return result;
}

static void
proton_plus_widgets_games_launch_options_editor_launch_command_parser_parse_wrappers (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandParser* self,
                                                                                      ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandParseResult* _result_,
                                                                                      gint end,
                                                                                      gboolean* consumed,
                                                                                      gint consumed_length1)
{
	gint index = 0;
	g_return_if_fail (self != NULL);
	g_return_if_fail (_result_ != NULL);
	index = 0;
	while (TRUE) {
		ProtonPlusWidgetsGamesLaunchOptionsEditorWrapperMatch* matched = NULL;
		ProtonPlusWidgetsGamesLaunchOptionsEditorWrapperMatch* _tmp0_;
		ProtonPlusWidgetsGamesLaunchOptionsEditorWrapperMatch* _tmp1_;
		ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchWrapperDefinition* definition = NULL;
		ProtonPlusWidgetsGamesLaunchOptionsEditorWrapperMatch* _tmp3_;
		ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchWrapperDefinition* _tmp4_;
		ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchWrapperDefinition* _tmp5_;
		ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchWrapperDefinition* _tmp6_;
		GeeArrayList* executable_indexes = NULL;
		GeeArrayList* _tmp7_;
		GeeArrayList* executable_tokens = NULL;
		GeeArrayList* _tmp8_;
		ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandWrapperInvocation* invocation = NULL;
		ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchWrapperDefinition* _tmp20_;
		const gchar* _tmp21_;
		const gchar* _tmp22_;
		GeeArrayList* _tmp23_;
		GeeArrayList* _tmp24_;
		gint _tmp25_ = 0;
		gpointer* _tmp26_;
		gint* _tmp27_;
		gint _tmp27__length1;
		ProtonPlusWidgetsGamesLaunchOptionsEditorWrapperMatch* _tmp28_;
		gboolean _tmp29_;
		gboolean _tmp30_;
		ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandWrapperInvocation* _tmp31_;
		ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandWrapperInvocation* _tmp32_;
		GeeArrayList* _tmp33_;
		GeeArrayList* _tmp34_;
		ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandWrapperInvocation* _tmp35_;
		ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandWrapperInvocation* _tmp36_;
		ProtonPlusWidgetsGamesLaunchOptionsEditorWrapperMatch* _tmp37_;
		gint _tmp38_;
		gint _tmp39_;
		ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchWrapperDefinition* _tmp40_;
		const gchar* _tmp41_;
		const gchar* _tmp42_;
		gboolean found_delimiter = FALSE;
		if (!(index < end)) {
			break;
		}
		_tmp0_ = proton_plus_widgets_games_launch_options_editor_launch_command_parser_find_wrapper_at (self, _result_, index, end);
		matched = _tmp0_;
		_tmp1_ = matched;
		if (_tmp1_ == NULL) {
			gint _tmp2_;
			_tmp2_ = index;
			index = _tmp2_ + 1;
			_g_object_unref0 (matched);
			continue;
		}
		_tmp3_ = matched;
		_tmp4_ = proton_plus_widgets_games_launch_options_editor_wrapper_match_get_definition (_tmp3_);
		_tmp5_ = _tmp4_;
		_tmp6_ = _g_object_ref0 (_tmp5_);
		definition = _tmp6_;
		_tmp7_ = gee_array_list_new (G_TYPE_INT, NULL, NULL, NULL, NULL, NULL);
		executable_indexes = _tmp7_;
		_tmp8_ = gee_array_list_new (PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_TYPE_LAUNCH_OPTION_SHELL_TOKEN, (GBoxedCopyFunc) g_object_ref, (GDestroyNotify) g_object_unref, NULL, NULL, NULL);
		executable_tokens = _tmp8_;
		{
			gint part = 0;
			part = 0;
			{
				gboolean _tmp9_ = FALSE;
				_tmp9_ = TRUE;
				while (TRUE) {
					ProtonPlusWidgetsGamesLaunchOptionsEditorWrapperMatch* _tmp11_;
					gint _tmp12_;
					gint _tmp13_;
					GeeArrayList* _tmp14_;
					GeeArrayList* _tmp15_;
					GeeArrayList* _tmp16_;
					GeeArrayList* _tmp17_;
					gpointer _tmp18_;
					ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionShellToken* _tmp19_;
					if (!_tmp9_) {
						gint _tmp10_;
						_tmp10_ = part;
						part = _tmp10_ + 1;
					}
					_tmp9_ = FALSE;
					_tmp11_ = matched;
					_tmp12_ = proton_plus_widgets_games_launch_options_editor_wrapper_match_get_length (_tmp11_);
					_tmp13_ = _tmp12_;
					if (!(part < _tmp13_)) {
						break;
					}
					_tmp14_ = executable_indexes;
					gee_abstract_collection_add ((GeeAbstractCollection*) _tmp14_, (gpointer) ((gintptr) (index + part)));
					_tmp15_ = executable_tokens;
					_tmp16_ = proton_plus_widgets_games_launch_options_editor_launch_command_parse_result_get_tokens (_result_);
					_tmp17_ = _tmp16_;
					_tmp18_ = gee_abstract_list_get ((GeeAbstractList*) _tmp17_, index + part);
					_tmp19_ = (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionShellToken*) _tmp18_;
					gee_abstract_collection_add ((GeeAbstractCollection*) _tmp15_, _tmp19_);
					_g_object_unref0 (_tmp19_);
					consumed[index + part] = TRUE;
				}
			}
		}
		_tmp20_ = definition;
		_tmp21_ = proton_plus_widgets_games_launch_options_editor_launch_wrapper_definition_get_id (_tmp20_);
		_tmp22_ = _tmp21_;
		_tmp23_ = executable_tokens;
		_tmp24_ = executable_indexes;
		_tmp26_ = gee_collection_to_array ((GeeCollection*) _tmp24_, &_tmp25_);
		_tmp27_ = _tmp26_;
		_tmp27__length1 = _tmp25_;
		_tmp28_ = matched;
		_tmp29_ = proton_plus_widgets_games_launch_options_editor_wrapper_match_get_used_alias (_tmp28_);
		_tmp30_ = _tmp29_;
		_tmp31_ = proton_plus_widgets_games_launch_options_editor_launch_command_wrapper_invocation_new (_tmp22_, _tmp23_, _tmp27_, _tmp25_, _tmp30_);
		_tmp32_ = _tmp31_;
		_tmp27_ = (g_free (_tmp27_), NULL);
		invocation = _tmp32_;
		_tmp33_ = proton_plus_widgets_games_launch_options_editor_launch_command_parse_result_get_wrappers (_result_);
		_tmp34_ = _tmp33_;
		_tmp35_ = invocation;
		gee_abstract_collection_add ((GeeAbstractCollection*) _tmp34_, _tmp35_);
		_tmp36_ = invocation;
		proton_plus_widgets_games_launch_options_editor_launch_command_parser_add_wrapper_occurrence (self, _result_, _tmp36_);
		_tmp37_ = matched;
		_tmp38_ = proton_plus_widgets_games_launch_options_editor_wrapper_match_get_length (_tmp37_);
		_tmp39_ = _tmp38_;
		index += _tmp39_;
		_tmp40_ = definition;
		_tmp41_ = proton_plus_widgets_games_launch_options_editor_launch_wrapper_definition_get_delimiter (_tmp40_);
		_tmp42_ = _tmp41_;
		if (_tmp42_ == NULL) {
			_g_object_unref0 (invocation);
			_g_object_unref0 (executable_tokens);
			_g_object_unref0 (executable_indexes);
			_g_object_unref0 (definition);
			_g_object_unref0 (matched);
			continue;
		}
		found_delimiter = FALSE;
		while (TRUE) {
			GeeArrayList* _tmp43_;
			GeeArrayList* _tmp44_;
			gpointer _tmp45_;
			ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionShellToken* _tmp46_;
			const gchar* _tmp47_;
			const gchar* _tmp48_;
			ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchWrapperDefinition* _tmp49_;
			const gchar* _tmp50_;
			const gchar* _tmp51_;
			gboolean _tmp52_;
			ProtonPlusWidgetsGamesLaunchOptionsEditorWrapperArgumentMatch* argument = NULL;
			ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchWrapperDefinition* _tmp55_;
			const gchar* _tmp56_;
			const gchar* _tmp57_;
			ProtonPlusWidgetsGamesLaunchOptionsEditorWrapperArgumentMatch* _tmp58_;
			ProtonPlusWidgetsGamesLaunchOptionsEditorWrapperArgumentMatch* _tmp59_;
			ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandWrapperInvocation* _tmp70_;
			GeeArrayList* _tmp71_;
			GeeArrayList* _tmp72_;
			ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandWrapperInvocation* _tmp73_;
			GeeArrayList* _tmp74_;
			GeeArrayList* _tmp75_;
			gint _tmp76_;
			if (!(index < end)) {
				break;
			}
			_tmp43_ = proton_plus_widgets_games_launch_options_editor_launch_command_parse_result_get_tokens (_result_);
			_tmp44_ = _tmp43_;
			_tmp45_ = gee_abstract_list_get ((GeeAbstractList*) _tmp44_, index);
			_tmp46_ = (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionShellToken*) _tmp45_;
			_tmp47_ = proton_plus_widgets_games_launch_options_editor_launch_option_shell_token_get_value (_tmp46_);
			_tmp48_ = _tmp47_;
			_tmp49_ = definition;
			_tmp50_ = proton_plus_widgets_games_launch_options_editor_launch_wrapper_definition_get_delimiter (_tmp49_);
			_tmp51_ = _tmp50_;
			_tmp52_ = g_strcmp0 (_tmp48_, _tmp51_) == 0;
			_g_object_unref0 (_tmp46_);
			if (_tmp52_) {
				ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandWrapperInvocation* _tmp53_;
				gint _tmp54_;
				_tmp53_ = invocation;
				proton_plus_widgets_games_launch_options_editor_launch_command_wrapper_invocation_set_delimiter_index (_tmp53_, index);
				consumed[index] = TRUE;
				_tmp54_ = index;
				index = _tmp54_ + 1;
				found_delimiter = TRUE;
				break;
			}
			_tmp55_ = definition;
			_tmp56_ = proton_plus_widgets_games_launch_options_editor_launch_wrapper_definition_get_id (_tmp55_);
			_tmp57_ = _tmp56_;
			_tmp58_ = proton_plus_widgets_games_launch_options_editor_launch_command_parser_find_wrapper_argument_at (self, _result_, index, end, _tmp57_);
			argument = _tmp58_;
			_tmp59_ = argument;
			if (_tmp59_ != NULL) {
				ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandWrapperInvocation* _tmp60_;
				ProtonPlusWidgetsGamesLaunchOptionsEditorWrapperArgumentMatch* _tmp61_;
				ProtonPlusWidgetsGamesLaunchOptionsEditorWrapperArgumentMatch* _tmp67_;
				gint _tmp68_;
				gint _tmp69_;
				_tmp60_ = invocation;
				_tmp61_ = argument;
				proton_plus_widgets_games_launch_options_editor_launch_command_parser_add_wrapper_argument_occurrence (self, _result_, _tmp60_, _tmp61_);
				{
					gint part = 0;
					part = 0;
					{
						gboolean _tmp62_ = FALSE;
						_tmp62_ = TRUE;
						while (TRUE) {
							ProtonPlusWidgetsGamesLaunchOptionsEditorWrapperArgumentMatch* _tmp64_;
							gint _tmp65_;
							gint _tmp66_;
							if (!_tmp62_) {
								gint _tmp63_;
								_tmp63_ = part;
								part = _tmp63_ + 1;
							}
							_tmp62_ = FALSE;
							_tmp64_ = argument;
							_tmp65_ = proton_plus_widgets_games_launch_options_editor_wrapper_argument_match_get_length (_tmp64_);
							_tmp66_ = _tmp65_;
							if (!(part < _tmp66_)) {
								break;
							}
							consumed[index + part] = TRUE;
						}
					}
				}
				_tmp67_ = argument;
				_tmp68_ = proton_plus_widgets_games_launch_options_editor_wrapper_argument_match_get_length (_tmp67_);
				_tmp69_ = _tmp68_;
				index += _tmp69_;
				_g_object_unref0 (argument);
				continue;
			}
			_tmp70_ = invocation;
			_tmp71_ = proton_plus_widgets_games_launch_options_editor_launch_command_wrapper_invocation_get_argument_indexes (_tmp70_);
			_tmp72_ = _tmp71_;
			gee_abstract_collection_add ((GeeAbstractCollection*) _tmp72_, (gpointer) ((gintptr) index));
			_tmp73_ = invocation;
			_tmp74_ = proton_plus_widgets_games_launch_options_editor_launch_command_wrapper_invocation_get_unknown_argument_indexes (_tmp73_);
			_tmp75_ = _tmp74_;
			gee_abstract_collection_add ((GeeAbstractCollection*) _tmp75_, (gpointer) ((gintptr) index));
			consumed[index] = TRUE;
			_tmp76_ = index;
			index = _tmp76_ + 1;
			_g_object_unref0 (argument);
		}
		if (!found_delimiter) {
			ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchWrapperDefinition* _tmp77_;
			const gchar* _tmp78_;
			const gchar* _tmp79_;
			ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchWrapperDefinition* _tmp80_;
			const gchar* _tmp81_;
			const gchar* _tmp82_;
			gchar* _tmp83_;
			gchar* _tmp84_;
			_tmp77_ = definition;
			_tmp78_ = proton_plus_widgets_games_launch_options_editor_launch_wrapper_definition_get_id (_tmp77_);
			_tmp79_ = _tmp78_;
			_tmp80_ = definition;
			_tmp81_ = proton_plus_widgets_games_launch_options_editor_launch_wrapper_definition_get_delimiter (_tmp80_);
			_tmp82_ = _tmp81_;
			_tmp83_ = g_strdup_printf ("Wrapper '%s' requires '%s' before %%command%%.", _tmp79_, _tmp82_);
			_tmp84_ = _tmp83_;
			proton_plus_widgets_games_launch_options_editor_launch_command_parser_add_diagnostic (self, _result_, PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_PARSE_DIAGNOSTIC_CODE_MISSING_WRAPPER_DELIMITER, _tmp84_, index);
			_g_free0 (_tmp84_);
		}
		_g_object_unref0 (invocation);
		_g_object_unref0 (executable_tokens);
		_g_object_unref0 (executable_indexes);
		_g_object_unref0 (definition);
		_g_object_unref0 (matched);
	}
	{
		gint scan_index = 0;
		scan_index = 0;
		{
			gboolean _tmp85_ = FALSE;
			_tmp85_ = TRUE;
			while (TRUE) {
				gboolean _tmp87_ = FALSE;
				gboolean _tmp88_;
				if (!_tmp85_) {
					gint _tmp86_;
					_tmp86_ = scan_index;
					scan_index = _tmp86_ + 1;
				}
				_tmp85_ = FALSE;
				if (!(scan_index < end)) {
					break;
				}
				_tmp88_ = consumed[scan_index];
				if (!_tmp88_) {
					GeeArrayList* _tmp89_;
					GeeArrayList* _tmp90_;
					gpointer _tmp91_;
					ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionShellToken* _tmp92_;
					const gchar* _tmp93_;
					const gchar* _tmp94_;
					_tmp89_ = proton_plus_widgets_games_launch_options_editor_launch_command_parse_result_get_tokens (_result_);
					_tmp90_ = _tmp89_;
					_tmp91_ = gee_abstract_list_get ((GeeAbstractList*) _tmp90_, scan_index);
					_tmp92_ = (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionShellToken*) _tmp91_;
					_tmp93_ = proton_plus_widgets_games_launch_options_editor_launch_option_shell_token_get_value (_tmp92_);
					_tmp94_ = _tmp93_;
					_tmp87_ = g_strcmp0 (_tmp94_, "--") == 0;
					_g_object_unref0 (_tmp92_);
				} else {
					_tmp87_ = FALSE;
				}
				if (_tmp87_) {
					proton_plus_widgets_games_launch_options_editor_launch_command_parser_add_diagnostic (self, _result_, PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_COMMAND_PARSE_DIAGNOSTIC_CODE_MISPLACED_WRAPPER_DELIMITER, "A wrapper delimiter is not owned by a delimited wrapper.", scan_index);
				}
			}
		}
	}
}

static void
proton_plus_widgets_games_launch_options_editor_launch_command_parser_add_wrapper_occurrence (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandParser* self,
                                                                                              ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandParseResult* _result_,
                                                                                              ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandWrapperInvocation* invocation)
{
	ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionMetadata* owner = NULL;
	ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionMetadata* _tmp49_;
	GeeArrayList* _tmp50_;
	GeeArrayList* _tmp51_;
	ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionMetadata* _tmp52_;
	const gchar* _tmp53_;
	const gchar* _tmp54_;
	ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionMetadata* _tmp55_;
	ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionSemantics* _tmp56_;
	ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionSemantics* _tmp57_;
	ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionSemanticKind _tmp58_;
	ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionSemanticKind _tmp59_;
	GeeArrayList* _tmp60_;
	GeeArrayList* _tmp61_;
	gint* _tmp62_;
	gint _tmp62__length1;
	gboolean _tmp63_;
	gboolean _tmp64_;
	ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionMetadata* _tmp65_;
	ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionSemantics* _tmp66_;
	ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionSemantics* _tmp67_;
	gboolean _tmp68_;
	gboolean _tmp69_;
	const gchar* _tmp70_;
	const gchar* _tmp71_;
	ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandOptionOccurrence* _tmp72_;
	ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandOptionOccurrence* _tmp73_;
	g_return_if_fail (self != NULL);
	g_return_if_fail (_result_ != NULL);
	g_return_if_fail (invocation != NULL);
	owner = NULL;
	{
		GeeList* _entry_list = NULL;
		ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionCatalog* _tmp0_;
		GeeList* _tmp1_;
		gint _entry_size = 0;
		GeeList* _tmp2_;
		gint _tmp3_;
		gint _tmp4_;
		gint _entry_index = 0;
		_tmp0_ = self->priv->catalog;
		_tmp1_ = proton_plus_widgets_games_launch_options_editor_launch_option_catalog_get_ordered (_tmp0_);
		_entry_list = _tmp1_;
		_tmp2_ = _entry_list;
		_tmp3_ = gee_collection_get_size ((GeeCollection*) _tmp2_);
		_tmp4_ = _tmp3_;
		_entry_size = _tmp4_;
		_entry_index = -1;
		while (TRUE) {
			gint _tmp5_;
			gint _tmp6_;
			ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionMetadata* entry = NULL;
			GeeList* _tmp7_;
			gpointer _tmp8_;
			ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionMetadata* _tmp9_;
			ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionSemantics* _tmp10_;
			ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionSemantics* _tmp11_;
			gboolean _tmp12_ = FALSE;
			ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionMetadata* _tmp13_;
			ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionSemantics* _tmp14_;
			ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionSemantics* _tmp15_;
			const gchar* _tmp16_;
			const gchar* _tmp17_;
			const gchar* _tmp18_;
			const gchar* _tmp19_;
			gboolean _tmp33_ = FALSE;
			ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionMetadata* _tmp34_;
			ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionSemantics* _tmp35_;
			ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionSemantics* _tmp36_;
			ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionSemanticKind _tmp37_;
			ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionSemanticKind _tmp38_;
			_entry_index = _entry_index + 1;
			_tmp5_ = _entry_index;
			_tmp6_ = _entry_size;
			if (!(_tmp5_ < _tmp6_)) {
				break;
			}
			_tmp7_ = _entry_list;
			_tmp8_ = gee_list_get (_tmp7_, _entry_index);
			entry = (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionMetadata*) _tmp8_;
			_tmp9_ = entry;
			_tmp10_ = proton_plus_widgets_games_launch_options_editor_launch_option_metadata_get_semantics (_tmp9_);
			_tmp11_ = _tmp10_;
			if (_tmp11_ == NULL) {
				_g_object_unref0 (entry);
				continue;
			}
			_tmp13_ = entry;
			_tmp14_ = proton_plus_widgets_games_launch_options_editor_launch_option_metadata_get_semantics (_tmp13_);
			_tmp15_ = _tmp14_;
			_tmp16_ = proton_plus_widgets_games_launch_options_editor_launch_option_semantics_get_wrapper_id (_tmp15_);
			_tmp17_ = _tmp16_;
			_tmp18_ = proton_plus_widgets_games_launch_options_editor_launch_command_wrapper_invocation_get_wrapper_id (invocation);
			_tmp19_ = _tmp18_;
			if (g_strcmp0 (_tmp17_, _tmp19_) == 0) {
				gboolean _tmp20_ = FALSE;
				ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionMetadata* _tmp21_;
				ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionSemantics* _tmp22_;
				ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionSemantics* _tmp23_;
				ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionSemanticKind _tmp24_;
				ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionSemanticKind _tmp25_;
				_tmp21_ = entry;
				_tmp22_ = proton_plus_widgets_games_launch_options_editor_launch_option_metadata_get_semantics (_tmp21_);
				_tmp23_ = _tmp22_;
				_tmp24_ = proton_plus_widgets_games_launch_options_editor_launch_option_semantics_get_kind (_tmp23_);
				_tmp25_ = _tmp24_;
				if (_tmp25_ == PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_OPTION_SEMANTIC_KIND_PREFIX_WRAPPER) {
					_tmp20_ = TRUE;
				} else {
					ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionMetadata* _tmp26_;
					ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionSemantics* _tmp27_;
					ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionSemantics* _tmp28_;
					ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionSemanticKind _tmp29_;
					ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionSemanticKind _tmp30_;
					_tmp26_ = entry;
					_tmp27_ = proton_plus_widgets_games_launch_options_editor_launch_option_metadata_get_semantics (_tmp26_);
					_tmp28_ = _tmp27_;
					_tmp29_ = proton_plus_widgets_games_launch_options_editor_launch_option_semantics_get_kind (_tmp28_);
					_tmp30_ = _tmp29_;
					_tmp20_ = _tmp30_ == PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_OPTION_SEMANTIC_KIND_DELIMITED_WRAPPER;
				}
				_tmp12_ = _tmp20_;
			} else {
				_tmp12_ = FALSE;
			}
			if (_tmp12_) {
				ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionMetadata* _tmp31_;
				ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionMetadata* _tmp32_;
				_tmp31_ = entry;
				_tmp32_ = _g_object_ref0 (_tmp31_);
				_g_object_unref0 (owner);
				owner = _tmp32_;
				_g_object_unref0 (entry);
				break;
			}
			_tmp34_ = entry;
			_tmp35_ = proton_plus_widgets_games_launch_options_editor_launch_option_metadata_get_semantics (_tmp34_);
			_tmp36_ = _tmp35_;
			_tmp37_ = proton_plus_widgets_games_launch_options_editor_launch_option_semantics_get_kind (_tmp36_);
			_tmp38_ = _tmp37_;
			if (_tmp38_ == PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_OPTION_SEMANTIC_KIND_WRAPPER_SELECTOR) {
				ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionMetadata* _tmp39_;
				ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionSemantics* _tmp40_;
				ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionSemantics* _tmp41_;
				gchar** _tmp42_;
				gint _tmp42__length1;
				gint _tmp43_ = 0;
				gchar** _tmp44_;
				gint _tmp44__length1;
				const gchar* _tmp45_;
				const gchar* _tmp46_;
				_tmp39_ = entry;
				_tmp40_ = proton_plus_widgets_games_launch_options_editor_launch_option_metadata_get_semantics (_tmp39_);
				_tmp41_ = _tmp40_;
				_tmp42_ = proton_plus_widgets_games_launch_options_editor_launch_option_semantics_get_selectable_wrapper_ids (_tmp41_, &_tmp43_);
				_tmp42__length1 = _tmp43_;
				_tmp44_ = _tmp42_;
				_tmp44__length1 = _tmp42__length1;
				_tmp45_ = proton_plus_widgets_games_launch_options_editor_launch_command_wrapper_invocation_get_wrapper_id (invocation);
				_tmp46_ = _tmp45_;
				_tmp33_ = proton_plus_widgets_games_launch_options_editor_launch_command_parser_contains (self, _tmp44_, (gint) _tmp44__length1, _tmp46_);
			} else {
				_tmp33_ = FALSE;
			}
			if (_tmp33_) {
				ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionMetadata* _tmp47_;
				ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionMetadata* _tmp48_;
				_tmp47_ = entry;
				_tmp48_ = _g_object_ref0 (_tmp47_);
				_g_object_unref0 (owner);
				owner = _tmp48_;
			}
			_g_object_unref0 (entry);
		}
		_g_object_unref0 (_entry_list);
	}
	_tmp49_ = owner;
	if (_tmp49_ == NULL) {
		_g_object_unref0 (owner);
		return;
	}
	_tmp50_ = proton_plus_widgets_games_launch_options_editor_launch_command_parse_result_get_occurrences (_result_);
	_tmp51_ = _tmp50_;
	_tmp52_ = owner;
	_tmp53_ = proton_plus_widgets_games_launch_options_editor_launch_option_metadata_get_id (_tmp52_);
	_tmp54_ = _tmp53_;
	_tmp55_ = owner;
	_tmp56_ = proton_plus_widgets_games_launch_options_editor_launch_option_metadata_get_semantics (_tmp55_);
	_tmp57_ = _tmp56_;
	_tmp58_ = proton_plus_widgets_games_launch_options_editor_launch_option_semantics_get_kind (_tmp57_);
	_tmp59_ = _tmp58_;
	_tmp60_ = proton_plus_widgets_games_launch_options_editor_launch_command_wrapper_invocation_get_executable_tokens (invocation);
	_tmp61_ = _tmp60_;
	_tmp62_ = invocation->executable_indexes;
	_tmp62__length1 = invocation->executable_indexes_length1;
	_tmp63_ = proton_plus_widgets_games_launch_options_editor_launch_command_wrapper_invocation_get_used_alias (invocation);
	_tmp64_ = _tmp63_;
	_tmp65_ = owner;
	_tmp66_ = proton_plus_widgets_games_launch_options_editor_launch_option_metadata_get_semantics (_tmp65_);
	_tmp67_ = _tmp66_;
	_tmp68_ = proton_plus_widgets_games_launch_options_editor_launch_option_semantics_get_managed_emission (_tmp67_);
	_tmp69_ = _tmp68_;
	_tmp70_ = proton_plus_widgets_games_launch_options_editor_launch_command_wrapper_invocation_get_wrapper_id (invocation);
	_tmp71_ = _tmp70_;
	_tmp72_ = proton_plus_widgets_games_launch_options_editor_launch_command_option_occurrence_new (_tmp54_, _tmp59_, _tmp61_, _tmp62_, _tmp62__length1, "", _tmp64_, _tmp69_, "", "", _tmp71_);
	_tmp73_ = _tmp72_;
	gee_abstract_collection_add ((GeeAbstractCollection*) _tmp51_, _tmp73_);
	_g_object_unref0 (_tmp73_);
	_g_object_unref0 (owner);
}

static void
proton_plus_widgets_games_launch_options_editor_launch_command_parser_add_wrapper_argument_occurrence (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandParser* self,
                                                                                                       ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandParseResult* _result_,
                                                                                                       ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandWrapperInvocation* invocation,
                                                                                                       ProtonPlusWidgetsGamesLaunchOptionsEditorWrapperArgumentMatch* match)
{
	GeeArrayList* tokens = NULL;
	gint* _tmp0_;
	gint _tmp0__length1;
	GeeArrayList* _tmp1_;
	gint* _tmp2_;
	gint _tmp2__length1;
	GeeArrayList* _tmp5_;
	GeeArrayList* _tmp6_;
	ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionMetadata* _tmp7_;
	ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionMetadata* _tmp8_;
	const gchar* _tmp9_;
	const gchar* _tmp10_;
	ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionMetadata* _tmp11_;
	ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionMetadata* _tmp12_;
	ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionSemantics* _tmp13_;
	ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionSemantics* _tmp14_;
	ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionSemanticKind _tmp15_;
	ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionSemanticKind _tmp16_;
	GeeArrayList* _tmp17_;
	gint* _tmp18_;
	gint _tmp18__length1;
	gint* _tmp19_;
	gint _tmp19__length1;
	ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionMetadata* _tmp20_;
	ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionMetadata* _tmp21_;
	ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionSemantics* _tmp22_;
	ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionSemantics* _tmp23_;
	ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionParseShape* _tmp24_;
	ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionParseShape* _tmp25_;
	gchar* _tmp26_;
	gchar* _tmp27_;
	ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionMetadata* _tmp28_;
	ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionMetadata* _tmp29_;
	ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionSemantics* _tmp30_;
	ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionSemantics* _tmp31_;
	gboolean _tmp32_;
	gboolean _tmp33_;
	const gchar* _tmp34_;
	const gchar* _tmp35_;
	ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandOptionOccurrence* _tmp36_;
	ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandOptionOccurrence* _tmp37_;
	g_return_if_fail (self != NULL);
	g_return_if_fail (_result_ != NULL);
	g_return_if_fail (invocation != NULL);
	g_return_if_fail (match != NULL);
	_tmp0_ = match->indexes;
	_tmp0__length1 = match->indexes_length1;
	_tmp1_ = proton_plus_widgets_games_launch_options_editor_launch_command_parser_tokens_for_indexes (self, _result_, _tmp0_, (gint) _tmp0__length1);
	tokens = _tmp1_;
	_tmp2_ = match->indexes;
	_tmp2__length1 = match->indexes_length1;
	{
		gint* source_index_collection = NULL;
		gint source_index_collection_length1 = 0;
		gint _source_index_collection_size_ = 0;
		gint source_index_it = 0;
		source_index_collection = _tmp2_;
		source_index_collection_length1 = _tmp2__length1;
		for (source_index_it = 0; source_index_it < source_index_collection_length1; source_index_it = source_index_it + 1) {
			gint source_index = 0;
			source_index = source_index_collection[source_index_it];
			{
				GeeArrayList* _tmp3_;
				GeeArrayList* _tmp4_;
				_tmp3_ = proton_plus_widgets_games_launch_options_editor_launch_command_wrapper_invocation_get_argument_indexes (invocation);
				_tmp4_ = _tmp3_;
				gee_abstract_collection_add ((GeeAbstractCollection*) _tmp4_, (gpointer) ((gintptr) source_index));
			}
		}
	}
	_tmp5_ = proton_plus_widgets_games_launch_options_editor_launch_command_parse_result_get_occurrences (_result_);
	_tmp6_ = _tmp5_;
	_tmp7_ = proton_plus_widgets_games_launch_options_editor_wrapper_argument_match_get_entry (match);
	_tmp8_ = _tmp7_;
	_tmp9_ = proton_plus_widgets_games_launch_options_editor_launch_option_metadata_get_id (_tmp8_);
	_tmp10_ = _tmp9_;
	_tmp11_ = proton_plus_widgets_games_launch_options_editor_wrapper_argument_match_get_entry (match);
	_tmp12_ = _tmp11_;
	_tmp13_ = proton_plus_widgets_games_launch_options_editor_launch_option_metadata_get_semantics (_tmp12_);
	_tmp14_ = _tmp13_;
	_tmp15_ = proton_plus_widgets_games_launch_options_editor_launch_option_semantics_get_kind (_tmp14_);
	_tmp16_ = _tmp15_;
	_tmp17_ = tokens;
	_tmp18_ = match->indexes;
	_tmp18__length1 = match->indexes_length1;
	_tmp19_ = match->indexes;
	_tmp19__length1 = match->indexes_length1;
	_tmp20_ = proton_plus_widgets_games_launch_options_editor_wrapper_argument_match_get_entry (match);
	_tmp21_ = _tmp20_;
	_tmp22_ = proton_plus_widgets_games_launch_options_editor_launch_option_metadata_get_semantics (_tmp21_);
	_tmp23_ = _tmp22_;
	_tmp24_ = proton_plus_widgets_games_launch_options_editor_launch_option_semantics_get_parse_shape (_tmp23_);
	_tmp25_ = _tmp24_;
	_tmp26_ = proton_plus_widgets_games_launch_options_editor_launch_command_parser_normalized_values (self, _result_, _tmp19_, (gint) _tmp19__length1, _tmp25_);
	_tmp27_ = _tmp26_;
	_tmp28_ = proton_plus_widgets_games_launch_options_editor_wrapper_argument_match_get_entry (match);
	_tmp29_ = _tmp28_;
	_tmp30_ = proton_plus_widgets_games_launch_options_editor_launch_option_metadata_get_semantics (_tmp29_);
	_tmp31_ = _tmp30_;
	_tmp32_ = proton_plus_widgets_games_launch_options_editor_launch_option_semantics_get_managed_emission (_tmp31_);
	_tmp33_ = _tmp32_;
	_tmp34_ = proton_plus_widgets_games_launch_options_editor_launch_command_wrapper_invocation_get_wrapper_id (invocation);
	_tmp35_ = _tmp34_;
	_tmp36_ = proton_plus_widgets_games_launch_options_editor_launch_command_option_occurrence_new (_tmp10_, _tmp16_, _tmp17_, _tmp18_, _tmp18__length1, _tmp27_, FALSE, _tmp33_, "", "", _tmp35_);
	_tmp37_ = _tmp36_;
	gee_abstract_collection_add ((GeeAbstractCollection*) _tmp6_, _tmp37_);
	_g_object_unref0 (_tmp37_);
	_g_free0 (_tmp27_);
	_g_object_unref0 (tokens);
}

static ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandOptionOccurrence*
proton_plus_widgets_games_launch_options_editor_launch_command_parser_find_environment_occurrence (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandParser* self,
                                                                                                   ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandParseResult* _result_,
                                                                                                   gint index,
                                                                                                   const gchar* key,
                                                                                                   const gchar* value)
{
	ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandOptionOccurrence* result;
	g_return_val_if_fail (self != NULL, NULL);
	g_return_val_if_fail (_result_ != NULL, NULL);
	g_return_val_if_fail (key != NULL, NULL);
	g_return_val_if_fail (value != NULL, NULL);
	{
		GeeList* _entry_list = NULL;
		ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionCatalog* _tmp0_;
		GeeList* _tmp1_;
		gint _entry_size = 0;
		GeeList* _tmp2_;
		gint _tmp3_;
		gint _tmp4_;
		gint _entry_index = 0;
		_tmp0_ = self->priv->catalog;
		_tmp1_ = proton_plus_widgets_games_launch_options_editor_launch_option_catalog_get_ordered (_tmp0_);
		_entry_list = _tmp1_;
		_tmp2_ = _entry_list;
		_tmp3_ = gee_collection_get_size ((GeeCollection*) _tmp2_);
		_tmp4_ = _tmp3_;
		_entry_size = _tmp4_;
		_entry_index = -1;
		while (TRUE) {
			gint _tmp5_;
			gint _tmp6_;
			ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionMetadata* entry = NULL;
			GeeList* _tmp7_;
			gpointer _tmp8_;
			ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionSemantics* semantics = NULL;
			ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionMetadata* _tmp9_;
			ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionSemantics* _tmp10_;
			ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionSemantics* _tmp11_;
			ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionSemantics* _tmp12_;
			ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionSemantics* _tmp13_;
			gboolean _tmp14_ = FALSE;
			gboolean _tmp15_ = FALSE;
			ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionSemantics* _tmp16_;
			ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionSemanticKind _tmp17_;
			ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionSemanticKind _tmp18_;
			gboolean canonical = FALSE;
			gboolean legacy = FALSE;
			ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionSemantics* _tmp29_;
			GeeArrayList* _tmp30_;
			GeeArrayList* _tmp31_;
			gpointer _tmp32_;
			ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionShellToken* _tmp33_;
			const gchar* _tmp34_;
			const gchar* _tmp35_;
			gboolean _tmp36_;
			gboolean _tmp37_ = FALSE;
			gboolean _tmp38_ = FALSE;
			ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionSemantics* _tmp39_;
			gboolean _tmp40_;
			gboolean _tmp41_;
			ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionMetadata* _tmp42_;
			const gchar* _tmp43_;
			const gchar* _tmp44_;
			ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionSemantics* _tmp45_;
			ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionSemanticKind _tmp46_;
			ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionSemanticKind _tmp47_;
			gint* _tmp48_;
			gint* _tmp49_;
			gint _tmp49__length1;
			GeeArrayList* _tmp50_;
			GeeArrayList* _tmp51_;
			gint* _tmp52_;
			gint* _tmp53_;
			gint _tmp53__length1;
			ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionSemantics* _tmp54_;
			const gchar* _tmp55_;
			const gchar* _tmp56_;
			ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandOptionOccurrence* _tmp57_;
			ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandOptionOccurrence* _tmp58_;
			_entry_index = _entry_index + 1;
			_tmp5_ = _entry_index;
			_tmp6_ = _entry_size;
			if (!(_tmp5_ < _tmp6_)) {
				break;
			}
			_tmp7_ = _entry_list;
			_tmp8_ = gee_list_get (_tmp7_, _entry_index);
			entry = (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionMetadata*) _tmp8_;
			_tmp9_ = entry;
			_tmp10_ = proton_plus_widgets_games_launch_options_editor_launch_option_metadata_get_semantics (_tmp9_);
			_tmp11_ = _tmp10_;
			_tmp12_ = _g_object_ref0 (_tmp11_);
			semantics = _tmp12_;
			_tmp13_ = semantics;
			if (_tmp13_ == NULL) {
				_g_object_unref0 (semantics);
				_g_object_unref0 (entry);
				continue;
			}
			_tmp16_ = semantics;
			_tmp17_ = proton_plus_widgets_games_launch_options_editor_launch_option_semantics_get_kind (_tmp16_);
			_tmp18_ = _tmp17_;
			if (_tmp18_ == PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_OPTION_SEMANTIC_KIND_ENVIRONMENT_ASSIGNMENT) {
				ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionSemantics* _tmp19_;
				const gchar* _tmp20_;
				const gchar* _tmp21_;
				_tmp19_ = semantics;
				_tmp20_ = proton_plus_widgets_games_launch_options_editor_launch_option_semantics_get_environment_key (_tmp19_);
				_tmp21_ = _tmp20_;
				_tmp15_ = g_strcmp0 (_tmp21_, key) == 0;
			} else {
				_tmp15_ = FALSE;
			}
			if (_tmp15_) {
				ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionSemantics* _tmp22_;
				GeeArrayList* _tmp23_;
				GeeArrayList* _tmp24_;
				gpointer _tmp25_;
				ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionShellToken* _tmp26_;
				const gchar* _tmp27_;
				const gchar* _tmp28_;
				_tmp22_ = semantics;
				_tmp23_ = proton_plus_widgets_games_launch_options_editor_launch_command_parse_result_get_tokens (_result_);
				_tmp24_ = _tmp23_;
				_tmp25_ = gee_abstract_list_get ((GeeAbstractList*) _tmp24_, index);
				_tmp26_ = (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionShellToken*) _tmp25_;
				_tmp27_ = proton_plus_widgets_games_launch_options_editor_launch_option_shell_token_get_value (_tmp26_);
				_tmp28_ = _tmp27_;
				_tmp14_ = proton_plus_widgets_games_launch_options_editor_launch_command_parser_environment_matches_canonical (self, _tmp22_, _tmp28_);
				_g_object_unref0 (_tmp26_);
			} else {
				_tmp14_ = FALSE;
			}
			canonical = _tmp14_;
			_tmp29_ = semantics;
			_tmp30_ = proton_plus_widgets_games_launch_options_editor_launch_command_parse_result_get_tokens (_result_);
			_tmp31_ = _tmp30_;
			_tmp32_ = gee_abstract_list_get ((GeeAbstractList*) _tmp31_, index);
			_tmp33_ = (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionShellToken*) _tmp32_;
			_tmp34_ = proton_plus_widgets_games_launch_options_editor_launch_option_shell_token_get_value (_tmp33_);
			_tmp35_ = _tmp34_;
			_tmp36_ = proton_plus_widgets_games_launch_options_editor_launch_command_parser_environment_matches_legacy (self, _tmp29_, _tmp35_, key);
			_g_object_unref0 (_tmp33_);
			legacy = _tmp36_;
			if (!canonical) {
				_tmp37_ = !legacy;
			} else {
				_tmp37_ = FALSE;
			}
			if (_tmp37_) {
				_g_object_unref0 (semantics);
				_g_object_unref0 (entry);
				continue;
			}
			_tmp39_ = semantics;
			_tmp40_ = proton_plus_widgets_games_launch_options_editor_launch_option_semantics_get_managed_emission (_tmp39_);
			_tmp41_ = _tmp40_;
			if (_tmp41_) {
				_tmp38_ = !legacy;
			} else {
				_tmp38_ = FALSE;
			}
			_tmp42_ = entry;
			_tmp43_ = proton_plus_widgets_games_launch_options_editor_launch_option_metadata_get_id (_tmp42_);
			_tmp44_ = _tmp43_;
			_tmp45_ = semantics;
			_tmp46_ = proton_plus_widgets_games_launch_options_editor_launch_option_semantics_get_kind (_tmp45_);
			_tmp47_ = _tmp46_;
			_tmp48_ = g_new0 (gint, 1);
			_tmp48_[0] = index;
			_tmp49_ = _tmp48_;
			_tmp49__length1 = 1;
			_tmp50_ = proton_plus_widgets_games_launch_options_editor_launch_command_parser_tokens_for_indexes (self, _result_, _tmp49_, (gint) 1);
			_tmp51_ = _tmp50_;
			_tmp52_ = g_new0 (gint, 1);
			_tmp52_[0] = index;
			_tmp53_ = _tmp52_;
			_tmp53__length1 = 1;
			_tmp54_ = semantics;
			_tmp55_ = proton_plus_widgets_games_launch_options_editor_launch_option_semantics_get_wrapper_id (_tmp54_);
			_tmp56_ = _tmp55_;
			_tmp57_ = proton_plus_widgets_games_launch_options_editor_launch_command_option_occurrence_new (_tmp44_, _tmp47_, _tmp51_, _tmp53_, 1, value, legacy, _tmp38_, key, value, _tmp56_);
			_tmp58_ = _tmp57_;
			_tmp53_ = (g_free (_tmp53_), NULL);
			_g_object_unref0 (_tmp51_);
			_tmp49_ = (g_free (_tmp49_), NULL);
			result = _tmp58_;
			_g_object_unref0 (semantics);
			_g_object_unref0 (entry);
			_g_object_unref0 (_entry_list);
			return result;
		}
		_g_object_unref0 (_entry_list);
	}
	result = NULL;
	return result;
}

static gboolean
proton_plus_widgets_games_launch_options_editor_launch_command_parser_environment_matches_canonical (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandParser* self,
                                                                                                     ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionSemantics* semantics,
                                                                                                     const gchar* token)
{
	ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionEmissionMode _tmp0_;
	ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionEmissionMode _tmp1_;
	gchar** _tmp2_;
	gint _tmp2__length1;
	gint _tmp3_ = 0;
	gchar** _tmp4_;
	gint _tmp4__length1;
	gboolean result;
	g_return_val_if_fail (self != NULL, FALSE);
	g_return_val_if_fail (semantics != NULL, FALSE);
	g_return_val_if_fail (token != NULL, FALSE);
	_tmp0_ = proton_plus_widgets_games_launch_options_editor_launch_option_semantics_get_emission_mode (semantics);
	_tmp1_ = _tmp0_;
	if (_tmp1_ == PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_OPTION_EMISSION_MODE_DYNAMIC_ENVIRONMENT_VALUE) {
		result = TRUE;
		return result;
	}
	_tmp2_ = proton_plus_widgets_games_launch_options_editor_launch_option_semantics_get_fixed_tokens (semantics, &_tmp3_);
	_tmp2__length1 = _tmp3_;
	_tmp4_ = _tmp2_;
	_tmp4__length1 = _tmp2__length1;
	{
		gchar** fixed_collection = NULL;
		gint fixed_collection_length1 = 0;
		gint _fixed_collection_size_ = 0;
		gint fixed_it = 0;
		fixed_collection = _tmp4_;
		fixed_collection_length1 = _tmp4__length1;
		for (fixed_it = 0; fixed_it < fixed_collection_length1; fixed_it = fixed_it + 1) {
			gchar* _tmp5_;
			gchar* fixed = NULL;
			_tmp5_ = g_strdup (fixed_collection[fixed_it]);
			fixed = _tmp5_;
			{
				const gchar* _tmp6_;
				_tmp6_ = fixed;
				if (g_strcmp0 (_tmp6_, token) == 0) {
					result = TRUE;
					_g_free0 (fixed);
					return result;
				}
				_g_free0 (fixed);
			}
		}
	}
	result = FALSE;
	return result;
}

static gint
string_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, -1);
	_tmp0_ = g_utf8_strchr (((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
proton_plus_widgets_games_launch_options_editor_launch_command_parser_environment_matches_legacy (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandParser* self,
                                                                                                  ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionSemantics* semantics,
                                                                                                  const gchar* token,
                                                                                                  const gchar* key)
{
	gchar** _tmp0_;
	gint _tmp0__length1;
	gint _tmp1_ = 0;
	gchar** _tmp2_;
	gint _tmp2__length1;
	gboolean result;
	g_return_val_if_fail (self != NULL, FALSE);
	g_return_val_if_fail (semantics != NULL, FALSE);
	g_return_val_if_fail (token != NULL, FALSE);
	g_return_val_if_fail (key != NULL, FALSE);
	_tmp0_ = proton_plus_widgets_games_launch_options_editor_launch_option_semantics_get_legacy_tokens (semantics, &_tmp1_);
	_tmp0__length1 = _tmp1_;
	_tmp2_ = _tmp0_;
	_tmp2__length1 = _tmp0__length1;
	{
		gchar** legacy_collection = NULL;
		gint legacy_collection_length1 = 0;
		gint _legacy_collection_size_ = 0;
		gint legacy_it = 0;
		legacy_collection = _tmp2_;
		legacy_collection_length1 = _tmp2__length1;
		for (legacy_it = 0; legacy_it < legacy_collection_length1; legacy_it = legacy_it + 1) {
			gchar* _tmp3_;
			gchar* legacy = NULL;
			_tmp3_ = g_strdup (legacy_collection[legacy_it]);
			legacy = _tmp3_;
			{
				gint separator = 0;
				const gchar* _tmp4_;
				gboolean _tmp5_ = FALSE;
				gboolean _tmp7_ = FALSE;
				gboolean _tmp8_ = FALSE;
				const gchar* _tmp11_;
				_tmp4_ = legacy;
				separator = string_index_of_char (_tmp4_, (gunichar) '=', 0);
				if (separator < 0) {
					const gchar* _tmp6_;
					_tmp6_ = legacy;
					_tmp5_ = g_strcmp0 (key, _tmp6_) == 0;
				} else {
					_tmp5_ = FALSE;
				}
				if (_tmp5_) {
					result = TRUE;
					_g_free0 (legacy);
					return result;
				}
				if (separator >= 0) {
					const gchar* _tmp9_;
					_tmp9_ = legacy;
					_tmp8_ = g_str_has_suffix (_tmp9_, "=");
				} else {
					_tmp8_ = FALSE;
				}
				if (_tmp8_) {
					const gchar* _tmp10_;
					_tmp10_ = legacy;
					_tmp7_ = g_str_has_prefix (token, _tmp10_);
				} else {
					_tmp7_ = FALSE;
				}
				if (_tmp7_) {
					result = TRUE;
					_g_free0 (legacy);
					return result;
				}
				_tmp11_ = legacy;
				if (g_strcmp0 (_tmp11_, token) == 0) {
					result = TRUE;
					_g_free0 (legacy);
					return result;
				}
				_g_free0 (legacy);
			}
		}
	}
	result = FALSE;
	return result;
}

static ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandOptionOccurrence*
proton_plus_widgets_games_launch_options_editor_launch_command_parser_find_game_argument_occurrence (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandParser* self,
                                                                                                     ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandParseResult* _result_,
                                                                                                     gint index)
{
	ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandOptionOccurrence* result;
	g_return_val_if_fail (self != NULL, NULL);
	g_return_val_if_fail (_result_ != NULL, NULL);
	{
		GeeList* _entry_list = NULL;
		ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionCatalog* _tmp0_;
		GeeList* _tmp1_;
		gint _entry_size = 0;
		GeeList* _tmp2_;
		gint _tmp3_;
		gint _tmp4_;
		gint _entry_index = 0;
		_tmp0_ = self->priv->catalog;
		_tmp1_ = proton_plus_widgets_games_launch_options_editor_launch_option_catalog_get_ordered (_tmp0_);
		_entry_list = _tmp1_;
		_tmp2_ = _entry_list;
		_tmp3_ = gee_collection_get_size ((GeeCollection*) _tmp2_);
		_tmp4_ = _tmp3_;
		_entry_size = _tmp4_;
		_entry_index = -1;
		while (TRUE) {
			gint _tmp5_;
			gint _tmp6_;
			ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionMetadata* entry = NULL;
			GeeList* _tmp7_;
			gpointer _tmp8_;
			ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionSemantics* semantics = NULL;
			ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionMetadata* _tmp9_;
			ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionSemantics* _tmp10_;
			ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionSemantics* _tmp11_;
			ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionSemantics* _tmp12_;
			gboolean _tmp13_ = FALSE;
			gboolean _tmp14_ = FALSE;
			gboolean _tmp15_ = FALSE;
			ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionSemantics* _tmp16_;
			gint* indexes = NULL;
			ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionSemantics* _tmp31_;
			gchar** _tmp32_;
			gint _tmp32__length1;
			gint _tmp33_ = 0;
			gchar** _tmp34_;
			gint _tmp34__length1;
			gint _tmp35_ = 0;
			gint* _tmp36_;
			gint indexes_length1;
			gint _indexes_size_;
			ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionMetadata* _tmp37_;
			const gchar* _tmp38_;
			const gchar* _tmp39_;
			ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionSemantics* _tmp40_;
			ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionSemanticKind _tmp41_;
			ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionSemanticKind _tmp42_;
			gint* _tmp43_;
			gint _tmp43__length1;
			GeeArrayList* _tmp44_;
			GeeArrayList* _tmp45_;
			gint* _tmp46_;
			gint _tmp46__length1;
			ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionSemantics* _tmp47_;
			gboolean _tmp48_;
			gboolean _tmp49_;
			ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandOptionOccurrence* _tmp50_;
			ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandOptionOccurrence* _tmp51_;
			_entry_index = _entry_index + 1;
			_tmp5_ = _entry_index;
			_tmp6_ = _entry_size;
			if (!(_tmp5_ < _tmp6_)) {
				break;
			}
			_tmp7_ = _entry_list;
			_tmp8_ = gee_list_get (_tmp7_, _entry_index);
			entry = (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionMetadata*) _tmp8_;
			_tmp9_ = entry;
			_tmp10_ = proton_plus_widgets_games_launch_options_editor_launch_option_metadata_get_semantics (_tmp9_);
			_tmp11_ = _tmp10_;
			_tmp12_ = _g_object_ref0 (_tmp11_);
			semantics = _tmp12_;
			_tmp16_ = semantics;
			if (_tmp16_ == NULL) {
				_tmp15_ = TRUE;
			} else {
				ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionSemantics* _tmp17_;
				ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionSemanticKind _tmp18_;
				ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionSemanticKind _tmp19_;
				_tmp17_ = semantics;
				_tmp18_ = proton_plus_widgets_games_launch_options_editor_launch_option_semantics_get_kind (_tmp17_);
				_tmp19_ = _tmp18_;
				_tmp15_ = _tmp19_ != PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_OPTION_SEMANTIC_KIND_GAME_ARGUMENT;
			}
			if (_tmp15_) {
				_tmp14_ = TRUE;
			} else {
				ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionSemantics* _tmp20_;
				ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionEmissionMode _tmp21_;
				ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionEmissionMode _tmp22_;
				_tmp20_ = semantics;
				_tmp21_ = proton_plus_widgets_games_launch_options_editor_launch_option_semantics_get_emission_mode (_tmp20_);
				_tmp22_ = _tmp21_;
				_tmp14_ = _tmp22_ != PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_OPTION_EMISSION_MODE_FIXED_TOKENS;
			}
			if (_tmp14_) {
				_tmp13_ = TRUE;
			} else {
				GeeArrayList* _tmp23_;
				GeeArrayList* _tmp24_;
				gint _tmp25_;
				gint _tmp26_;
				ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionSemantics* _tmp27_;
				gchar** _tmp28_;
				gint _tmp28__length1;
				gint _tmp29_ = 0;
				gchar** _tmp30_;
				gint _tmp30__length1;
				_tmp23_ = proton_plus_widgets_games_launch_options_editor_launch_command_parse_result_get_tokens (_result_);
				_tmp24_ = _tmp23_;
				_tmp25_ = gee_abstract_collection_get_size ((GeeAbstractCollection*) _tmp24_);
				_tmp26_ = _tmp25_;
				_tmp27_ = semantics;
				_tmp28_ = proton_plus_widgets_games_launch_options_editor_launch_option_semantics_get_fixed_tokens (_tmp27_, &_tmp29_);
				_tmp28__length1 = _tmp29_;
				_tmp30_ = _tmp28_;
				_tmp30__length1 = _tmp28__length1;
				_tmp13_ = !proton_plus_widgets_games_launch_options_editor_launch_command_parser_matches_tokens (self, _result_, index, _tmp26_, _tmp30_, (gint) _tmp30__length1);
			}
			if (_tmp13_) {
				_g_object_unref0 (semantics);
				_g_object_unref0 (entry);
				continue;
			}
			_tmp31_ = semantics;
			_tmp32_ = proton_plus_widgets_games_launch_options_editor_launch_option_semantics_get_fixed_tokens (_tmp31_, &_tmp33_);
			_tmp32__length1 = _tmp33_;
			_tmp34_ = _tmp32_;
			_tmp34__length1 = _tmp32__length1;
			_tmp36_ = proton_plus_widgets_games_launch_options_editor_launch_command_parser_consecutive_indexes (self, index, _tmp34__length1, &_tmp35_);
			indexes = _tmp36_;
			indexes_length1 = _tmp35_;
			_indexes_size_ = indexes_length1;
			_tmp37_ = entry;
			_tmp38_ = proton_plus_widgets_games_launch_options_editor_launch_option_metadata_get_id (_tmp37_);
			_tmp39_ = _tmp38_;
			_tmp40_ = semantics;
			_tmp41_ = proton_plus_widgets_games_launch_options_editor_launch_option_semantics_get_kind (_tmp40_);
			_tmp42_ = _tmp41_;
			_tmp43_ = indexes;
			_tmp43__length1 = indexes_length1;
			_tmp44_ = proton_plus_widgets_games_launch_options_editor_launch_command_parser_tokens_for_indexes (self, _result_, _tmp43_, (gint) _tmp43__length1);
			_tmp45_ = _tmp44_;
			_tmp46_ = indexes;
			_tmp46__length1 = indexes_length1;
			_tmp47_ = semantics;
			_tmp48_ = proton_plus_widgets_games_launch_options_editor_launch_option_semantics_get_managed_emission (_tmp47_);
			_tmp49_ = _tmp48_;
			_tmp50_ = proton_plus_widgets_games_launch_options_editor_launch_command_option_occurrence_new (_tmp39_, _tmp42_, _tmp45_, _tmp46_, _tmp46__length1, "", FALSE, _tmp49_, "", "", "");
			_tmp51_ = _tmp50_;
			_g_object_unref0 (_tmp45_);
			result = _tmp51_;
			indexes = (g_free (indexes), NULL);
			_g_object_unref0 (semantics);
			_g_object_unref0 (entry);
			_g_object_unref0 (_entry_list);
			return result;
		}
		_g_object_unref0 (_entry_list);
	}
	result = NULL;
	return result;
}

static gint
______lambda157_ (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandParser* self,
                  gint first,
                  gint second)
{
	gint result;
	result = first - second;
	return result;
}

static gint
_______lambda157__gcompare_data_func (gconstpointer a,
                                      gconstpointer b,
                                      gpointer self)
{
	gint result;
	result = ______lambda157_ ((ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandParser*) self, (gint) ((gintptr) a), (gint) ((gintptr) b));
	return result;
}

static void
proton_plus_widgets_games_launch_options_editor_launch_command_parser_parse_composites (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandParser* self,
                                                                                        ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandParseResult* _result_,
                                                                                        gint end)
{
	g_return_if_fail (self != NULL);
	g_return_if_fail (_result_ != NULL);
	{
		GeeList* _entry_list = NULL;
		ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionCatalog* _tmp0_;
		GeeList* _tmp1_;
		gint _entry_size = 0;
		GeeList* _tmp2_;
		gint _tmp3_;
		gint _tmp4_;
		gint _entry_index = 0;
		_tmp0_ = self->priv->catalog;
		_tmp1_ = proton_plus_widgets_games_launch_options_editor_launch_option_catalog_get_ordered (_tmp0_);
		_entry_list = _tmp1_;
		_tmp2_ = _entry_list;
		_tmp3_ = gee_collection_get_size ((GeeCollection*) _tmp2_);
		_tmp4_ = _tmp3_;
		_entry_size = _tmp4_;
		_entry_index = -1;
		while (TRUE) {
			gint _tmp5_;
			gint _tmp6_;
			ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionMetadata* entry = NULL;
			GeeList* _tmp7_;
			gpointer _tmp8_;
			ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionSemantics* semantics = NULL;
			ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionMetadata* _tmp9_;
			ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionSemantics* _tmp10_;
			ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionSemantics* _tmp11_;
			ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionSemantics* _tmp12_;
			gboolean _tmp13_ = FALSE;
			ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionSemantics* _tmp14_;
			ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionSemanticOutput* environment_output = NULL;
			ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionSemantics* _tmp18_;
			ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionSemanticOutput* _tmp19_;
			ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionSemanticOutput* argument_output = NULL;
			ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionSemantics* _tmp20_;
			ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionSemanticOutput* _tmp21_;
			gboolean _tmp22_ = FALSE;
			gboolean _tmp23_ = FALSE;
			ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionSemanticOutput* _tmp24_;
			gint environment_index = 0;
			ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionSemanticOutput* _tmp29_;
			gchar** _tmp30_;
			gint _tmp30__length1;
			gint _tmp31_ = 0;
			gchar** _tmp32_;
			gint _tmp32__length1;
			gboolean matched_arguments = FALSE;
			gboolean has_owner_arguments = FALSE;
			gboolean _tmp121_ = FALSE;
			gboolean _tmp122_ = FALSE;
			_entry_index = _entry_index + 1;
			_tmp5_ = _entry_index;
			_tmp6_ = _entry_size;
			if (!(_tmp5_ < _tmp6_)) {
				break;
			}
			_tmp7_ = _entry_list;
			_tmp8_ = gee_list_get (_tmp7_, _entry_index);
			entry = (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionMetadata*) _tmp8_;
			_tmp9_ = entry;
			_tmp10_ = proton_plus_widgets_games_launch_options_editor_launch_option_metadata_get_semantics (_tmp9_);
			_tmp11_ = _tmp10_;
			_tmp12_ = _g_object_ref0 (_tmp11_);
			semantics = _tmp12_;
			_tmp14_ = semantics;
			if (_tmp14_ == NULL) {
				_tmp13_ = TRUE;
			} else {
				ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionSemantics* _tmp15_;
				ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionSemanticKind _tmp16_;
				ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionSemanticKind _tmp17_;
				_tmp15_ = semantics;
				_tmp16_ = proton_plus_widgets_games_launch_options_editor_launch_option_semantics_get_kind (_tmp15_);
				_tmp17_ = _tmp16_;
				_tmp13_ = _tmp17_ != PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_OPTION_SEMANTIC_KIND_COMPOSITE_DYNAMIC;
			}
			if (_tmp13_) {
				_g_object_unref0 (semantics);
				_g_object_unref0 (entry);
				continue;
			}
			_tmp18_ = semantics;
			_tmp19_ = proton_plus_widgets_games_launch_options_editor_launch_command_parser_find_composite_environment_output (self, _tmp18_);
			environment_output = _tmp19_;
			_tmp20_ = semantics;
			_tmp21_ = proton_plus_widgets_games_launch_options_editor_launch_command_parser_find_composite_argument_output (self, _tmp20_);
			argument_output = _tmp21_;
			_tmp24_ = environment_output;
			if (_tmp24_ == NULL) {
				_tmp23_ = TRUE;
			} else {
				ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionSemanticOutput* _tmp25_;
				_tmp25_ = argument_output;
				_tmp23_ = _tmp25_ == NULL;
			}
			if (_tmp23_) {
				_tmp22_ = TRUE;
			} else {
				ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionSemanticOutput* _tmp26_;
				ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionParseShape* _tmp27_;
				ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionParseShape* _tmp28_;
				_tmp26_ = argument_output;
				_tmp27_ = proton_plus_widgets_games_launch_options_editor_launch_option_semantic_output_get_parse_shape (_tmp26_);
				_tmp28_ = _tmp27_;
				_tmp22_ = _tmp28_ == NULL;
			}
			if (_tmp22_) {
				_g_object_unref0 (argument_output);
				_g_object_unref0 (environment_output);
				_g_object_unref0 (semantics);
				_g_object_unref0 (entry);
				continue;
			}
			_tmp29_ = environment_output;
			_tmp30_ = proton_plus_widgets_games_launch_options_editor_launch_option_semantic_output_get_fixed_tokens (_tmp29_, &_tmp31_);
			_tmp30__length1 = _tmp31_;
			_tmp32_ = _tmp30_;
			_tmp32__length1 = _tmp30__length1;
			environment_index = proton_plus_widgets_games_launch_options_editor_launch_command_parser_find_fixed_token (self, _result_, end, _tmp32_, (gint) _tmp32__length1);
			if (environment_index < 0) {
				_g_object_unref0 (argument_output);
				_g_object_unref0 (environment_output);
				_g_object_unref0 (semantics);
				_g_object_unref0 (entry);
				continue;
			}
			matched_arguments = FALSE;
			{
				GeeArrayList* _invocation_list = NULL;
				GeeArrayList* _tmp33_;
				GeeArrayList* _tmp34_;
				gint _invocation_size = 0;
				GeeArrayList* _tmp35_;
				gint _tmp36_;
				gint _tmp37_;
				gint _invocation_index = 0;
				_tmp33_ = proton_plus_widgets_games_launch_options_editor_launch_command_parse_result_get_wrappers (_result_);
				_tmp34_ = _tmp33_;
				_invocation_list = _tmp34_;
				_tmp35_ = _invocation_list;
				_tmp36_ = gee_abstract_collection_get_size ((GeeAbstractCollection*) _tmp35_);
				_tmp37_ = _tmp36_;
				_invocation_size = _tmp37_;
				_invocation_index = -1;
				while (TRUE) {
					gint _tmp38_;
					gint _tmp39_;
					ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandWrapperInvocation* invocation = NULL;
					GeeArrayList* _tmp40_;
					gpointer _tmp41_;
					ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandWrapperInvocation* _tmp42_;
					const gchar* _tmp43_;
					const gchar* _tmp44_;
					ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionSemanticOutput* _tmp45_;
					const gchar* _tmp46_;
					const gchar* _tmp47_;
					gint* argument_indexes = NULL;
					ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandWrapperInvocation* _tmp48_;
					ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionSemanticOutput* _tmp49_;
					ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionParseShape* _tmp50_;
					ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionParseShape* _tmp51_;
					gint _tmp52_ = 0;
					gint* _tmp53_;
					gint argument_indexes_length1;
					gint _argument_indexes_size_;
					gint* _tmp54_;
					gint _tmp54__length1;
					GeeArrayList* all_indexes = NULL;
					GeeArrayList* _tmp55_;
					GeeArrayList* _tmp56_;
					gint* _tmp57_;
					gint _tmp57__length1;
					GeeArrayList* _tmp59_;
					GeeArrayList* _tmp60_;
					GeeArrayList* _tmp61_;
					ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionMetadata* _tmp62_;
					const gchar* _tmp63_;
					const gchar* _tmp64_;
					ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionSemantics* _tmp65_;
					ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionSemanticKind _tmp66_;
					ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionSemanticKind _tmp67_;
					GeeArrayList* _tmp68_;
					gint _tmp69_ = 0;
					gpointer* _tmp70_;
					gint* _tmp71_;
					gint _tmp71__length1;
					GeeArrayList* _tmp72_;
					GeeArrayList* _tmp73_;
					GeeArrayList* _tmp74_;
					gint _tmp75_ = 0;
					gpointer* _tmp76_;
					gint* _tmp77_;
					gint _tmp77__length1;
					gint* _tmp78_;
					gint _tmp78__length1;
					ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionSemanticOutput* _tmp79_;
					ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionParseShape* _tmp80_;
					ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionParseShape* _tmp81_;
					gchar* _tmp82_;
					gchar* _tmp83_;
					ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionSemantics* _tmp84_;
					gboolean _tmp85_;
					gboolean _tmp86_;
					ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionSemanticOutput* _tmp87_;
					const gchar* _tmp88_;
					const gchar* _tmp89_;
					ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandWrapperInvocation* _tmp90_;
					const gchar* _tmp91_;
					const gchar* _tmp92_;
					ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandOptionOccurrence* _tmp93_;
					ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandOptionOccurrence* _tmp94_;
					GeeArrayList* _tmp95_;
					gint* _tmp96_;
					gint _tmp96__length1;
					_invocation_index = _invocation_index + 1;
					_tmp38_ = _invocation_index;
					_tmp39_ = _invocation_size;
					if (!(_tmp38_ < _tmp39_)) {
						break;
					}
					_tmp40_ = _invocation_list;
					_tmp41_ = gee_abstract_list_get ((GeeAbstractList*) _tmp40_, _invocation_index);
					invocation = (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandWrapperInvocation*) _tmp41_;
					_tmp42_ = invocation;
					_tmp43_ = proton_plus_widgets_games_launch_options_editor_launch_command_wrapper_invocation_get_wrapper_id (_tmp42_);
					_tmp44_ = _tmp43_;
					_tmp45_ = argument_output;
					_tmp46_ = proton_plus_widgets_games_launch_options_editor_launch_option_semantic_output_get_wrapper_id (_tmp45_);
					_tmp47_ = _tmp46_;
					if (g_strcmp0 (_tmp44_, _tmp47_) != 0) {
						_g_object_unref0 (invocation);
						continue;
					}
					_tmp48_ = invocation;
					_tmp49_ = argument_output;
					_tmp50_ = proton_plus_widgets_games_launch_options_editor_launch_option_semantic_output_get_parse_shape (_tmp49_);
					_tmp51_ = _tmp50_;
					_tmp53_ = proton_plus_widgets_games_launch_options_editor_launch_command_parser_match_indexes_in_invocation (self, _result_, _tmp48_, _tmp51_, &_tmp52_);
					argument_indexes = _tmp53_;
					argument_indexes_length1 = _tmp52_;
					_argument_indexes_size_ = argument_indexes_length1;
					_tmp54_ = argument_indexes;
					_tmp54__length1 = argument_indexes_length1;
					if (_tmp54_ == NULL) {
						argument_indexes = (g_free (argument_indexes), NULL);
						_g_object_unref0 (invocation);
						continue;
					}
					_tmp55_ = gee_array_list_new (G_TYPE_INT, NULL, NULL, NULL, NULL, NULL);
					all_indexes = _tmp55_;
					_tmp56_ = all_indexes;
					gee_abstract_collection_add ((GeeAbstractCollection*) _tmp56_, (gpointer) ((gintptr) environment_index));
					_tmp57_ = argument_indexes;
					_tmp57__length1 = argument_indexes_length1;
					{
						gint* source_index_collection = NULL;
						gint source_index_collection_length1 = 0;
						gint _source_index_collection_size_ = 0;
						gint source_index_it = 0;
						source_index_collection = _tmp57_;
						source_index_collection_length1 = _tmp57__length1;
						for (source_index_it = 0; source_index_it < source_index_collection_length1; source_index_it = source_index_it + 1) {
							gint source_index = 0;
							source_index = source_index_collection[source_index_it];
							{
								GeeArrayList* _tmp58_;
								_tmp58_ = all_indexes;
								gee_abstract_collection_add ((GeeAbstractCollection*) _tmp58_, (gpointer) ((gintptr) source_index));
							}
						}
					}
					_tmp59_ = all_indexes;
					gee_list_sort ((GeeList*) _tmp59_, _______lambda157__gcompare_data_func, g_object_ref (self), g_object_unref);
					_tmp60_ = proton_plus_widgets_games_launch_options_editor_launch_command_parse_result_get_occurrences (_result_);
					_tmp61_ = _tmp60_;
					_tmp62_ = entry;
					_tmp63_ = proton_plus_widgets_games_launch_options_editor_launch_option_metadata_get_id (_tmp62_);
					_tmp64_ = _tmp63_;
					_tmp65_ = semantics;
					_tmp66_ = proton_plus_widgets_games_launch_options_editor_launch_option_semantics_get_kind (_tmp65_);
					_tmp67_ = _tmp66_;
					_tmp68_ = all_indexes;
					_tmp70_ = gee_collection_to_array ((GeeCollection*) _tmp68_, &_tmp69_);
					_tmp71_ = _tmp70_;
					_tmp71__length1 = _tmp69_;
					_tmp72_ = proton_plus_widgets_games_launch_options_editor_launch_command_parser_tokens_for_indexes (self, _result_, _tmp71_, (gint) _tmp69_);
					_tmp73_ = _tmp72_;
					_tmp74_ = all_indexes;
					_tmp76_ = gee_collection_to_array ((GeeCollection*) _tmp74_, &_tmp75_);
					_tmp77_ = _tmp76_;
					_tmp77__length1 = _tmp75_;
					_tmp78_ = argument_indexes;
					_tmp78__length1 = argument_indexes_length1;
					_tmp79_ = argument_output;
					_tmp80_ = proton_plus_widgets_games_launch_options_editor_launch_option_semantic_output_get_parse_shape (_tmp79_);
					_tmp81_ = _tmp80_;
					_tmp82_ = proton_plus_widgets_games_launch_options_editor_launch_command_parser_normalized_values (self, _result_, _tmp78_, (gint) _tmp78__length1, _tmp81_);
					_tmp83_ = _tmp82_;
					_tmp84_ = semantics;
					_tmp85_ = proton_plus_widgets_games_launch_options_editor_launch_option_semantics_get_managed_emission (_tmp84_);
					_tmp86_ = _tmp85_;
					_tmp87_ = environment_output;
					_tmp88_ = proton_plus_widgets_games_launch_options_editor_launch_option_semantic_output_get_environment_key (_tmp87_);
					_tmp89_ = _tmp88_;
					_tmp90_ = invocation;
					_tmp91_ = proton_plus_widgets_games_launch_options_editor_launch_command_wrapper_invocation_get_wrapper_id (_tmp90_);
					_tmp92_ = _tmp91_;
					_tmp93_ = proton_plus_widgets_games_launch_options_editor_launch_command_option_occurrence_new (_tmp64_, _tmp67_, _tmp73_, _tmp77_, _tmp75_, _tmp83_, FALSE, _tmp86_, _tmp89_, "", _tmp92_);
					_tmp94_ = _tmp93_;
					gee_abstract_collection_add ((GeeAbstractCollection*) _tmp61_, _tmp94_);
					_g_object_unref0 (_tmp94_);
					_g_free0 (_tmp83_);
					_tmp77_ = (g_free (_tmp77_), NULL);
					_g_object_unref0 (_tmp73_);
					_tmp71_ = (g_free (_tmp71_), NULL);
					_tmp95_ = all_indexes;
					proton_plus_widgets_games_launch_options_editor_launch_command_parser_remove_unrecognized_indexes (self, _result_, _tmp95_);
					_tmp96_ = argument_indexes;
					_tmp96__length1 = argument_indexes_length1;
					{
						gint* source_index_collection = NULL;
						gint source_index_collection_length1 = 0;
						gint _source_index_collection_size_ = 0;
						gint source_index_it = 0;
						source_index_collection = _tmp96_;
						source_index_collection_length1 = _tmp96__length1;
						for (source_index_it = 0; source_index_it < source_index_collection_length1; source_index_it = source_index_it + 1) {
							gint source_index = 0;
							source_index = source_index_collection[source_index_it];
							{
								ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandWrapperInvocation* _tmp97_;
								GeeArrayList* _tmp98_;
								GeeArrayList* _tmp99_;
								_tmp97_ = invocation;
								_tmp98_ = proton_plus_widgets_games_launch_options_editor_launch_command_wrapper_invocation_get_unknown_argument_indexes (_tmp97_);
								_tmp99_ = _tmp98_;
								gee_abstract_collection_remove ((GeeAbstractCollection*) _tmp99_, (gpointer) ((gintptr) source_index));
							}
						}
					}
					matched_arguments = TRUE;
					_g_object_unref0 (all_indexes);
					argument_indexes = (g_free (argument_indexes), NULL);
					_g_object_unref0 (invocation);
				}
			}
			has_owner_arguments = FALSE;
			{
				GeeArrayList* _invocation_list = NULL;
				GeeArrayList* _tmp100_;
				GeeArrayList* _tmp101_;
				gint _invocation_size = 0;
				GeeArrayList* _tmp102_;
				gint _tmp103_;
				gint _tmp104_;
				gint _invocation_index = 0;
				_tmp100_ = proton_plus_widgets_games_launch_options_editor_launch_command_parse_result_get_wrappers (_result_);
				_tmp101_ = _tmp100_;
				_invocation_list = _tmp101_;
				_tmp102_ = _invocation_list;
				_tmp103_ = gee_abstract_collection_get_size ((GeeAbstractCollection*) _tmp102_);
				_tmp104_ = _tmp103_;
				_invocation_size = _tmp104_;
				_invocation_index = -1;
				while (TRUE) {
					gint _tmp105_;
					gint _tmp106_;
					ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandWrapperInvocation* invocation = NULL;
					GeeArrayList* _tmp107_;
					gpointer _tmp108_;
					gboolean _tmp109_ = FALSE;
					ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandWrapperInvocation* _tmp110_;
					const gchar* _tmp111_;
					const gchar* _tmp112_;
					ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionSemantics* _tmp113_;
					const gchar* _tmp114_;
					const gchar* _tmp115_;
					_invocation_index = _invocation_index + 1;
					_tmp105_ = _invocation_index;
					_tmp106_ = _invocation_size;
					if (!(_tmp105_ < _tmp106_)) {
						break;
					}
					_tmp107_ = _invocation_list;
					_tmp108_ = gee_abstract_list_get ((GeeAbstractList*) _tmp107_, _invocation_index);
					invocation = (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandWrapperInvocation*) _tmp108_;
					_tmp110_ = invocation;
					_tmp111_ = proton_plus_widgets_games_launch_options_editor_launch_command_wrapper_invocation_get_wrapper_id (_tmp110_);
					_tmp112_ = _tmp111_;
					_tmp113_ = semantics;
					_tmp114_ = proton_plus_widgets_games_launch_options_editor_launch_option_semantics_get_wrapper_id (_tmp113_);
					_tmp115_ = _tmp114_;
					if (g_strcmp0 (_tmp112_, _tmp115_) == 0) {
						ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandWrapperInvocation* _tmp116_;
						GeeArrayList* _tmp117_;
						GeeArrayList* _tmp118_;
						gint _tmp119_;
						gint _tmp120_;
						_tmp116_ = invocation;
						_tmp117_ = proton_plus_widgets_games_launch_options_editor_launch_command_wrapper_invocation_get_argument_indexes (_tmp116_);
						_tmp118_ = _tmp117_;
						_tmp119_ = gee_abstract_collection_get_size ((GeeAbstractCollection*) _tmp118_);
						_tmp120_ = _tmp119_;
						_tmp109_ = _tmp120_ > 0;
					} else {
						_tmp109_ = FALSE;
					}
					if (_tmp109_) {
						has_owner_arguments = TRUE;
					}
					_g_object_unref0 (invocation);
				}
			}
			if (!matched_arguments) {
				_tmp122_ = !has_owner_arguments;
			} else {
				_tmp122_ = FALSE;
			}
			if (_tmp122_) {
				ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionSemantics* _tmp123_;
				gchar** _tmp124_;
				gint _tmp124__length1;
				gint _tmp125_ = 0;
				gchar** _tmp126_;
				gint _tmp126__length1;
				_tmp123_ = semantics;
				_tmp124_ = proton_plus_widgets_games_launch_options_editor_launch_option_semantics_get_selectable_values (_tmp123_, &_tmp125_);
				_tmp124__length1 = _tmp125_;
				_tmp126_ = _tmp124_;
				_tmp126__length1 = _tmp124__length1;
				_tmp121_ = proton_plus_widgets_games_launch_options_editor_launch_command_parser_contains (self, _tmp126_, (gint) _tmp126__length1, "auto");
			} else {
				_tmp121_ = FALSE;
			}
			if (_tmp121_) {
				GeeArrayList* automatic_indexes = NULL;
				GeeArrayList* _tmp127_;
				GeeArrayList* _tmp128_;
				GeeArrayList* _tmp129_;
				GeeArrayList* _tmp130_;
				ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionMetadata* _tmp131_;
				const gchar* _tmp132_;
				const gchar* _tmp133_;
				ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionSemantics* _tmp134_;
				ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionSemanticKind _tmp135_;
				ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionSemanticKind _tmp136_;
				gint* _tmp137_;
				gint* _tmp138_;
				gint _tmp138__length1;
				GeeArrayList* _tmp139_;
				GeeArrayList* _tmp140_;
				gint* _tmp141_;
				gint* _tmp142_;
				gint _tmp142__length1;
				ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionSemantics* _tmp143_;
				gboolean _tmp144_;
				gboolean _tmp145_;
				ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionSemanticOutput* _tmp146_;
				const gchar* _tmp147_;
				const gchar* _tmp148_;
				ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionSemantics* _tmp149_;
				const gchar* _tmp150_;
				const gchar* _tmp151_;
				ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandOptionOccurrence* _tmp152_;
				ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandOptionOccurrence* _tmp153_;
				GeeArrayList* _tmp154_;
				_tmp127_ = gee_array_list_new (G_TYPE_INT, NULL, NULL, NULL, NULL, NULL);
				automatic_indexes = _tmp127_;
				_tmp128_ = automatic_indexes;
				gee_abstract_collection_add ((GeeAbstractCollection*) _tmp128_, (gpointer) ((gintptr) environment_index));
				_tmp129_ = proton_plus_widgets_games_launch_options_editor_launch_command_parse_result_get_occurrences (_result_);
				_tmp130_ = _tmp129_;
				_tmp131_ = entry;
				_tmp132_ = proton_plus_widgets_games_launch_options_editor_launch_option_metadata_get_id (_tmp131_);
				_tmp133_ = _tmp132_;
				_tmp134_ = semantics;
				_tmp135_ = proton_plus_widgets_games_launch_options_editor_launch_option_semantics_get_kind (_tmp134_);
				_tmp136_ = _tmp135_;
				_tmp137_ = g_new0 (gint, 1);
				_tmp137_[0] = environment_index;
				_tmp138_ = _tmp137_;
				_tmp138__length1 = 1;
				_tmp139_ = proton_plus_widgets_games_launch_options_editor_launch_command_parser_tokens_for_indexes (self, _result_, _tmp138_, (gint) 1);
				_tmp140_ = _tmp139_;
				_tmp141_ = g_new0 (gint, 1);
				_tmp141_[0] = environment_index;
				_tmp142_ = _tmp141_;
				_tmp142__length1 = 1;
				_tmp143_ = semantics;
				_tmp144_ = proton_plus_widgets_games_launch_options_editor_launch_option_semantics_get_managed_emission (_tmp143_);
				_tmp145_ = _tmp144_;
				_tmp146_ = environment_output;
				_tmp147_ = proton_plus_widgets_games_launch_options_editor_launch_option_semantic_output_get_environment_key (_tmp146_);
				_tmp148_ = _tmp147_;
				_tmp149_ = semantics;
				_tmp150_ = proton_plus_widgets_games_launch_options_editor_launch_option_semantics_get_wrapper_id (_tmp149_);
				_tmp151_ = _tmp150_;
				_tmp152_ = proton_plus_widgets_games_launch_options_editor_launch_command_option_occurrence_new (_tmp133_, _tmp136_, _tmp140_, _tmp142_, 1, "auto", FALSE, _tmp145_, _tmp148_, "", _tmp151_);
				_tmp153_ = _tmp152_;
				gee_abstract_collection_add ((GeeAbstractCollection*) _tmp130_, _tmp153_);
				_g_object_unref0 (_tmp153_);
				_tmp142_ = (g_free (_tmp142_), NULL);
				_g_object_unref0 (_tmp140_);
				_tmp138_ = (g_free (_tmp138_), NULL);
				_tmp154_ = automatic_indexes;
				proton_plus_widgets_games_launch_options_editor_launch_command_parser_remove_unrecognized_indexes (self, _result_, _tmp154_);
				_g_object_unref0 (automatic_indexes);
			}
			_g_object_unref0 (argument_output);
			_g_object_unref0 (environment_output);
			_g_object_unref0 (semantics);
			_g_object_unref0 (entry);
		}
		_g_object_unref0 (_entry_list);
	}
}

static ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionSemanticOutput*
proton_plus_widgets_games_launch_options_editor_launch_command_parser_find_composite_environment_output (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandParser* self,
                                                                                                         ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionSemantics* semantics)
{
	gint _tmp0_ = 0;
	ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionSemanticOutput** _tmp1_;
	ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionSemanticOutput* result;
	g_return_val_if_fail (self != NULL, NULL);
	g_return_val_if_fail (semantics != NULL, NULL);
	_tmp1_ = proton_plus_widgets_games_launch_options_editor_launch_option_semantics_get_composite_outputs (semantics, &_tmp0_);
	{
		ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionSemanticOutput** output_collection = NULL;
		gint output_collection_length1 = 0;
		gint _output_collection_size_ = 0;
		gint output_it = 0;
		output_collection = _tmp1_;
		output_collection_length1 = _tmp0_;
		for (output_it = 0; output_it < output_collection_length1; output_it = output_it + 1) {
			ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionSemanticOutput* _tmp2_;
			ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionSemanticOutput* output = NULL;
			_tmp2_ = _g_object_ref0 (output_collection[output_it]);
			output = _tmp2_;
			{
				gboolean _tmp3_ = FALSE;
				ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionSemanticOutput* _tmp4_;
				ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionSemanticKind _tmp5_;
				ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionSemanticKind _tmp6_;
				_tmp4_ = output;
				_tmp5_ = proton_plus_widgets_games_launch_options_editor_launch_option_semantic_output_get_kind (_tmp4_);
				_tmp6_ = _tmp5_;
				if (_tmp6_ == PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_OPTION_SEMANTIC_KIND_ENVIRONMENT_ASSIGNMENT) {
					ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionSemanticOutput* _tmp7_;
					gchar** _tmp8_;
					gint _tmp8__length1;
					gint _tmp9_ = 0;
					gchar** _tmp10_;
					gint _tmp10__length1;
					_tmp7_ = output;
					_tmp8_ = proton_plus_widgets_games_launch_options_editor_launch_option_semantic_output_get_fixed_tokens (_tmp7_, &_tmp9_);
					_tmp8__length1 = _tmp9_;
					_tmp10_ = _tmp8_;
					_tmp10__length1 = _tmp8__length1;
					_tmp3_ = _tmp10__length1 > 0;
				} else {
					_tmp3_ = FALSE;
				}
				if (_tmp3_) {
					result = output;
					output_collection = (_vala_array_free (output_collection, output_collection_length1, (GDestroyNotify) g_object_unref), NULL);
					return result;
				}
				_g_object_unref0 (output);
			}
		}
		output_collection = (_vala_array_free (output_collection, output_collection_length1, (GDestroyNotify) g_object_unref), NULL);
	}
	result = NULL;
	return result;
}

static ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionSemanticOutput*
proton_plus_widgets_games_launch_options_editor_launch_command_parser_find_composite_argument_output (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandParser* self,
                                                                                                      ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionSemantics* semantics)
{
	gint _tmp0_ = 0;
	ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionSemanticOutput** _tmp1_;
	ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionSemanticOutput* result;
	g_return_val_if_fail (self != NULL, NULL);
	g_return_val_if_fail (semantics != NULL, NULL);
	_tmp1_ = proton_plus_widgets_games_launch_options_editor_launch_option_semantics_get_composite_outputs (semantics, &_tmp0_);
	{
		ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionSemanticOutput** output_collection = NULL;
		gint output_collection_length1 = 0;
		gint _output_collection_size_ = 0;
		gint output_it = 0;
		output_collection = _tmp1_;
		output_collection_length1 = _tmp0_;
		for (output_it = 0; output_it < output_collection_length1; output_it = output_it + 1) {
			ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionSemanticOutput* _tmp2_;
			ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionSemanticOutput* output = NULL;
			_tmp2_ = _g_object_ref0 (output_collection[output_it]);
			output = _tmp2_;
			{
				ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionSemanticOutput* _tmp3_;
				ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionSemanticKind _tmp4_;
				ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionSemanticKind _tmp5_;
				_tmp3_ = output;
				_tmp4_ = proton_plus_widgets_games_launch_options_editor_launch_option_semantic_output_get_kind (_tmp3_);
				_tmp5_ = _tmp4_;
				if (_tmp5_ == PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_OPTION_SEMANTIC_KIND_WRAPPER_ARGUMENT) {
					result = output;
					output_collection = (_vala_array_free (output_collection, output_collection_length1, (GDestroyNotify) g_object_unref), NULL);
					return result;
				}
				_g_object_unref0 (output);
			}
		}
		output_collection = (_vala_array_free (output_collection, output_collection_length1, (GDestroyNotify) g_object_unref), NULL);
	}
	result = NULL;
	return result;
}

static gint
proton_plus_widgets_games_launch_options_editor_launch_command_parser_find_fixed_token (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandParser* self,
                                                                                        ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandParseResult* _result_,
                                                                                        gint end,
                                                                                        gchar** tokens,
                                                                                        gint tokens_length1)
{
	gint result;
	g_return_val_if_fail (self != NULL, -1);
	g_return_val_if_fail (_result_ != NULL, -1);
	{
		gint index = 0;
		index = 0;
		{
			gboolean _tmp0_ = FALSE;
			_tmp0_ = TRUE;
			while (TRUE) {
				if (!_tmp0_) {
					gint _tmp1_;
					_tmp1_ = index;
					index = _tmp1_ + 1;
				}
				_tmp0_ = FALSE;
				if (!(index < end)) {
					break;
				}
				if (proton_plus_widgets_games_launch_options_editor_launch_command_parser_matches_tokens (self, _result_, index, end, tokens, (gint) tokens_length1)) {
					result = index;
					return result;
				}
			}
		}
	}
	result = -1;
	return result;
}

static gint*
proton_plus_widgets_games_launch_options_editor_launch_command_parser_match_indexes_in_invocation (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandParser* self,
                                                                                                   ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandParseResult* _result_,
                                                                                                   ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandWrapperInvocation* invocation,
                                                                                                   ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionParseShape* shape,
                                                                                                   gint* result_length1)
{
	gint* _tmp54_;
	gint _tmp54__length1;
	gint* result;
	g_return_val_if_fail (self != NULL, NULL);
	g_return_val_if_fail (_result_ != NULL, NULL);
	g_return_val_if_fail (invocation != NULL, NULL);
	g_return_val_if_fail (shape != NULL, NULL);
	{
		gint position = 0;
		position = 0;
		{
			gboolean _tmp0_ = FALSE;
			_tmp0_ = TRUE;
			while (TRUE) {
				GeeArrayList* _tmp2_;
				GeeArrayList* _tmp3_;
				gint _tmp4_;
				gint _tmp5_;
				GeeArrayList* indexes = NULL;
				GeeArrayList* _tmp6_;
				gint cursor = 0;
				gboolean matches = FALSE;
				guint* arities = NULL;
				gint _tmp7_ = 0;
				guint* _tmp8_;
				gint arities_length1;
				gint _arities_size_;
				if (!_tmp0_) {
					gint _tmp1_;
					_tmp1_ = position;
					position = _tmp1_ + 1;
				}
				_tmp0_ = FALSE;
				_tmp2_ = proton_plus_widgets_games_launch_options_editor_launch_command_wrapper_invocation_get_argument_indexes (invocation);
				_tmp3_ = _tmp2_;
				_tmp4_ = gee_abstract_collection_get_size ((GeeAbstractCollection*) _tmp3_);
				_tmp5_ = _tmp4_;
				if (!(position < _tmp5_)) {
					break;
				}
				_tmp6_ = gee_array_list_new (G_TYPE_INT, NULL, NULL, NULL, NULL, NULL);
				indexes = _tmp6_;
				cursor = position;
				matches = TRUE;
				_tmp8_ = proton_plus_widgets_games_launch_options_editor_launch_option_parse_shape_get_value_arities (shape, &_tmp7_);
				arities = _tmp8_;
				arities_length1 = _tmp7_;
				_arities_size_ = arities_length1;
				{
					gint token_index = 0;
					token_index = 0;
					{
						gboolean _tmp9_ = FALSE;
						_tmp9_ = TRUE;
						while (TRUE) {
							gchar** _tmp11_;
							gint _tmp11__length1;
							gint _tmp12_ = 0;
							gchar** _tmp13_;
							gint _tmp13__length1;
							gboolean _tmp14_ = FALSE;
							GeeArrayList* _tmp15_;
							GeeArrayList* _tmp16_;
							gint _tmp17_;
							gint _tmp18_;
							GeeArrayList* _tmp32_;
							GeeArrayList* _tmp33_;
							GeeArrayList* _tmp34_;
							gint _tmp35_;
							gpointer _tmp36_;
							if (!_tmp9_) {
								gint _tmp10_;
								_tmp10_ = token_index;
								token_index = _tmp10_ + 1;
							}
							_tmp9_ = FALSE;
							_tmp11_ = proton_plus_widgets_games_launch_options_editor_launch_option_parse_shape_get_tokens (shape, &_tmp12_);
							_tmp11__length1 = _tmp12_;
							_tmp13_ = _tmp11_;
							_tmp13__length1 = _tmp11__length1;
							if (!(token_index < _tmp13__length1)) {
								break;
							}
							_tmp15_ = proton_plus_widgets_games_launch_options_editor_launch_command_wrapper_invocation_get_argument_indexes (invocation);
							_tmp16_ = _tmp15_;
							_tmp17_ = gee_abstract_collection_get_size ((GeeAbstractCollection*) _tmp16_);
							_tmp18_ = _tmp17_;
							if (cursor >= _tmp18_) {
								_tmp14_ = TRUE;
							} else {
								GeeArrayList* _tmp19_;
								GeeArrayList* _tmp20_;
								GeeArrayList* _tmp21_;
								GeeArrayList* _tmp22_;
								gpointer _tmp23_;
								gpointer _tmp24_;
								ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionShellToken* _tmp25_;
								const gchar* _tmp26_;
								const gchar* _tmp27_;
								gchar** _tmp28_;
								gint _tmp28__length1;
								gint _tmp29_ = 0;
								gchar** _tmp30_;
								gint _tmp30__length1;
								const gchar* _tmp31_;
								_tmp19_ = proton_plus_widgets_games_launch_options_editor_launch_command_parse_result_get_tokens (_result_);
								_tmp20_ = _tmp19_;
								_tmp21_ = proton_plus_widgets_games_launch_options_editor_launch_command_wrapper_invocation_get_argument_indexes (invocation);
								_tmp22_ = _tmp21_;
								_tmp23_ = gee_abstract_list_get ((GeeAbstractList*) _tmp22_, cursor);
								_tmp24_ = gee_abstract_list_get ((GeeAbstractList*) _tmp20_, (gint) ((gintptr) _tmp23_));
								_tmp25_ = (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionShellToken*) _tmp24_;
								_tmp26_ = proton_plus_widgets_games_launch_options_editor_launch_option_shell_token_get_value (_tmp25_);
								_tmp27_ = _tmp26_;
								_tmp28_ = proton_plus_widgets_games_launch_options_editor_launch_option_parse_shape_get_tokens (shape, &_tmp29_);
								_tmp28__length1 = _tmp29_;
								_tmp30_ = _tmp28_;
								_tmp30__length1 = _tmp28__length1;
								_tmp31_ = _tmp30_[token_index];
								_tmp14_ = g_strcmp0 (_tmp27_, _tmp31_) != 0;
								_g_object_unref0 (_tmp25_);
							}
							if (_tmp14_) {
								matches = FALSE;
								break;
							}
							_tmp32_ = indexes;
							_tmp33_ = proton_plus_widgets_games_launch_options_editor_launch_command_wrapper_invocation_get_argument_indexes (invocation);
							_tmp34_ = _tmp33_;
							_tmp35_ = cursor;
							cursor = _tmp35_ + 1;
							_tmp36_ = gee_abstract_list_get ((GeeAbstractList*) _tmp34_, _tmp35_);
							gee_abstract_collection_add ((GeeAbstractCollection*) _tmp32_, (gpointer) ((gintptr) _tmp36_));
							{
								gint value = 0;
								value = 0;
								{
									gboolean _tmp37_ = FALSE;
									_tmp37_ = TRUE;
									while (TRUE) {
										guint* _tmp39_;
										gint _tmp39__length1;
										guint _tmp40_;
										GeeArrayList* _tmp41_;
										GeeArrayList* _tmp42_;
										gint _tmp43_;
										gint _tmp44_;
										GeeArrayList* _tmp45_;
										GeeArrayList* _tmp46_;
										GeeArrayList* _tmp47_;
										gint _tmp48_;
										gpointer _tmp49_;
										if (!_tmp37_) {
											gint _tmp38_;
											_tmp38_ = value;
											value = _tmp38_ + 1;
										}
										_tmp37_ = FALSE;
										_tmp39_ = arities;
										_tmp39__length1 = arities_length1;
										_tmp40_ = _tmp39_[token_index];
										if (!(((guint) value) < _tmp40_)) {
											break;
										}
										_tmp41_ = proton_plus_widgets_games_launch_options_editor_launch_command_wrapper_invocation_get_argument_indexes (invocation);
										_tmp42_ = _tmp41_;
										_tmp43_ = gee_abstract_collection_get_size ((GeeAbstractCollection*) _tmp42_);
										_tmp44_ = _tmp43_;
										if (cursor >= _tmp44_) {
											matches = FALSE;
											break;
										}
										_tmp45_ = indexes;
										_tmp46_ = proton_plus_widgets_games_launch_options_editor_launch_command_wrapper_invocation_get_argument_indexes (invocation);
										_tmp47_ = _tmp46_;
										_tmp48_ = cursor;
										cursor = _tmp48_ + 1;
										_tmp49_ = gee_abstract_list_get ((GeeAbstractList*) _tmp47_, _tmp48_);
										gee_abstract_collection_add ((GeeAbstractCollection*) _tmp45_, (gpointer) ((gintptr) _tmp49_));
									}
								}
							}
							if (!matches) {
								break;
							}
						}
					}
				}
				if (matches) {
					GeeArrayList* _tmp50_;
					gint _tmp51_ = 0;
					gpointer* _tmp52_;
					gint* _tmp53_;
					gint _tmp53__length1;
					_tmp50_ = indexes;
					_tmp52_ = gee_collection_to_array ((GeeCollection*) _tmp50_, &_tmp51_);
					_tmp53_ = _tmp52_;
					_tmp53__length1 = _tmp51_;
					if (result_length1) {
						*result_length1 = _tmp53__length1;
					}
					result = _tmp53_;
					arities = (g_free (arities), NULL);
					_g_object_unref0 (indexes);
					return result;
				}
				arities = (g_free (arities), NULL);
				_g_object_unref0 (indexes);
			}
		}
	}
	_tmp54_ = NULL;
	_tmp54__length1 = 0;
	if (result_length1) {
		*result_length1 = _tmp54__length1;
	}
	result = _tmp54_;
	return result;
}

static void
proton_plus_widgets_games_launch_options_editor_launch_command_parser_remove_unrecognized_indexes (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandParser* self,
                                                                                                   ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandParseResult* _result_,
                                                                                                   GeeArrayList* indexes)
{
	g_return_if_fail (self != NULL);
	g_return_if_fail (_result_ != NULL);
	g_return_if_fail (indexes != NULL);
	{
		gint position = 0;
		GeeArrayList* _tmp0_;
		GeeArrayList* _tmp1_;
		gint _tmp2_;
		gint _tmp3_;
		_tmp0_ = proton_plus_widgets_games_launch_options_editor_launch_command_parse_result_get_unrecognized_tokens (_result_);
		_tmp1_ = _tmp0_;
		_tmp2_ = gee_abstract_collection_get_size ((GeeAbstractCollection*) _tmp1_);
		_tmp3_ = _tmp2_;
		position = _tmp3_ - 1;
		{
			gboolean _tmp4_ = FALSE;
			_tmp4_ = TRUE;
			while (TRUE) {
				GeeArrayList* _tmp6_;
				GeeArrayList* _tmp7_;
				gpointer _tmp8_;
				ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandUnrecognizedToken* _tmp9_;
				gint _tmp10_;
				gint _tmp11_;
				gboolean _tmp12_;
				if (!_tmp4_) {
					gint _tmp5_;
					_tmp5_ = position;
					position = _tmp5_ - 1;
				}
				_tmp4_ = FALSE;
				if (!(position >= 0)) {
					break;
				}
				_tmp6_ = proton_plus_widgets_games_launch_options_editor_launch_command_parse_result_get_unrecognized_tokens (_result_);
				_tmp7_ = _tmp6_;
				_tmp8_ = gee_abstract_list_get ((GeeAbstractList*) _tmp7_, position);
				_tmp9_ = (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandUnrecognizedToken*) _tmp8_;
				_tmp10_ = proton_plus_widgets_games_launch_options_editor_launch_command_unrecognized_token_get_token_index (_tmp9_);
				_tmp11_ = _tmp10_;
				_tmp12_ = gee_abstract_collection_contains ((GeeAbstractCollection*) indexes, (gpointer) ((gintptr) _tmp11_));
				_g_object_unref0 (_tmp9_);
				if (_tmp12_) {
					GeeArrayList* _tmp13_;
					GeeArrayList* _tmp14_;
					gpointer _tmp15_;
					ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandUnrecognizedToken* _tmp16_;
					_tmp13_ = proton_plus_widgets_games_launch_options_editor_launch_command_parse_result_get_unrecognized_tokens (_result_);
					_tmp14_ = _tmp13_;
					_tmp15_ = gee_abstract_list_remove_at ((GeeAbstractList*) _tmp14_, position);
					_tmp16_ = (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandUnrecognizedToken*) _tmp15_;
					_g_object_unref0 (_tmp16_);
				}
			}
		}
	}
}

static gboolean
proton_plus_widgets_games_launch_options_editor_launch_command_parser_has_environment_or_wrapper (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandParser* self,
                                                                                                  ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandParseResult* _result_,
                                                                                                  gint end)
{
	gboolean result;
	g_return_val_if_fail (self != NULL, FALSE);
	g_return_val_if_fail (_result_ != NULL, FALSE);
	{
		gint index = 0;
		index = 0;
		{
			gboolean _tmp0_ = FALSE;
			_tmp0_ = TRUE;
			while (TRUE) {
				gchar* key = NULL;
				gchar* value = NULL;
				gboolean _tmp2_ = FALSE;
				GeeArrayList* _tmp3_;
				GeeArrayList* _tmp4_;
				gpointer _tmp5_;
				ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionShellToken* _tmp6_;
				gboolean _tmp7_;
				gboolean _tmp8_;
				gboolean _tmp9_;
				if (!_tmp0_) {
					gint _tmp1_;
					_tmp1_ = index;
					index = _tmp1_ + 1;
				}
				_tmp0_ = FALSE;
				if (!(index < end)) {
					break;
				}
				_tmp3_ = proton_plus_widgets_games_launch_options_editor_launch_command_parse_result_get_tokens (_result_);
				_tmp4_ = _tmp3_;
				_tmp5_ = gee_abstract_list_get ((GeeAbstractList*) _tmp4_, index);
				_tmp6_ = (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionShellToken*) _tmp5_;
				_tmp7_ = proton_plus_widgets_games_launch_options_editor_launch_option_shell_token_get_is_opaque (_tmp6_);
				_tmp8_ = _tmp7_;
				_tmp9_ = !_tmp8_;
				_g_object_unref0 (_tmp6_);
				if (_tmp9_) {
					gboolean _tmp10_ = FALSE;
					GeeArrayList* _tmp11_;
					GeeArrayList* _tmp12_;
					gpointer _tmp13_;
					ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionShellToken* _tmp14_;
					const gchar* _tmp15_;
					const gchar* _tmp16_;
					gchar* _tmp17_ = NULL;
					gchar* _tmp18_ = NULL;
					gboolean _tmp19_;
					gboolean _tmp20_;
					_tmp11_ = proton_plus_widgets_games_launch_options_editor_launch_command_parse_result_get_tokens (_result_);
					_tmp12_ = _tmp11_;
					_tmp13_ = gee_abstract_list_get ((GeeAbstractList*) _tmp12_, index);
					_tmp14_ = (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionShellToken*) _tmp13_;
					_tmp15_ = proton_plus_widgets_games_launch_options_editor_launch_option_shell_token_get_value (_tmp14_);
					_tmp16_ = _tmp15_;
					_tmp19_ = proton_plus_widgets_games_launch_options_editor_launch_command_parser_split_environment_assignment (self, _tmp16_, &_tmp17_, &_tmp18_);
					_g_free0 (key);
					key = _tmp17_;
					_g_free0 (value);
					value = _tmp18_;
					_tmp20_ = _tmp19_;
					_g_object_unref0 (_tmp14_);
					if (_tmp20_) {
						_tmp10_ = TRUE;
					} else {
						ProtonPlusWidgetsGamesLaunchOptionsEditorWrapperMatch* _tmp21_;
						ProtonPlusWidgetsGamesLaunchOptionsEditorWrapperMatch* _tmp22_;
						_tmp21_ = proton_plus_widgets_games_launch_options_editor_launch_command_parser_find_wrapper_at (self, _result_, index, end);
						_tmp22_ = _tmp21_;
						_tmp10_ = _tmp22_ != NULL;
						_g_object_unref0 (_tmp22_);
					}
					_tmp2_ = _tmp10_;
				} else {
					_tmp2_ = FALSE;
				}
				if (_tmp2_) {
					result = TRUE;
					_g_free0 (value);
					_g_free0 (key);
					return result;
				}
				_g_free0 (value);
				_g_free0 (key);
			}
		}
	}
	result = FALSE;
	return result;
}

static ProtonPlusWidgetsGamesLaunchOptionsEditorWrapperMatch*
proton_plus_widgets_games_launch_options_editor_launch_command_parser_find_wrapper_at (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandParser* self,
                                                                                       ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandParseResult* _result_,
                                                                                       gint index,
                                                                                       gint end)
{
	ProtonPlusWidgetsGamesLaunchOptionsEditorWrapperMatch* result;
	g_return_val_if_fail (self != NULL, NULL);
	g_return_val_if_fail (_result_ != NULL, NULL);
	{
		GeeList* _definition_list = NULL;
		ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionCatalog* _tmp0_;
		GeeList* _tmp1_;
		gint _definition_size = 0;
		GeeList* _tmp2_;
		gint _tmp3_;
		gint _tmp4_;
		gint _definition_index = 0;
		_tmp0_ = self->priv->catalog;
		_tmp1_ = proton_plus_widgets_games_launch_options_editor_launch_option_catalog_get_wrappers (_tmp0_);
		_definition_list = _tmp1_;
		_tmp2_ = _definition_list;
		_tmp3_ = gee_collection_get_size ((GeeCollection*) _tmp2_);
		_tmp4_ = _tmp3_;
		_definition_size = _tmp4_;
		_definition_index = -1;
		while (TRUE) {
			gint _tmp5_;
			gint _tmp6_;
			ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchWrapperDefinition* definition = NULL;
			GeeList* _tmp7_;
			gpointer _tmp8_;
			ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchWrapperDefinition* _tmp9_;
			gchar** _tmp10_;
			gint _tmp10__length1;
			gint _tmp11_ = 0;
			gchar** _tmp12_;
			gint _tmp12__length1;
			ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchWrapperDefinition* _tmp19_;
			gchar** _tmp20_;
			gint _tmp20__length1;
			gint _tmp21_ = 0;
			gchar** _tmp22_;
			gint _tmp22__length1;
			_definition_index = _definition_index + 1;
			_tmp5_ = _definition_index;
			_tmp6_ = _definition_size;
			if (!(_tmp5_ < _tmp6_)) {
				break;
			}
			_tmp7_ = _definition_list;
			_tmp8_ = gee_list_get (_tmp7_, _definition_index);
			definition = (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchWrapperDefinition*) _tmp8_;
			_tmp9_ = definition;
			_tmp10_ = proton_plus_widgets_games_launch_options_editor_launch_wrapper_definition_get_executable_tokens (_tmp9_, &_tmp11_);
			_tmp10__length1 = _tmp11_;
			_tmp12_ = _tmp10_;
			_tmp12__length1 = _tmp10__length1;
			if (proton_plus_widgets_games_launch_options_editor_launch_command_parser_matches_tokens (self, _result_, index, end, _tmp12_, (gint) _tmp12__length1)) {
				ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchWrapperDefinition* _tmp13_;
				ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchWrapperDefinition* _tmp14_;
				gchar** _tmp15_;
				gint _tmp15__length1;
				gint _tmp16_ = 0;
				gchar** _tmp17_;
				gint _tmp17__length1;
				ProtonPlusWidgetsGamesLaunchOptionsEditorWrapperMatch* _tmp18_;
				_tmp13_ = definition;
				_tmp14_ = definition;
				_tmp15_ = proton_plus_widgets_games_launch_options_editor_launch_wrapper_definition_get_executable_tokens (_tmp14_, &_tmp16_);
				_tmp15__length1 = _tmp16_;
				_tmp17_ = _tmp15_;
				_tmp17__length1 = _tmp15__length1;
				_tmp18_ = proton_plus_widgets_games_launch_options_editor_wrapper_match_new (_tmp13_, _tmp17__length1, FALSE);
				result = _tmp18_;
				_g_object_unref0 (definition);
				_g_object_unref0 (_definition_list);
				return result;
			}
			_tmp19_ = definition;
			_tmp20_ = proton_plus_widgets_games_launch_options_editor_launch_wrapper_definition_get_executable_tokens (_tmp19_, &_tmp21_);
			_tmp20__length1 = _tmp21_;
			_tmp22_ = _tmp20_;
			_tmp22__length1 = _tmp20__length1;
			if (_tmp22__length1 == 1) {
				ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchWrapperDefinition* _tmp23_;
				gchar** _tmp24_;
				gint _tmp24__length1;
				gint _tmp25_ = 0;
				gchar** _tmp26_;
				gint _tmp26__length1;
				_tmp23_ = definition;
				_tmp24_ = proton_plus_widgets_games_launch_options_editor_launch_wrapper_definition_get_parse_aliases (_tmp23_, &_tmp25_);
				_tmp24__length1 = _tmp25_;
				_tmp26_ = _tmp24_;
				_tmp26__length1 = _tmp24__length1;
				{
					gchar** alias_collection = NULL;
					gint alias_collection_length1 = 0;
					gint _alias_collection_size_ = 0;
					gint alias_it = 0;
					alias_collection = _tmp26_;
					alias_collection_length1 = _tmp26__length1;
					for (alias_it = 0; alias_it < alias_collection_length1; alias_it = alias_it + 1) {
						gchar* _tmp27_;
						gchar* alias = NULL;
						_tmp27_ = g_strdup (alias_collection[alias_it]);
						alias = _tmp27_;
						{
							gboolean _tmp28_ = FALSE;
							gboolean _tmp29_ = FALSE;
							if (index < end) {
								GeeArrayList* _tmp30_;
								GeeArrayList* _tmp31_;
								gpointer _tmp32_;
								ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionShellToken* _tmp33_;
								gboolean _tmp34_;
								gboolean _tmp35_;
								_tmp30_ = proton_plus_widgets_games_launch_options_editor_launch_command_parse_result_get_tokens (_result_);
								_tmp31_ = _tmp30_;
								_tmp32_ = gee_abstract_list_get ((GeeAbstractList*) _tmp31_, index);
								_tmp33_ = (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionShellToken*) _tmp32_;
								_tmp34_ = proton_plus_widgets_games_launch_options_editor_launch_option_shell_token_get_is_opaque (_tmp33_);
								_tmp35_ = _tmp34_;
								_tmp29_ = !_tmp35_;
								_g_object_unref0 (_tmp33_);
							} else {
								_tmp29_ = FALSE;
							}
							if (_tmp29_) {
								GeeArrayList* _tmp36_;
								GeeArrayList* _tmp37_;
								gpointer _tmp38_;
								ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionShellToken* _tmp39_;
								const gchar* _tmp40_;
								const gchar* _tmp41_;
								const gchar* _tmp42_;
								_tmp36_ = proton_plus_widgets_games_launch_options_editor_launch_command_parse_result_get_tokens (_result_);
								_tmp37_ = _tmp36_;
								_tmp38_ = gee_abstract_list_get ((GeeAbstractList*) _tmp37_, index);
								_tmp39_ = (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionShellToken*) _tmp38_;
								_tmp40_ = proton_plus_widgets_games_launch_options_editor_launch_option_shell_token_get_value (_tmp39_);
								_tmp41_ = _tmp40_;
								_tmp42_ = alias;
								_tmp28_ = g_strcmp0 (_tmp41_, _tmp42_) == 0;
								_g_object_unref0 (_tmp39_);
							} else {
								_tmp28_ = FALSE;
							}
							if (_tmp28_) {
								ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchWrapperDefinition* _tmp43_;
								ProtonPlusWidgetsGamesLaunchOptionsEditorWrapperMatch* _tmp44_;
								_tmp43_ = definition;
								_tmp44_ = proton_plus_widgets_games_launch_options_editor_wrapper_match_new (_tmp43_, 1, TRUE);
								result = _tmp44_;
								_g_free0 (alias);
								_g_object_unref0 (definition);
								_g_object_unref0 (_definition_list);
								return result;
							}
							_g_free0 (alias);
						}
					}
				}
			}
			_g_object_unref0 (definition);
		}
		_g_object_unref0 (_definition_list);
	}
	result = NULL;
	return result;
}

static ProtonPlusWidgetsGamesLaunchOptionsEditorWrapperArgumentMatch*
proton_plus_widgets_games_launch_options_editor_launch_command_parser_find_wrapper_argument_at (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandParser* self,
                                                                                                ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandParseResult* _result_,
                                                                                                gint index,
                                                                                                gint end,
                                                                                                const gchar* wrapper_id)
{
	ProtonPlusWidgetsGamesLaunchOptionsEditorWrapperArgumentMatch* result;
	g_return_val_if_fail (self != NULL, NULL);
	g_return_val_if_fail (_result_ != NULL, NULL);
	{
		GeeList* _entry_list = NULL;
		ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionCatalog* _tmp0_;
		GeeList* _tmp1_;
		gint _entry_size = 0;
		GeeList* _tmp2_;
		gint _tmp3_;
		gint _tmp4_;
		gint _entry_index = 0;
		_tmp0_ = self->priv->catalog;
		_tmp1_ = proton_plus_widgets_games_launch_options_editor_launch_option_catalog_get_ordered (_tmp0_);
		_entry_list = _tmp1_;
		_tmp2_ = _entry_list;
		_tmp3_ = gee_collection_get_size ((GeeCollection*) _tmp2_);
		_tmp4_ = _tmp3_;
		_entry_size = _tmp4_;
		_entry_index = -1;
		while (TRUE) {
			gint _tmp5_;
			gint _tmp6_;
			ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionMetadata* entry = NULL;
			GeeList* _tmp7_;
			gpointer _tmp8_;
			ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionSemantics* semantics = NULL;
			ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionMetadata* _tmp9_;
			ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionSemantics* _tmp10_;
			ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionSemantics* _tmp11_;
			ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionSemantics* _tmp12_;
			gboolean _tmp13_ = FALSE;
			gboolean _tmp14_ = FALSE;
			gboolean _tmp15_ = FALSE;
			ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionSemantics* _tmp16_;
			ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionParseShape* shape = NULL;
			ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionSemantics* _tmp27_;
			ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionParseShape* _tmp28_;
			ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionParseShape* _tmp29_;
			ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionParseShape* _tmp30_;
			guint* arities = NULL;
			ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionParseShape* _tmp31_;
			gint _tmp32_ = 0;
			guint* _tmp33_;
			gint arities_length1;
			gint _arities_size_;
			guint* _tmp34_;
			gint _tmp34__length1;
			ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionParseShape* _tmp35_;
			gchar** _tmp36_;
			gint _tmp36__length1;
			gint _tmp37_ = 0;
			gchar** _tmp38_;
			gint _tmp38__length1;
			GeeArrayList* indexes = NULL;
			GeeArrayList* _tmp39_;
			gint cursor = 0;
			gboolean matches = FALSE;
			_entry_index = _entry_index + 1;
			_tmp5_ = _entry_index;
			_tmp6_ = _entry_size;
			if (!(_tmp5_ < _tmp6_)) {
				break;
			}
			_tmp7_ = _entry_list;
			_tmp8_ = gee_list_get (_tmp7_, _entry_index);
			entry = (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionMetadata*) _tmp8_;
			_tmp9_ = entry;
			_tmp10_ = proton_plus_widgets_games_launch_options_editor_launch_option_metadata_get_semantics (_tmp9_);
			_tmp11_ = _tmp10_;
			_tmp12_ = _g_object_ref0 (_tmp11_);
			semantics = _tmp12_;
			_tmp16_ = semantics;
			if (_tmp16_ == NULL) {
				_tmp15_ = TRUE;
			} else {
				ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionSemantics* _tmp17_;
				ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionSemanticKind _tmp18_;
				ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionSemanticKind _tmp19_;
				_tmp17_ = semantics;
				_tmp18_ = proton_plus_widgets_games_launch_options_editor_launch_option_semantics_get_kind (_tmp17_);
				_tmp19_ = _tmp18_;
				_tmp15_ = _tmp19_ != PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_LAUNCH_OPTION_SEMANTIC_KIND_WRAPPER_ARGUMENT;
			}
			if (_tmp15_) {
				_tmp14_ = TRUE;
			} else {
				ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionSemantics* _tmp20_;
				ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionParseShape* _tmp21_;
				ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionParseShape* _tmp22_;
				_tmp20_ = semantics;
				_tmp21_ = proton_plus_widgets_games_launch_options_editor_launch_option_semantics_get_parse_shape (_tmp20_);
				_tmp22_ = _tmp21_;
				_tmp14_ = _tmp22_ == NULL;
			}
			if (_tmp14_) {
				_tmp13_ = TRUE;
			} else {
				gboolean _tmp23_ = FALSE;
				if (wrapper_id != NULL) {
					ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionSemantics* _tmp24_;
					const gchar* _tmp25_;
					const gchar* _tmp26_;
					_tmp24_ = semantics;
					_tmp25_ = proton_plus_widgets_games_launch_options_editor_launch_option_semantics_get_wrapper_id (_tmp24_);
					_tmp26_ = _tmp25_;
					_tmp23_ = g_strcmp0 (_tmp26_, wrapper_id) != 0;
				} else {
					_tmp23_ = FALSE;
				}
				_tmp13_ = _tmp23_;
			}
			if (_tmp13_) {
				_g_object_unref0 (semantics);
				_g_object_unref0 (entry);
				continue;
			}
			_tmp27_ = semantics;
			_tmp28_ = proton_plus_widgets_games_launch_options_editor_launch_option_semantics_get_parse_shape (_tmp27_);
			_tmp29_ = _tmp28_;
			_tmp30_ = _g_object_ref0 (_tmp29_);
			shape = _tmp30_;
			_tmp31_ = shape;
			_tmp33_ = proton_plus_widgets_games_launch_options_editor_launch_option_parse_shape_get_value_arities (_tmp31_, &_tmp32_);
			arities = _tmp33_;
			arities_length1 = _tmp32_;
			_arities_size_ = arities_length1;
			_tmp34_ = arities;
			_tmp34__length1 = arities_length1;
			_tmp35_ = shape;
			_tmp36_ = proton_plus_widgets_games_launch_options_editor_launch_option_parse_shape_get_tokens (_tmp35_, &_tmp37_);
			_tmp36__length1 = _tmp37_;
			_tmp38_ = _tmp36_;
			_tmp38__length1 = _tmp36__length1;
			if (_tmp34__length1 != _tmp38__length1) {
				arities = (g_free (arities), NULL);
				_g_object_unref0 (shape);
				_g_object_unref0 (semantics);
				_g_object_unref0 (entry);
				continue;
			}
			_tmp39_ = gee_array_list_new (G_TYPE_INT, NULL, NULL, NULL, NULL, NULL);
			indexes = _tmp39_;
			cursor = index;
			matches = TRUE;
			{
				gint part = 0;
				part = 0;
				{
					gboolean _tmp40_ = FALSE;
					_tmp40_ = TRUE;
					while (TRUE) {
						ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionParseShape* _tmp42_;
						gchar** _tmp43_;
						gint _tmp43__length1;
						gint _tmp44_ = 0;
						gchar** _tmp45_;
						gint _tmp45__length1;
						gboolean _tmp46_ = FALSE;
						gboolean _tmp47_ = FALSE;
						GeeArrayList* _tmp65_;
						gint _tmp66_;
						if (!_tmp40_) {
							gint _tmp41_;
							_tmp41_ = part;
							part = _tmp41_ + 1;
						}
						_tmp40_ = FALSE;
						_tmp42_ = shape;
						_tmp43_ = proton_plus_widgets_games_launch_options_editor_launch_option_parse_shape_get_tokens (_tmp42_, &_tmp44_);
						_tmp43__length1 = _tmp44_;
						_tmp45_ = _tmp43_;
						_tmp45__length1 = _tmp43__length1;
						if (!(part < _tmp45__length1)) {
							break;
						}
						if (cursor >= end) {
							_tmp47_ = TRUE;
						} else {
							GeeArrayList* _tmp48_;
							GeeArrayList* _tmp49_;
							gpointer _tmp50_;
							ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionShellToken* _tmp51_;
							gboolean _tmp52_;
							gboolean _tmp53_;
							_tmp48_ = proton_plus_widgets_games_launch_options_editor_launch_command_parse_result_get_tokens (_result_);
							_tmp49_ = _tmp48_;
							_tmp50_ = gee_abstract_list_get ((GeeAbstractList*) _tmp49_, cursor);
							_tmp51_ = (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionShellToken*) _tmp50_;
							_tmp52_ = proton_plus_widgets_games_launch_options_editor_launch_option_shell_token_get_is_opaque (_tmp51_);
							_tmp53_ = _tmp52_;
							_tmp47_ = _tmp53_;
							_g_object_unref0 (_tmp51_);
						}
						if (_tmp47_) {
							_tmp46_ = TRUE;
						} else {
							GeeArrayList* _tmp54_;
							GeeArrayList* _tmp55_;
							gpointer _tmp56_;
							ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionShellToken* _tmp57_;
							const gchar* _tmp58_;
							const gchar* _tmp59_;
							ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionParseShape* _tmp60_;
							gchar** _tmp61_;
							gint _tmp61__length1;
							gint _tmp62_ = 0;
							gchar** _tmp63_;
							gint _tmp63__length1;
							const gchar* _tmp64_;
							_tmp54_ = proton_plus_widgets_games_launch_options_editor_launch_command_parse_result_get_tokens (_result_);
							_tmp55_ = _tmp54_;
							_tmp56_ = gee_abstract_list_get ((GeeAbstractList*) _tmp55_, cursor);
							_tmp57_ = (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionShellToken*) _tmp56_;
							_tmp58_ = proton_plus_widgets_games_launch_options_editor_launch_option_shell_token_get_value (_tmp57_);
							_tmp59_ = _tmp58_;
							_tmp60_ = shape;
							_tmp61_ = proton_plus_widgets_games_launch_options_editor_launch_option_parse_shape_get_tokens (_tmp60_, &_tmp62_);
							_tmp61__length1 = _tmp62_;
							_tmp63_ = _tmp61_;
							_tmp63__length1 = _tmp61__length1;
							_tmp64_ = _tmp63_[part];
							_tmp46_ = g_strcmp0 (_tmp59_, _tmp64_) != 0;
							_g_object_unref0 (_tmp57_);
						}
						if (_tmp46_) {
							matches = FALSE;
							break;
						}
						_tmp65_ = indexes;
						_tmp66_ = cursor;
						cursor = _tmp66_ + 1;
						gee_abstract_collection_add ((GeeAbstractCollection*) _tmp65_, (gpointer) ((gintptr) _tmp66_));
						{
							gint value = 0;
							value = 0;
							{
								gboolean _tmp67_ = FALSE;
								_tmp67_ = TRUE;
								while (TRUE) {
									guint* _tmp69_;
									gint _tmp69__length1;
									guint _tmp70_;
									gboolean _tmp71_ = FALSE;
									GeeArrayList* _tmp78_;
									gint _tmp79_;
									if (!_tmp67_) {
										gint _tmp68_;
										_tmp68_ = value;
										value = _tmp68_ + 1;
									}
									_tmp67_ = FALSE;
									_tmp69_ = arities;
									_tmp69__length1 = arities_length1;
									_tmp70_ = _tmp69_[part];
									if (!(((guint) value) < _tmp70_)) {
										break;
									}
									if (cursor >= end) {
										_tmp71_ = TRUE;
									} else {
										GeeArrayList* _tmp72_;
										GeeArrayList* _tmp73_;
										gpointer _tmp74_;
										ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionShellToken* _tmp75_;
										gboolean _tmp76_;
										gboolean _tmp77_;
										_tmp72_ = proton_plus_widgets_games_launch_options_editor_launch_command_parse_result_get_tokens (_result_);
										_tmp73_ = _tmp72_;
										_tmp74_ = gee_abstract_list_get ((GeeAbstractList*) _tmp73_, cursor);
										_tmp75_ = (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionShellToken*) _tmp74_;
										_tmp76_ = proton_plus_widgets_games_launch_options_editor_launch_option_shell_token_get_is_opaque (_tmp75_);
										_tmp77_ = _tmp76_;
										_tmp71_ = _tmp77_;
										_g_object_unref0 (_tmp75_);
									}
									if (_tmp71_) {
										matches = FALSE;
										break;
									}
									_tmp78_ = indexes;
									_tmp79_ = cursor;
									cursor = _tmp79_ + 1;
									gee_abstract_collection_add ((GeeAbstractCollection*) _tmp78_, (gpointer) ((gintptr) _tmp79_));
								}
							}
						}
						if (!matches) {
							break;
						}
					}
				}
			}
			if (matches) {
				ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionMetadata* _tmp80_;
				GeeArrayList* _tmp81_;
				gint _tmp82_ = 0;
				gpointer* _tmp83_;
				gint* _tmp84_;
				gint _tmp84__length1;
				ProtonPlusWidgetsGamesLaunchOptionsEditorWrapperArgumentMatch* _tmp85_;
				ProtonPlusWidgetsGamesLaunchOptionsEditorWrapperArgumentMatch* _tmp86_;
				_tmp80_ = entry;
				_tmp81_ = indexes;
				_tmp83_ = gee_collection_to_array ((GeeCollection*) _tmp81_, &_tmp82_);
				_tmp84_ = _tmp83_;
				_tmp84__length1 = _tmp82_;
				_tmp85_ = proton_plus_widgets_games_launch_options_editor_wrapper_argument_match_new (_tmp80_, _tmp84_, _tmp82_);
				_tmp86_ = _tmp85_;
				_tmp84_ = (g_free (_tmp84_), NULL);
				result = _tmp86_;
				_g_object_unref0 (indexes);
				arities = (g_free (arities), NULL);
				_g_object_unref0 (shape);
				_g_object_unref0 (semantics);
				_g_object_unref0 (entry);
				_g_object_unref0 (_entry_list);
				return result;
			}
			_g_object_unref0 (indexes);
			arities = (g_free (arities), NULL);
			_g_object_unref0 (shape);
			_g_object_unref0 (semantics);
			_g_object_unref0 (entry);
		}
		_g_object_unref0 (_entry_list);
	}
	result = NULL;
	return result;
}

static glong
string_strnlen (gchar* str,
                glong maxlen)
{
	gchar* end = NULL;
	gchar* _tmp0_;
	gchar* _tmp1_;
	glong result;
	_tmp0_ = memchr (str, 0, (gsize) maxlen);
	end = _tmp0_;
	_tmp1_ = end;
	if (_tmp1_ == NULL) {
		result = maxlen;
		return result;
	} else {
		gchar* _tmp2_;
		_tmp2_ = end;
		result = (glong) (_tmp2_ - str);
		return result;
	}
}

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

static gboolean
proton_plus_widgets_games_launch_options_editor_launch_command_parser_split_environment_assignment (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandParser* self,
                                                                                                    const gchar* token,
                                                                                                    gchar** key,
                                                                                                    gchar** value)
{
	gchar* _vala_key = NULL;
	gchar* _vala_value = NULL;
	gchar* _tmp0_;
	gchar* _tmp1_;
	gint separator = 0;
	gchar* candidate = NULL;
	gchar* _tmp2_;
	const gchar* _tmp3_;
	const gchar* _tmp4_;
	gchar* _tmp5_;
	gchar* _tmp6_;
	gboolean result;
	g_return_val_if_fail (self != NULL, FALSE);
	g_return_val_if_fail (token != NULL, FALSE);
	_tmp0_ = g_strdup ("");
	_g_free0 (_vala_key);
	_vala_key = _tmp0_;
	_tmp1_ = g_strdup ("");
	_g_free0 (_vala_value);
	_vala_value = _tmp1_;
	separator = string_index_of_char (token, (gunichar) '=', 0);
	if (separator <= 0) {
		result = FALSE;
		if (key) {
			*key = _vala_key;
		} else {
			_g_free0 (_vala_key);
		}
		if (value) {
			*value = _vala_value;
		} else {
			_g_free0 (_vala_value);
		}
		return result;
	}
	_tmp2_ = string_substring (token, (glong) 0, (glong) separator);
	candidate = _tmp2_;
	_tmp3_ = candidate;
	if (!proton_plus_widgets_games_launch_options_editor_launch_command_parser_is_environment_key (self, _tmp3_)) {
		result = FALSE;
		_g_free0 (candidate);
		if (key) {
			*key = _vala_key;
		} else {
			_g_free0 (_vala_key);
		}
		if (value) {
			*value = _vala_value;
		} else {
			_g_free0 (_vala_value);
		}
		return result;
	}
	_tmp4_ = candidate;
	_tmp5_ = g_strdup (_tmp4_);
	_g_free0 (_vala_key);
	_vala_key = _tmp5_;
	_tmp6_ = string_substring (token, (glong) (separator + 1), (glong) -1);
	_g_free0 (_vala_value);
	_vala_value = _tmp6_;
	result = TRUE;
	_g_free0 (candidate);
	if (key) {
		*key = _vala_key;
	} else {
		_g_free0 (_vala_key);
	}
	if (value) {
		*value = _vala_value;
	} else {
		_g_free0 (_vala_value);
	}
	return result;
}

static gchar
string_get (const gchar* self,
            glong index)
{
	gchar _tmp0_;
	gchar result;
	g_return_val_if_fail (self != NULL, '\0');
	_tmp0_ = ((gchar*) self)[index];
	result = _tmp0_;
	return result;
}

static gboolean
proton_plus_widgets_games_launch_options_editor_launch_command_parser_is_environment_key (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandParser* self,
                                                                                          const gchar* value)
{
	gboolean _tmp0_ = FALSE;
	gint _tmp1_;
	gint _tmp2_;
	gboolean result;
	g_return_val_if_fail (self != NULL, FALSE);
	g_return_val_if_fail (value != NULL, FALSE);
	_tmp1_ = strlen (value);
	_tmp2_ = _tmp1_;
	if (_tmp2_ == 0) {
		_tmp0_ = TRUE;
	} else {
		gboolean _tmp3_ = FALSE;
		gboolean _tmp4_ = FALSE;
		gboolean _tmp5_ = FALSE;
		if (string_get (value, (glong) 0) >= 'A') {
			_tmp5_ = string_get (value, (glong) 0) <= 'Z';
		} else {
			_tmp5_ = FALSE;
		}
		if (_tmp5_) {
			_tmp4_ = TRUE;
		} else {
			gboolean _tmp6_ = FALSE;
			if (string_get (value, (glong) 0) >= 'a') {
				_tmp6_ = string_get (value, (glong) 0) <= 'z';
			} else {
				_tmp6_ = FALSE;
			}
			_tmp4_ = _tmp6_;
		}
		if (_tmp4_) {
			_tmp3_ = TRUE;
		} else {
			_tmp3_ = string_get (value, (glong) 0) == '_';
		}
		_tmp0_ = !_tmp3_;
	}
	if (_tmp0_) {
		result = FALSE;
		return result;
	}
	{
		gint index = 0;
		index = 1;
		{
			gboolean _tmp7_ = FALSE;
			_tmp7_ = TRUE;
			while (TRUE) {
				gint _tmp9_;
				gint _tmp10_;
				gchar character = '\0';
				gboolean _tmp11_ = FALSE;
				gboolean _tmp12_ = FALSE;
				gboolean _tmp13_ = FALSE;
				gboolean _tmp14_ = FALSE;
				if (!_tmp7_) {
					gint _tmp8_;
					_tmp8_ = index;
					index = _tmp8_ + 1;
				}
				_tmp7_ = FALSE;
				_tmp9_ = strlen (value);
				_tmp10_ = _tmp9_;
				if (!(index < _tmp10_)) {
					break;
				}
				character = string_get (value, (glong) index);
				if (character >= 'A') {
					_tmp14_ = character <= 'Z';
				} else {
					_tmp14_ = FALSE;
				}
				if (_tmp14_) {
					_tmp13_ = TRUE;
				} else {
					gboolean _tmp15_ = FALSE;
					if (character >= 'a') {
						_tmp15_ = character <= 'z';
					} else {
						_tmp15_ = FALSE;
					}
					_tmp13_ = _tmp15_;
				}
				if (_tmp13_) {
					_tmp12_ = TRUE;
				} else {
					gboolean _tmp16_ = FALSE;
					if (character >= '0') {
						_tmp16_ = character <= '9';
					} else {
						_tmp16_ = FALSE;
					}
					_tmp12_ = _tmp16_;
				}
				if (_tmp12_) {
					_tmp11_ = TRUE;
				} else {
					_tmp11_ = character == '_';
				}
				if (!_tmp11_) {
					result = FALSE;
					return result;
				}
			}
		}
	}
	result = TRUE;
	return result;
}

static gboolean
proton_plus_widgets_games_launch_options_editor_launch_command_parser_matches_tokens (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandParser* self,
                                                                                      ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandParseResult* _result_,
                                                                                      gint index,
                                                                                      gint end,
                                                                                      gchar** expected,
                                                                                      gint expected_length1)
{
	gboolean _tmp0_ = FALSE;
	gboolean result;
	g_return_val_if_fail (self != NULL, FALSE);
	g_return_val_if_fail (_result_ != NULL, FALSE);
	if (expected_length1 == 0) {
		_tmp0_ = TRUE;
	} else {
		_tmp0_ = (index + expected_length1) > end;
	}
	if (_tmp0_) {
		result = FALSE;
		return result;
	}
	{
		gint part = 0;
		part = 0;
		{
			gboolean _tmp1_ = FALSE;
			_tmp1_ = TRUE;
			while (TRUE) {
				gboolean _tmp3_ = FALSE;
				GeeArrayList* _tmp4_;
				GeeArrayList* _tmp5_;
				gpointer _tmp6_;
				ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionShellToken* _tmp7_;
				gboolean _tmp8_;
				gboolean _tmp9_;
				gboolean _tmp10_;
				if (!_tmp1_) {
					gint _tmp2_;
					_tmp2_ = part;
					part = _tmp2_ + 1;
				}
				_tmp1_ = FALSE;
				if (!(part < expected_length1)) {
					break;
				}
				_tmp4_ = proton_plus_widgets_games_launch_options_editor_launch_command_parse_result_get_tokens (_result_);
				_tmp5_ = _tmp4_;
				_tmp6_ = gee_abstract_list_get ((GeeAbstractList*) _tmp5_, index + part);
				_tmp7_ = (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionShellToken*) _tmp6_;
				_tmp8_ = proton_plus_widgets_games_launch_options_editor_launch_option_shell_token_get_is_opaque (_tmp7_);
				_tmp9_ = _tmp8_;
				_tmp10_ = _tmp9_;
				_g_object_unref0 (_tmp7_);
				if (_tmp10_) {
					_tmp3_ = TRUE;
				} else {
					GeeArrayList* _tmp11_;
					GeeArrayList* _tmp12_;
					gpointer _tmp13_;
					ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionShellToken* _tmp14_;
					const gchar* _tmp15_;
					const gchar* _tmp16_;
					const gchar* _tmp17_;
					_tmp11_ = proton_plus_widgets_games_launch_options_editor_launch_command_parse_result_get_tokens (_result_);
					_tmp12_ = _tmp11_;
					_tmp13_ = gee_abstract_list_get ((GeeAbstractList*) _tmp12_, index + part);
					_tmp14_ = (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionShellToken*) _tmp13_;
					_tmp15_ = proton_plus_widgets_games_launch_options_editor_launch_option_shell_token_get_value (_tmp14_);
					_tmp16_ = _tmp15_;
					_tmp17_ = expected[part];
					_tmp3_ = g_strcmp0 (_tmp16_, _tmp17_) != 0;
					_g_object_unref0 (_tmp14_);
				}
				if (_tmp3_) {
					result = FALSE;
					return result;
				}
			}
		}
	}
	result = TRUE;
	return result;
}

static gboolean
proton_plus_widgets_games_launch_options_editor_launch_command_parser_is_boundary (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandParser* self,
                                                                                   ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandParseResult* _result_,
                                                                                   gint index)
{
	GeeArrayList* _tmp0_;
	GeeArrayList* _tmp1_;
	gboolean result;
	g_return_val_if_fail (self != NULL, FALSE);
	g_return_val_if_fail (_result_ != NULL, FALSE);
	_tmp0_ = proton_plus_widgets_games_launch_options_editor_launch_command_parse_result_get_command_boundary_indexes (_result_);
	_tmp1_ = _tmp0_;
	result = gee_abstract_collection_contains ((GeeAbstractCollection*) _tmp1_, (gpointer) ((gintptr) index));
	return result;
}

static GeeArrayList*
proton_plus_widgets_games_launch_options_editor_launch_command_parser_tokens_for_indexes (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandParser* self,
                                                                                          ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandParseResult* _result_,
                                                                                          gint* indexes,
                                                                                          gint indexes_length1)
{
	GeeArrayList* values = NULL;
	GeeArrayList* _tmp0_;
	GeeArrayList* result;
	g_return_val_if_fail (self != NULL, NULL);
	g_return_val_if_fail (_result_ != NULL, NULL);
	_tmp0_ = gee_array_list_new (PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_TYPE_LAUNCH_OPTION_SHELL_TOKEN, (GBoxedCopyFunc) g_object_ref, (GDestroyNotify) g_object_unref, NULL, NULL, NULL);
	values = _tmp0_;
	{
		gint* index_collection = NULL;
		gint index_collection_length1 = 0;
		gint _index_collection_size_ = 0;
		gint index_it = 0;
		index_collection = indexes;
		index_collection_length1 = indexes_length1;
		for (index_it = 0; index_it < index_collection_length1; index_it = index_it + 1) {
			gint index = 0;
			index = index_collection[index_it];
			{
				GeeArrayList* _tmp1_;
				GeeArrayList* _tmp2_;
				GeeArrayList* _tmp3_;
				gpointer _tmp4_;
				ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionShellToken* _tmp5_;
				_tmp1_ = values;
				_tmp2_ = proton_plus_widgets_games_launch_options_editor_launch_command_parse_result_get_tokens (_result_);
				_tmp3_ = _tmp2_;
				_tmp4_ = gee_abstract_list_get ((GeeAbstractList*) _tmp3_, index);
				_tmp5_ = (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionShellToken*) _tmp4_;
				gee_abstract_collection_add ((GeeAbstractCollection*) _tmp1_, _tmp5_);
				_g_object_unref0 (_tmp5_);
			}
		}
	}
	result = values;
	return result;
}

static gint*
proton_plus_widgets_games_launch_options_editor_launch_command_parser_consecutive_indexes (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandParser* self,
                                                                                           gint start,
                                                                                           gint length,
                                                                                           gint* result_length1)
{
	gint* indexes = NULL;
	gint* _tmp0_;
	gint indexes_length1;
	gint _indexes_size_;
	gint* _tmp4_;
	gint _tmp4__length1;
	gint* result;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = g_new0 (gint, length);
	indexes = _tmp0_;
	indexes_length1 = length;
	_indexes_size_ = indexes_length1;
	{
		gint index = 0;
		index = 0;
		{
			gboolean _tmp1_ = FALSE;
			_tmp1_ = TRUE;
			while (TRUE) {
				gint* _tmp3_;
				gint _tmp3__length1;
				if (!_tmp1_) {
					gint _tmp2_;
					_tmp2_ = index;
					index = _tmp2_ + 1;
				}
				_tmp1_ = FALSE;
				if (!(index < length)) {
					break;
				}
				_tmp3_ = indexes;
				_tmp3__length1 = indexes_length1;
				_tmp3_[index] = start + index;
			}
		}
	}
	_tmp4_ = indexes;
	_tmp4__length1 = indexes_length1;
	if (result_length1) {
		*result_length1 = _tmp4__length1;
	}
	result = _tmp4_;
	return result;
}

static gchar*
_vala_g_strjoinv (const gchar* separator,
                  gchar** str_array,
                  gint str_array_length1)
{
	gboolean _tmp0_ = FALSE;
	gchar* result;
	if (separator == NULL) {
		separator = "";
	}
	if (str_array != NULL) {
		gboolean _tmp1_ = FALSE;
		if (str_array_length1 > 0) {
			_tmp1_ = TRUE;
		} else {
			gboolean _tmp2_ = FALSE;
			if (str_array_length1 == -1) {
				const gchar* _tmp3_;
				_tmp3_ = str_array[0];
				_tmp2_ = _tmp3_ != NULL;
			} else {
				_tmp2_ = FALSE;
			}
			_tmp1_ = _tmp2_;
		}
		_tmp0_ = _tmp1_;
	} else {
		_tmp0_ = FALSE;
	}
	if (_tmp0_) {
		gint i = 0;
		gsize len = 0UL;
		gint _tmp16_;
		gint _tmp17_;
		const gchar* res = NULL;
		void* _tmp18_;
		const gchar* _tmp19_ = NULL;
		const gchar* _tmp20_;
		void* ptr = NULL;
		const gchar* _tmp22_;
		void* _tmp23_;
		const gchar* _tmp33_;
		len = (gsize) 1;
		{
			gboolean _tmp4_ = FALSE;
			i = 0;
			_tmp4_ = TRUE;
			while (TRUE) {
				gboolean _tmp6_ = FALSE;
				gboolean _tmp7_ = FALSE;
				gint _tmp10_ = 0;
				const gchar* _tmp11_;
				if (!_tmp4_) {
					gint _tmp5_;
					_tmp5_ = i;
					i = _tmp5_ + 1;
				}
				_tmp4_ = FALSE;
				if (str_array_length1 != -1) {
					_tmp7_ = i < str_array_length1;
				} else {
					_tmp7_ = FALSE;
				}
				if (_tmp7_) {
					_tmp6_ = TRUE;
				} else {
					gboolean _tmp8_ = FALSE;
					if (str_array_length1 == -1) {
						const gchar* _tmp9_;
						_tmp9_ = str_array[i];
						_tmp8_ = _tmp9_ != NULL;
					} else {
						_tmp8_ = FALSE;
					}
					_tmp6_ = _tmp8_;
				}
				if (!_tmp6_) {
					break;
				}
				_tmp11_ = str_array[i];
				if (_tmp11_ != NULL) {
					const gchar* _tmp12_;
					gint _tmp13_;
					gint _tmp14_;
					_tmp12_ = str_array[i];
					_tmp13_ = strlen ((const gchar*) _tmp12_);
					_tmp14_ = _tmp13_;
					_tmp10_ = _tmp14_;
				} else {
					_tmp10_ = 0;
				}
				len += (gsize) _tmp10_;
			}
		}
		if (i == 0) {
			gchar* _tmp15_;
			_tmp15_ = g_strdup ("");
			result = _tmp15_;
			return result;
		}
		str_array_length1 = i;
		_tmp16_ = strlen ((const gchar*) separator);
		_tmp17_ = _tmp16_;
		len += (gsize) (_tmp17_ * (i - 1));
		_tmp18_ = g_malloc (len);
		res = _tmp18_;
		_tmp20_ = str_array[0];
		if (_tmp20_ != NULL) {
			const gchar* _tmp21_;
			_tmp21_ = str_array[0];
			_tmp19_ = (const gchar*) _tmp21_;
		} else {
			_tmp19_ = "";
		}
		_tmp22_ = res;
		_tmp23_ = g_stpcpy ((void*) _tmp22_, _tmp19_);
		ptr = _tmp23_;
		{
			gboolean _tmp24_ = FALSE;
			i = 1;
			_tmp24_ = TRUE;
			while (TRUE) {
				void* _tmp26_;
				void* _tmp27_;
				const gchar* _tmp28_ = NULL;
				const gchar* _tmp29_;
				void* _tmp31_;
				void* _tmp32_;
				if (!_tmp24_) {
					gint _tmp25_;
					_tmp25_ = i;
					i = _tmp25_ + 1;
				}
				_tmp24_ = FALSE;
				if (!(i < str_array_length1)) {
					break;
				}
				_tmp26_ = ptr;
				_tmp27_ = g_stpcpy (_tmp26_, (const gchar*) separator);
				ptr = _tmp27_;
				_tmp29_ = str_array[i];
				if (_tmp29_ != NULL) {
					const gchar* _tmp30_;
					_tmp30_ = str_array[i];
					_tmp28_ = (const gchar*) _tmp30_;
				} else {
					_tmp28_ = "";
				}
				_tmp31_ = ptr;
				_tmp32_ = g_stpcpy (_tmp31_, _tmp28_);
				ptr = _tmp32_;
			}
		}
		_tmp33_ = res;
		res = NULL;
		result = (gchar*) _tmp33_;
		return result;
	} else {
		gchar* _tmp34_;
		_tmp34_ = g_strdup ("");
		result = _tmp34_;
		return result;
	}
}

static gchar*
proton_plus_widgets_games_launch_options_editor_launch_command_parser_normalized_values (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandParser* self,
                                                                                         ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandParseResult* _result_,
                                                                                         gint* indexes,
                                                                                         gint indexes_length1,
                                                                                         ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionParseShape* shape)
{
	GeeArrayList* values = NULL;
	GeeArrayList* _tmp1_;
	guint* arities = NULL;
	gint _tmp2_ = 0;
	guint* _tmp3_;
	gint arities_length1;
	gint _arities_size_;
	gint position = 0;
	guint* _tmp4_;
	gint _tmp4__length1;
	GeeArrayList* _tmp18_;
	gint _tmp19_ = 0;
	gpointer* _tmp20_;
	gchar** _tmp21_;
	gint _tmp21__length1;
	gchar* _tmp22_;
	gchar* _tmp23_;
	gchar* result;
	g_return_val_if_fail (self != NULL, NULL);
	g_return_val_if_fail (_result_ != NULL, NULL);
	if (shape == NULL) {
		gchar* _tmp0_;
		_tmp0_ = g_strdup ("");
		result = _tmp0_;
		return result;
	}
	_tmp1_ = gee_array_list_new (G_TYPE_STRING, (GBoxedCopyFunc) g_strdup, (GDestroyNotify) g_free, NULL, NULL, NULL);
	values = _tmp1_;
	_tmp3_ = proton_plus_widgets_games_launch_options_editor_launch_option_parse_shape_get_value_arities (shape, &_tmp2_);
	arities = _tmp3_;
	arities_length1 = _tmp2_;
	_arities_size_ = arities_length1;
	position = 0;
	_tmp4_ = arities;
	_tmp4__length1 = arities_length1;
	{
		guint* arity_collection = NULL;
		gint arity_collection_length1 = 0;
		gint _arity_collection_size_ = 0;
		gint arity_it = 0;
		arity_collection = _tmp4_;
		arity_collection_length1 = _tmp4__length1;
		for (arity_it = 0; arity_it < arity_collection_length1; arity_it = arity_it + 1) {
			guint arity = 0U;
			arity = arity_collection[arity_it];
			{
				gint _tmp5_;
				_tmp5_ = position;
				position = _tmp5_ + 1;
				{
					gint value = 0;
					value = 0;
					{
						gboolean _tmp6_ = FALSE;
						_tmp6_ = TRUE;
						while (TRUE) {
							gboolean _tmp8_ = FALSE;
							GeeArrayList* _tmp9_;
							GeeArrayList* _tmp10_;
							GeeArrayList* _tmp11_;
							gint _tmp12_;
							gint _tmp13_;
							gpointer _tmp14_;
							ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionShellToken* _tmp15_;
							const gchar* _tmp16_;
							const gchar* _tmp17_;
							if (!_tmp6_) {
								gint _tmp7_;
								_tmp7_ = value;
								value = _tmp7_ + 1;
							}
							_tmp6_ = FALSE;
							if (((guint) value) < arity) {
								_tmp8_ = position < indexes_length1;
							} else {
								_tmp8_ = FALSE;
							}
							if (!_tmp8_) {
								break;
							}
							_tmp9_ = values;
							_tmp10_ = proton_plus_widgets_games_launch_options_editor_launch_command_parse_result_get_tokens (_result_);
							_tmp11_ = _tmp10_;
							_tmp12_ = position;
							position = _tmp12_ + 1;
							_tmp13_ = indexes[_tmp12_];
							_tmp14_ = gee_abstract_list_get ((GeeAbstractList*) _tmp11_, _tmp13_);
							_tmp15_ = (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionShellToken*) _tmp14_;
							_tmp16_ = proton_plus_widgets_games_launch_options_editor_launch_option_shell_token_get_value (_tmp15_);
							_tmp17_ = _tmp16_;
							gee_abstract_collection_add ((GeeAbstractCollection*) _tmp9_, _tmp17_);
							_g_object_unref0 (_tmp15_);
						}
					}
				}
			}
		}
	}
	_tmp18_ = values;
	_tmp20_ = gee_collection_to_array ((GeeCollection*) _tmp18_, &_tmp19_);
	_tmp21_ = _tmp20_;
	_tmp21__length1 = _tmp19_;
	_tmp22_ = _vala_g_strjoinv (",", _tmp21_, (gint) _tmp19_);
	_tmp23_ = _tmp22_;
	_tmp21_ = (_vala_array_free (_tmp21_, _tmp21__length1, (GDestroyNotify) g_free), NULL);
	result = _tmp23_;
	arities = (g_free (arities), NULL);
	_g_object_unref0 (values);
	return result;
}

static gboolean
proton_plus_widgets_games_launch_options_editor_launch_command_parser_contains (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandParser* self,
                                                                                gchar** values,
                                                                                gint values_length1,
                                                                                const gchar* candidate)
{
	gboolean result;
	g_return_val_if_fail (self != NULL, FALSE);
	g_return_val_if_fail (candidate != NULL, FALSE);
	{
		gchar** value_collection = NULL;
		gint value_collection_length1 = 0;
		gint _value_collection_size_ = 0;
		gint value_it = 0;
		value_collection = values;
		value_collection_length1 = values_length1;
		for (value_it = 0; value_it < value_collection_length1; value_it = value_it + 1) {
			gchar* _tmp0_;
			gchar* value = NULL;
			_tmp0_ = g_strdup (value_collection[value_it]);
			value = _tmp0_;
			{
				const gchar* _tmp1_;
				_tmp1_ = value;
				if (g_strcmp0 (_tmp1_, candidate) == 0) {
					result = TRUE;
					_g_free0 (value);
					return result;
				}
				_g_free0 (value);
			}
		}
	}
	result = FALSE;
	return result;
}

static void
proton_plus_widgets_games_launch_options_editor_launch_command_parser_add_diagnostic (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandParser* self,
                                                                                      ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandParseResult* _result_,
                                                                                      ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandParseDiagnosticCode code,
                                                                                      const gchar* message,
                                                                                      gint token_index)
{
	GeeArrayList* _tmp0_;
	GeeArrayList* _tmp1_;
	ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandParseDiagnostic* _tmp2_;
	ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandParseDiagnostic* _tmp3_;
	g_return_if_fail (self != NULL);
	g_return_if_fail (_result_ != NULL);
	g_return_if_fail (message != NULL);
	_tmp0_ = proton_plus_widgets_games_launch_options_editor_launch_command_parse_result_get_diagnostics (_result_);
	_tmp1_ = _tmp0_;
	_tmp2_ = proton_plus_widgets_games_launch_options_editor_launch_command_parse_diagnostic_new (code, message, token_index);
	_tmp3_ = _tmp2_;
	gee_abstract_collection_add ((GeeAbstractCollection*) _tmp1_, _tmp3_);
	_g_object_unref0 (_tmp3_);
	proton_plus_widgets_games_launch_options_editor_launch_command_parse_result_set_is_structurally_safe (_result_, FALSE);
}

static void
proton_plus_widgets_games_launch_options_editor_launch_command_parser_class_init (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandParserClass * klass,
                                                                                  gpointer klass_data)
{
	proton_plus_widgets_games_launch_options_editor_launch_command_parser_parent_class = g_type_class_peek_parent (klass);
	g_type_class_adjust_private_offset (klass, &ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandParser_private_offset);
	G_OBJECT_CLASS (klass)->finalize = proton_plus_widgets_games_launch_options_editor_launch_command_parser_finalize;
}

static void
proton_plus_widgets_games_launch_options_editor_launch_command_parser_instance_init (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandParser * self,
                                                                                     gpointer klass)
{
	self->priv = proton_plus_widgets_games_launch_options_editor_launch_command_parser_get_instance_private (self);
}

static void
proton_plus_widgets_games_launch_options_editor_launch_command_parser_finalize (GObject * obj)
{
	ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandParser * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_TYPE_LAUNCH_COMMAND_PARSER, ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandParser);
	_g_object_unref0 (self->priv->catalog);
	G_OBJECT_CLASS (proton_plus_widgets_games_launch_options_editor_launch_command_parser_parent_class)->finalize (obj);
}

static GType
proton_plus_widgets_games_launch_options_editor_launch_command_parser_get_type_once (void)
{
	static const GTypeInfo g_define_type_info = { sizeof (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandParserClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) proton_plus_widgets_games_launch_options_editor_launch_command_parser_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandParser), 0, (GInstanceInitFunc) proton_plus_widgets_games_launch_options_editor_launch_command_parser_instance_init, NULL };
	GType proton_plus_widgets_games_launch_options_editor_launch_command_parser_type_id;
	proton_plus_widgets_games_launch_options_editor_launch_command_parser_type_id = g_type_register_static (G_TYPE_OBJECT, "ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandParser", &g_define_type_info, 0);
	ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandParser_private_offset = g_type_add_instance_private (proton_plus_widgets_games_launch_options_editor_launch_command_parser_type_id, sizeof (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchCommandParserPrivate));
	return proton_plus_widgets_games_launch_options_editor_launch_command_parser_type_id;
}

GType
proton_plus_widgets_games_launch_options_editor_launch_command_parser_get_type (void)
{
	static volatile gsize proton_plus_widgets_games_launch_options_editor_launch_command_parser_type_id__once = 0;
	if (g_once_init_enter (&proton_plus_widgets_games_launch_options_editor_launch_command_parser_type_id__once)) {
		GType proton_plus_widgets_games_launch_options_editor_launch_command_parser_type_id;
		proton_plus_widgets_games_launch_options_editor_launch_command_parser_type_id = proton_plus_widgets_games_launch_options_editor_launch_command_parser_get_type_once ();
		g_once_init_leave (&proton_plus_widgets_games_launch_options_editor_launch_command_parser_type_id__once, proton_plus_widgets_games_launch_options_editor_launch_command_parser_type_id);
	}
	return proton_plus_widgets_games_launch_options_editor_launch_command_parser_type_id__once;
}

static inline gpointer
proton_plus_widgets_games_launch_options_editor_wrapper_match_get_instance_private (ProtonPlusWidgetsGamesLaunchOptionsEditorWrapperMatch* self)
{
	return G_STRUCT_MEMBER_P (self, ProtonPlusWidgetsGamesLaunchOptionsEditorWrapperMatch_private_offset);
}

ProtonPlusWidgetsGamesLaunchOptionsEditorWrapperMatch*
proton_plus_widgets_games_launch_options_editor_wrapper_match_construct (GType object_type,
                                                                         ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchWrapperDefinition* definition,
                                                                         gint length,
                                                                         gboolean used_alias)
{
	ProtonPlusWidgetsGamesLaunchOptionsEditorWrapperMatch * self = NULL;
	g_return_val_if_fail (definition != NULL, NULL);
	self = (ProtonPlusWidgetsGamesLaunchOptionsEditorWrapperMatch*) g_object_new (object_type, "definition", definition, "length", length, "used-alias", used_alias, NULL);
	return self;
}

ProtonPlusWidgetsGamesLaunchOptionsEditorWrapperMatch*
proton_plus_widgets_games_launch_options_editor_wrapper_match_new (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchWrapperDefinition* definition,
                                                                   gint length,
                                                                   gboolean used_alias)
{
	return proton_plus_widgets_games_launch_options_editor_wrapper_match_construct (PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_TYPE_WRAPPER_MATCH, definition, length, used_alias);
}

ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchWrapperDefinition*
proton_plus_widgets_games_launch_options_editor_wrapper_match_get_definition (ProtonPlusWidgetsGamesLaunchOptionsEditorWrapperMatch* self)
{
	ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchWrapperDefinition* result;
	ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchWrapperDefinition* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_definition;
	result = _tmp0_;
	return result;
}

static void
proton_plus_widgets_games_launch_options_editor_wrapper_match_set_definition (ProtonPlusWidgetsGamesLaunchOptionsEditorWrapperMatch* self,
                                                                              ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchWrapperDefinition* value)
{
	ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchWrapperDefinition* old_value;
	g_return_if_fail (self != NULL);
	old_value = proton_plus_widgets_games_launch_options_editor_wrapper_match_get_definition (self);
	if (old_value != value) {
		ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchWrapperDefinition* _tmp0_;
		_tmp0_ = _g_object_ref0 (value);
		_g_object_unref0 (self->priv->_definition);
		self->priv->_definition = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, proton_plus_widgets_games_launch_options_editor_wrapper_match_properties[PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_WRAPPER_MATCH_DEFINITION_PROPERTY]);
	}
}

gint
proton_plus_widgets_games_launch_options_editor_wrapper_match_get_length (ProtonPlusWidgetsGamesLaunchOptionsEditorWrapperMatch* self)
{
	gint result;
	g_return_val_if_fail (self != NULL, -1);
	result = self->priv->_length;
	return result;
}

static void
proton_plus_widgets_games_launch_options_editor_wrapper_match_set_length (ProtonPlusWidgetsGamesLaunchOptionsEditorWrapperMatch* self,
                                                                          gint value)
{
	gint old_value;
	g_return_if_fail (self != NULL);
	old_value = proton_plus_widgets_games_launch_options_editor_wrapper_match_get_length (self);
	if (old_value != value) {
		self->priv->_length = value;
		g_object_notify_by_pspec ((GObject *) self, proton_plus_widgets_games_launch_options_editor_wrapper_match_properties[PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_WRAPPER_MATCH_LENGTH_PROPERTY]);
	}
}

gboolean
proton_plus_widgets_games_launch_options_editor_wrapper_match_get_used_alias (ProtonPlusWidgetsGamesLaunchOptionsEditorWrapperMatch* self)
{
	gboolean result;
	g_return_val_if_fail (self != NULL, FALSE);
	result = self->priv->_used_alias;
	return result;
}

static void
proton_plus_widgets_games_launch_options_editor_wrapper_match_set_used_alias (ProtonPlusWidgetsGamesLaunchOptionsEditorWrapperMatch* self,
                                                                              gboolean value)
{
	gboolean old_value;
	g_return_if_fail (self != NULL);
	old_value = proton_plus_widgets_games_launch_options_editor_wrapper_match_get_used_alias (self);
	if (old_value != value) {
		self->priv->_used_alias = value;
		g_object_notify_by_pspec ((GObject *) self, proton_plus_widgets_games_launch_options_editor_wrapper_match_properties[PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_WRAPPER_MATCH_USED_ALIAS_PROPERTY]);
	}
}

static void
proton_plus_widgets_games_launch_options_editor_wrapper_match_class_init (ProtonPlusWidgetsGamesLaunchOptionsEditorWrapperMatchClass * klass,
                                                                          gpointer klass_data)
{
	proton_plus_widgets_games_launch_options_editor_wrapper_match_parent_class = g_type_class_peek_parent (klass);
	g_type_class_adjust_private_offset (klass, &ProtonPlusWidgetsGamesLaunchOptionsEditorWrapperMatch_private_offset);
	G_OBJECT_CLASS (klass)->get_property = _vala_proton_plus_widgets_games_launch_options_editor_wrapper_match_get_property;
	G_OBJECT_CLASS (klass)->set_property = _vala_proton_plus_widgets_games_launch_options_editor_wrapper_match_set_property;
	G_OBJECT_CLASS (klass)->finalize = proton_plus_widgets_games_launch_options_editor_wrapper_match_finalize;
	g_object_class_install_property (G_OBJECT_CLASS (klass), PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_WRAPPER_MATCH_DEFINITION_PROPERTY, proton_plus_widgets_games_launch_options_editor_wrapper_match_properties[PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_WRAPPER_MATCH_DEFINITION_PROPERTY] = g_param_spec_object ("definition", "definition", "definition", PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_TYPE_LAUNCH_WRAPPER_DEFINITION, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE | G_PARAM_CONSTRUCT_ONLY));
	g_object_class_install_property (G_OBJECT_CLASS (klass), PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_WRAPPER_MATCH_LENGTH_PROPERTY, proton_plus_widgets_games_launch_options_editor_wrapper_match_properties[PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_WRAPPER_MATCH_LENGTH_PROPERTY] = g_param_spec_int ("length", "length", "length", G_MININT, G_MAXINT, 0, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE | G_PARAM_CONSTRUCT_ONLY));
	g_object_class_install_property (G_OBJECT_CLASS (klass), PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_WRAPPER_MATCH_USED_ALIAS_PROPERTY, proton_plus_widgets_games_launch_options_editor_wrapper_match_properties[PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_WRAPPER_MATCH_USED_ALIAS_PROPERTY] = g_param_spec_boolean ("used-alias", "used-alias", "used-alias", FALSE, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE | G_PARAM_CONSTRUCT_ONLY));
}

static void
proton_plus_widgets_games_launch_options_editor_wrapper_match_instance_init (ProtonPlusWidgetsGamesLaunchOptionsEditorWrapperMatch * self,
                                                                             gpointer klass)
{
	self->priv = proton_plus_widgets_games_launch_options_editor_wrapper_match_get_instance_private (self);
}

static void
proton_plus_widgets_games_launch_options_editor_wrapper_match_finalize (GObject * obj)
{
	ProtonPlusWidgetsGamesLaunchOptionsEditorWrapperMatch * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_TYPE_WRAPPER_MATCH, ProtonPlusWidgetsGamesLaunchOptionsEditorWrapperMatch);
	_g_object_unref0 (self->priv->_definition);
	G_OBJECT_CLASS (proton_plus_widgets_games_launch_options_editor_wrapper_match_parent_class)->finalize (obj);
}

static GType
proton_plus_widgets_games_launch_options_editor_wrapper_match_get_type_once (void)
{
	static const GTypeInfo g_define_type_info = { sizeof (ProtonPlusWidgetsGamesLaunchOptionsEditorWrapperMatchClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) proton_plus_widgets_games_launch_options_editor_wrapper_match_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (ProtonPlusWidgetsGamesLaunchOptionsEditorWrapperMatch), 0, (GInstanceInitFunc) proton_plus_widgets_games_launch_options_editor_wrapper_match_instance_init, NULL };
	GType proton_plus_widgets_games_launch_options_editor_wrapper_match_type_id;
	proton_plus_widgets_games_launch_options_editor_wrapper_match_type_id = g_type_register_static (G_TYPE_OBJECT, "ProtonPlusWidgetsGamesLaunchOptionsEditorWrapperMatch", &g_define_type_info, 0);
	ProtonPlusWidgetsGamesLaunchOptionsEditorWrapperMatch_private_offset = g_type_add_instance_private (proton_plus_widgets_games_launch_options_editor_wrapper_match_type_id, sizeof (ProtonPlusWidgetsGamesLaunchOptionsEditorWrapperMatchPrivate));
	return proton_plus_widgets_games_launch_options_editor_wrapper_match_type_id;
}

GType
proton_plus_widgets_games_launch_options_editor_wrapper_match_get_type (void)
{
	static volatile gsize proton_plus_widgets_games_launch_options_editor_wrapper_match_type_id__once = 0;
	if (g_once_init_enter (&proton_plus_widgets_games_launch_options_editor_wrapper_match_type_id__once)) {
		GType proton_plus_widgets_games_launch_options_editor_wrapper_match_type_id;
		proton_plus_widgets_games_launch_options_editor_wrapper_match_type_id = proton_plus_widgets_games_launch_options_editor_wrapper_match_get_type_once ();
		g_once_init_leave (&proton_plus_widgets_games_launch_options_editor_wrapper_match_type_id__once, proton_plus_widgets_games_launch_options_editor_wrapper_match_type_id);
	}
	return proton_plus_widgets_games_launch_options_editor_wrapper_match_type_id__once;
}

static void
_vala_proton_plus_widgets_games_launch_options_editor_wrapper_match_get_property (GObject * object,
                                                                                  guint property_id,
                                                                                  GValue * value,
                                                                                  GParamSpec * pspec)
{
	ProtonPlusWidgetsGamesLaunchOptionsEditorWrapperMatch * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_TYPE_WRAPPER_MATCH, ProtonPlusWidgetsGamesLaunchOptionsEditorWrapperMatch);
	switch (property_id) {
		case PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_WRAPPER_MATCH_DEFINITION_PROPERTY:
		g_value_set_object (value, proton_plus_widgets_games_launch_options_editor_wrapper_match_get_definition (self));
		break;
		case PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_WRAPPER_MATCH_LENGTH_PROPERTY:
		g_value_set_int (value, proton_plus_widgets_games_launch_options_editor_wrapper_match_get_length (self));
		break;
		case PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_WRAPPER_MATCH_USED_ALIAS_PROPERTY:
		g_value_set_boolean (value, proton_plus_widgets_games_launch_options_editor_wrapper_match_get_used_alias (self));
		break;
		default:
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
		break;
	}
}

static void
_vala_proton_plus_widgets_games_launch_options_editor_wrapper_match_set_property (GObject * object,
                                                                                  guint property_id,
                                                                                  const GValue * value,
                                                                                  GParamSpec * pspec)
{
	ProtonPlusWidgetsGamesLaunchOptionsEditorWrapperMatch * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_TYPE_WRAPPER_MATCH, ProtonPlusWidgetsGamesLaunchOptionsEditorWrapperMatch);
	switch (property_id) {
		case PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_WRAPPER_MATCH_DEFINITION_PROPERTY:
		proton_plus_widgets_games_launch_options_editor_wrapper_match_set_definition (self, g_value_get_object (value));
		break;
		case PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_WRAPPER_MATCH_LENGTH_PROPERTY:
		proton_plus_widgets_games_launch_options_editor_wrapper_match_set_length (self, g_value_get_int (value));
		break;
		case PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_WRAPPER_MATCH_USED_ALIAS_PROPERTY:
		proton_plus_widgets_games_launch_options_editor_wrapper_match_set_used_alias (self, g_value_get_boolean (value));
		break;
		default:
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
		break;
	}
}

static inline gpointer
proton_plus_widgets_games_launch_options_editor_wrapper_argument_match_get_instance_private (ProtonPlusWidgetsGamesLaunchOptionsEditorWrapperArgumentMatch* self)
{
	return G_STRUCT_MEMBER_P (self, ProtonPlusWidgetsGamesLaunchOptionsEditorWrapperArgumentMatch_private_offset);
}

static gint*
_vala_array_dup9 (gint* self,
                  gssize length)
{
	if (length > 0) {
		return _vala_memdup2 (self, length * sizeof (gint));
	}
	return NULL;
}

ProtonPlusWidgetsGamesLaunchOptionsEditorWrapperArgumentMatch*
proton_plus_widgets_games_launch_options_editor_wrapper_argument_match_construct (GType object_type,
                                                                                  ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionMetadata* entry,
                                                                                  gint* indexes,
                                                                                  gint indexes_length1)
{
	ProtonPlusWidgetsGamesLaunchOptionsEditorWrapperArgumentMatch * self = NULL;
	gint* _tmp0_;
	gint _tmp0__length1;
	g_return_val_if_fail (entry != NULL, NULL);
	self = (ProtonPlusWidgetsGamesLaunchOptionsEditorWrapperArgumentMatch*) g_object_new (object_type, "entry", entry, NULL);
	_tmp0_ = (indexes != NULL) ? _vala_array_dup9 (indexes, indexes_length1) : indexes;
	_tmp0__length1 = indexes_length1;
	self->indexes = (g_free (self->indexes), NULL);
	self->indexes = _tmp0_;
	self->indexes_length1 = _tmp0__length1;
	self->_indexes_size_ = self->indexes_length1;
	return self;
}

ProtonPlusWidgetsGamesLaunchOptionsEditorWrapperArgumentMatch*
proton_plus_widgets_games_launch_options_editor_wrapper_argument_match_new (ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionMetadata* entry,
                                                                            gint* indexes,
                                                                            gint indexes_length1)
{
	return proton_plus_widgets_games_launch_options_editor_wrapper_argument_match_construct (PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_TYPE_WRAPPER_ARGUMENT_MATCH, entry, indexes, indexes_length1);
}

ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionMetadata*
proton_plus_widgets_games_launch_options_editor_wrapper_argument_match_get_entry (ProtonPlusWidgetsGamesLaunchOptionsEditorWrapperArgumentMatch* self)
{
	ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionMetadata* result;
	ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionMetadata* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_entry;
	result = _tmp0_;
	return result;
}

static void
proton_plus_widgets_games_launch_options_editor_wrapper_argument_match_set_entry (ProtonPlusWidgetsGamesLaunchOptionsEditorWrapperArgumentMatch* self,
                                                                                  ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionMetadata* value)
{
	ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionMetadata* old_value;
	g_return_if_fail (self != NULL);
	old_value = proton_plus_widgets_games_launch_options_editor_wrapper_argument_match_get_entry (self);
	if (old_value != value) {
		ProtonPlusWidgetsGamesLaunchOptionsEditorLaunchOptionMetadata* _tmp0_;
		_tmp0_ = _g_object_ref0 (value);
		_g_object_unref0 (self->priv->_entry);
		self->priv->_entry = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, proton_plus_widgets_games_launch_options_editor_wrapper_argument_match_properties[PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_WRAPPER_ARGUMENT_MATCH_ENTRY_PROPERTY]);
	}
}

gint
proton_plus_widgets_games_launch_options_editor_wrapper_argument_match_get_length (ProtonPlusWidgetsGamesLaunchOptionsEditorWrapperArgumentMatch* self)
{
	gint result;
	gint* _tmp0_;
	gint _tmp0__length1;
	g_return_val_if_fail (self != NULL, -1);
	_tmp0_ = self->indexes;
	_tmp0__length1 = self->indexes_length1;
	result = _tmp0__length1;
	return result;
}

static void
proton_plus_widgets_games_launch_options_editor_wrapper_argument_match_class_init (ProtonPlusWidgetsGamesLaunchOptionsEditorWrapperArgumentMatchClass * klass,
                                                                                   gpointer klass_data)
{
	proton_plus_widgets_games_launch_options_editor_wrapper_argument_match_parent_class = g_type_class_peek_parent (klass);
	g_type_class_adjust_private_offset (klass, &ProtonPlusWidgetsGamesLaunchOptionsEditorWrapperArgumentMatch_private_offset);
	G_OBJECT_CLASS (klass)->get_property = _vala_proton_plus_widgets_games_launch_options_editor_wrapper_argument_match_get_property;
	G_OBJECT_CLASS (klass)->set_property = _vala_proton_plus_widgets_games_launch_options_editor_wrapper_argument_match_set_property;
	G_OBJECT_CLASS (klass)->finalize = proton_plus_widgets_games_launch_options_editor_wrapper_argument_match_finalize;
	g_object_class_install_property (G_OBJECT_CLASS (klass), PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_WRAPPER_ARGUMENT_MATCH_ENTRY_PROPERTY, proton_plus_widgets_games_launch_options_editor_wrapper_argument_match_properties[PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_WRAPPER_ARGUMENT_MATCH_ENTRY_PROPERTY] = g_param_spec_object ("entry", "entry", "entry", PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_TYPE_LAUNCH_OPTION_METADATA, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE | G_PARAM_CONSTRUCT_ONLY));
	g_object_class_install_property (G_OBJECT_CLASS (klass), PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_WRAPPER_ARGUMENT_MATCH_LENGTH_PROPERTY, proton_plus_widgets_games_launch_options_editor_wrapper_argument_match_properties[PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_WRAPPER_ARGUMENT_MATCH_LENGTH_PROPERTY] = g_param_spec_int ("length", "length", "length", G_MININT, G_MAXINT, 0, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE));
}

static void
proton_plus_widgets_games_launch_options_editor_wrapper_argument_match_instance_init (ProtonPlusWidgetsGamesLaunchOptionsEditorWrapperArgumentMatch * self,
                                                                                      gpointer klass)
{
	self->priv = proton_plus_widgets_games_launch_options_editor_wrapper_argument_match_get_instance_private (self);
}

static void
proton_plus_widgets_games_launch_options_editor_wrapper_argument_match_finalize (GObject * obj)
{
	ProtonPlusWidgetsGamesLaunchOptionsEditorWrapperArgumentMatch * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_TYPE_WRAPPER_ARGUMENT_MATCH, ProtonPlusWidgetsGamesLaunchOptionsEditorWrapperArgumentMatch);
	_g_object_unref0 (self->priv->_entry);
	self->indexes = (g_free (self->indexes), NULL);
	G_OBJECT_CLASS (proton_plus_widgets_games_launch_options_editor_wrapper_argument_match_parent_class)->finalize (obj);
}

static GType
proton_plus_widgets_games_launch_options_editor_wrapper_argument_match_get_type_once (void)
{
	static const GTypeInfo g_define_type_info = { sizeof (ProtonPlusWidgetsGamesLaunchOptionsEditorWrapperArgumentMatchClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) proton_plus_widgets_games_launch_options_editor_wrapper_argument_match_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (ProtonPlusWidgetsGamesLaunchOptionsEditorWrapperArgumentMatch), 0, (GInstanceInitFunc) proton_plus_widgets_games_launch_options_editor_wrapper_argument_match_instance_init, NULL };
	GType proton_plus_widgets_games_launch_options_editor_wrapper_argument_match_type_id;
	proton_plus_widgets_games_launch_options_editor_wrapper_argument_match_type_id = g_type_register_static (G_TYPE_OBJECT, "ProtonPlusWidgetsGamesLaunchOptionsEditorWrapperArgumentMatch", &g_define_type_info, 0);
	ProtonPlusWidgetsGamesLaunchOptionsEditorWrapperArgumentMatch_private_offset = g_type_add_instance_private (proton_plus_widgets_games_launch_options_editor_wrapper_argument_match_type_id, sizeof (ProtonPlusWidgetsGamesLaunchOptionsEditorWrapperArgumentMatchPrivate));
	return proton_plus_widgets_games_launch_options_editor_wrapper_argument_match_type_id;
}

GType
proton_plus_widgets_games_launch_options_editor_wrapper_argument_match_get_type (void)
{
	static volatile gsize proton_plus_widgets_games_launch_options_editor_wrapper_argument_match_type_id__once = 0;
	if (g_once_init_enter (&proton_plus_widgets_games_launch_options_editor_wrapper_argument_match_type_id__once)) {
		GType proton_plus_widgets_games_launch_options_editor_wrapper_argument_match_type_id;
		proton_plus_widgets_games_launch_options_editor_wrapper_argument_match_type_id = proton_plus_widgets_games_launch_options_editor_wrapper_argument_match_get_type_once ();
		g_once_init_leave (&proton_plus_widgets_games_launch_options_editor_wrapper_argument_match_type_id__once, proton_plus_widgets_games_launch_options_editor_wrapper_argument_match_type_id);
	}
	return proton_plus_widgets_games_launch_options_editor_wrapper_argument_match_type_id__once;
}

static void
_vala_proton_plus_widgets_games_launch_options_editor_wrapper_argument_match_get_property (GObject * object,
                                                                                           guint property_id,
                                                                                           GValue * value,
                                                                                           GParamSpec * pspec)
{
	ProtonPlusWidgetsGamesLaunchOptionsEditorWrapperArgumentMatch * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_TYPE_WRAPPER_ARGUMENT_MATCH, ProtonPlusWidgetsGamesLaunchOptionsEditorWrapperArgumentMatch);
	switch (property_id) {
		case PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_WRAPPER_ARGUMENT_MATCH_ENTRY_PROPERTY:
		g_value_set_object (value, proton_plus_widgets_games_launch_options_editor_wrapper_argument_match_get_entry (self));
		break;
		case PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_WRAPPER_ARGUMENT_MATCH_LENGTH_PROPERTY:
		g_value_set_int (value, proton_plus_widgets_games_launch_options_editor_wrapper_argument_match_get_length (self));
		break;
		default:
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
		break;
	}
}

static void
_vala_proton_plus_widgets_games_launch_options_editor_wrapper_argument_match_set_property (GObject * object,
                                                                                           guint property_id,
                                                                                           const GValue * value,
                                                                                           GParamSpec * pspec)
{
	ProtonPlusWidgetsGamesLaunchOptionsEditorWrapperArgumentMatch * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_TYPE_WRAPPER_ARGUMENT_MATCH, ProtonPlusWidgetsGamesLaunchOptionsEditorWrapperArgumentMatch);
	switch (property_id) {
		case PROTON_PLUS_WIDGETS_GAMES_LAUNCH_OPTIONS_EDITOR_WRAPPER_ARGUMENT_MATCH_ENTRY_PROPERTY:
		proton_plus_widgets_games_launch_options_editor_wrapper_argument_match_set_entry (self, g_value_get_object (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 inline gpointer
_vala_memdup2 (gconstpointer mem,
               gsize byte_size)
{
	gpointer new_mem;
	if (mem && byte_size != 0) {
		new_mem = g_malloc (byte_size);
		memcpy (new_mem, mem, byte_size);
	} else {
		new_mem = NULL;
	}
	return new_mem;
}

