diff options
author | Aaron Plattner <aplattner@nvidia.com> | 2008-02-12 21:06:19 -0800 |
---|---|---|
committer | Aaron Plattner <aplattner@nvidia.com> | 2008-02-12 21:06:19 -0800 |
commit | edd7bf5b8a4073387e4dad37269572ec4d1b6a59 (patch) | |
tree | ce76c046e503819ab3dd1a20d8e28a6394ac9aa7 | |
parent | 45c9a40bee540ba6f12d42aeac444884a22d18bf (diff) |
1.0-66291.0-6629
35 files changed, 6609 insertions, 27 deletions
diff --git a/doc/FRAMELOCK.txt b/doc/FRAMELOCK.txt new file mode 100644 index 0000000..3e309e6 --- /dev/null +++ b/doc/FRAMELOCK.txt @@ -0,0 +1,62 @@ + +This is a (very) brief summary of some of things that need to be +done to write a FrameLock NV-CONTROL client. + +Please see the sample NV-CONTROL clients in the "samples" directory +for basic examples of how to set integer attributes. See the +file ctkframelock.c for a much more involved example of how the +nvidia-settings utility programs the FrameLock attributes. + +The constants referenced below are defined in NVCtrl.h. Please see the +comments in that file for an explanation of each attribute. It may +also be instructive to grep ctkframelock.c to see how each attribute +is used. + +Basic steps: + + - Open a Display connection to each X Screen you want to control + in your FrameLock cluster. Please make sure you have + priviledges to establish the X connection. + + - Query the NV_CTRL_FRAMELOCK attribute to determine if FrameLock + is supported on each X screen. + + - Set NV_CTRL_FRAMELOCK_MASTER to NV_CTRL_FRAMELOCK_MASTER_TRUE on + one node in the cluster; set it to NV_CTRL_FRAMELOCK_MASTER_FALSE + to every other node in the cluster. + + - Set NV_CTRL_FRAMELOCK_POLARITY for each slave node in the cluster; + most likely you want NV_CTRL_FRAMELOCK_POLARITY_RISING_EDGE. + + - Set NV_CTRL_FRAMELOCK_SYNC_DELAY as appropriate for each node. + Most likely you want 0. + + - Set NV_CTRL_FRAMELOCK_SYNC_INTERVAL as appropriate if you + are using house sync. Most likely, you just want 0. + + - Set NV_CTRL_FRAMELOCK_SYNC to NV_CTRL_FRAMELOCK_SYNC_ENABLE on + each X screen to enable FrameLock. + + - (optional) set NV_CTRL_FRAMELOCK_TEST_SIGNAL to + NV_CTRL_FRAMELOCK_TEST_SIGNAL_ENABLE followed immediately by + NV_CTRL_FRAMELOCK_TEST_SIGNAL_DISABLE. This guarantees + accuracy of the Universal Frame Count (as returned by + glXQueryFrameCountNV()). + + - When you are done, set NV_CTRL_FRAMELOCK_SYNC to + NV_CTRL_FRAMELOCK_SYNC_DISABLE on each X screen to disable FrameLock. + +During operation, you can also query any of these on each X screen: + + NV_CTRL_FRAMELOCK_PORT0_STATUS + NV_CTRL_FRAMELOCK_PORT1_STATUS + NV_CTRL_FRAMELOCK_HOUSE_STATUS + NV_CTRL_FRAMELOCK_SYNC_READY + NV_CTRL_FRAMELOCK_STEREO_SYNC + NV_CTRL_FRAMELOCK_ETHERNET_DETECTED + NV_CTRL_FRAMELOCK_SYNC_RATE + NV_CTRL_FRAMELOCK_TIMING + +(nvidia-settings registers a gtk+ timeout function and queries the +state of these on each X screen every few seconds). + diff --git a/doc/Makefile.inc b/doc/Makefile.inc index 9f696da..25c525a 100644 --- a/doc/Makefile.inc +++ b/doc/Makefile.inc @@ -27,4 +27,5 @@ EXTRA_DIST += \ NV-CONTROL-API.txt \ - nvidia-settings-user-guide.txt
\ No newline at end of file + FRAMELOCK.txt \ + nvidia-settings-user-guide.txt diff --git a/src/gtk+-2.x/Makefile.inc b/src/gtk+-2.x/Makefile.inc index d9c226e..c649a4c 100644 --- a/src/gtk+-2.x/Makefile.inc +++ b/src/gtk+-2.x/Makefile.inc @@ -46,7 +46,9 @@ SRC += \ ctkdisplaydevice-crt.c \ ctkdisplaydevice-tv.c \ ctkdisplaydevice-dfp.c \ - ctkthermal.c + ctkthermal.c \ + ctkgvo.c \ + ctkdropdownmenu.c EXTRA_DIST += \ @@ -71,4 +73,7 @@ EXTRA_DIST += \ ctkdisplaydevice-tv.h \ ctkdisplaydevice-dfp.h \ ctkconstants.h \ - ctkthermal.h + ctkthermal.h \ + ctkgvo.h \ + ctkdropdownmenu.h + diff --git a/src/gtk+-2.x/ctkdropdownmenu.c b/src/gtk+-2.x/ctkdropdownmenu.c new file mode 100644 index 0000000..db46ef9 --- /dev/null +++ b/src/gtk+-2.x/ctkdropdownmenu.c @@ -0,0 +1,262 @@ +/* + * nvidia-settings: A tool for configuring the NVIDIA X driver on Unix + * and Linux systems. + * + * Copyright (C) 2004 NVIDIA Corporation. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of Version 2 of the GNU General Public + * License as published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See Version 2 + * of the GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the: + * + * Free Software Foundation, Inc. + * 59 Temple Place - Suite 330 + * Boston, MA 02111-1307, USA + * + */ + +#include <gtk/gtk.h> + +#include "ctkdropdownmenu.h" + +enum { + DROP_DOWN_MENU_CHANGED_SIGNAL, + LAST_SIGNAL +}; + +static guint __signals[LAST_SIGNAL] = { 0 }; + + +static void +ctk_drop_down_menu_class_init(CtkDropDownMenuClass *ctk_drop_down_menu_class); + +static void ctk_drop_down_menu_free(GObject *object); + + +GType ctk_drop_down_menu_get_type( + void +) +{ + static GType ctk_drop_down_menu_type = 0; + + if (!ctk_drop_down_menu_type) { + static const GTypeInfo ctk_drop_down_menu_info = { + sizeof (CtkDropDownMenuClass), + NULL, /* base_init */ + NULL, /* base_finalize */ + (GClassInitFunc) ctk_drop_down_menu_class_init, + NULL, /* class_finalize */ + NULL, /* class_data */ + sizeof (CtkDropDownMenu), + 0, /* n_preallocs */ + NULL, /* instance_init */ + }; + + ctk_drop_down_menu_type = g_type_register_static(GTK_TYPE_VBOX, + "CtkDropDownMenu", &ctk_drop_down_menu_info, 0); + } + + return ctk_drop_down_menu_type; +} + + +static void +ctk_drop_down_menu_class_init(CtkDropDownMenuClass *ctk_drop_down_menu_class) +{ + GObjectClass *gobject_class; + + gobject_class = (GObjectClass *) ctk_drop_down_menu_class; + gobject_class->finalize = ctk_drop_down_menu_free; + + __signals[DROP_DOWN_MENU_CHANGED_SIGNAL] = + g_signal_new("changed", + G_TYPE_FROM_CLASS(ctk_drop_down_menu_class), + G_SIGNAL_RUN_FIRST | G_SIGNAL_ACTION, + 0, NULL, NULL, + g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0); + +} + + + +/* + * changed() - emit the "changed" signal + */ + +static void changed(GtkOptionMenu *option_menu, gpointer user_data) +{ + CtkDropDownMenu *d = CTK_DROP_DOWN_MENU(user_data); + + g_signal_emit(G_OBJECT(d), __signals[DROP_DOWN_MENU_CHANGED_SIGNAL], 0); + +} /* changed() */ + + + +/* + * ctk_drop_down_menu_free() - free internal data allocated by the + * CtkDropDownMenu + */ + +static void ctk_drop_down_menu_free(GObject *object) +{ + CtkDropDownMenu *d; + + d = CTK_DROP_DOWN_MENU(object); + + g_free(d->values); + +} /* ctk_drop_down_menu_free() */ + + + +/* + * ctk_drop_down_menu_new() - constructor for the CtkDropDownMenu widget + */ + +GtkWidget* ctk_drop_down_menu_new(guint flags) +{ + GObject *object; + CtkDropDownMenu *d; + + object = g_object_new(CTK_TYPE_DROP_DOWN_MENU, NULL); + + d = CTK_DROP_DOWN_MENU(object); + + d->flags = flags; + d->values = NULL; + d->num_entries = 0; + + d->menu = gtk_menu_new(); + d->option_menu = gtk_option_menu_new(); + + gtk_box_set_spacing(GTK_BOX(d), 0); + gtk_box_pack_start(GTK_BOX(d), d->option_menu, FALSE, FALSE, 0); + + return GTK_WIDGET(d); + +} /* ctk_drop_down_menu_new() */ + + + +/* + * ctk_drop_down_menu_append_item() - add a new entry to the drop down + * menu + */ + +void ctk_drop_down_menu_append_item(CtkDropDownMenu *d, + const gchar *name, + const gint value) +{ + GtkWidget *menu_item, *label, *alignment; + gchar *str; + + menu_item = gtk_menu_item_new(); + gtk_menu_shell_append(GTK_MENU_SHELL(d->menu), menu_item); + + if (d->flags & CTK_DROP_DOWN_MENU_FLAG_MONOSPACE) { + str = g_strconcat("<tt><small>", name, "</small></tt>", NULL); + label = gtk_label_new(NULL); + gtk_label_set_markup(GTK_LABEL(label), str); + g_free(str); + } else { + label = gtk_label_new(name); + } + + alignment = gtk_alignment_new(0, 0, 0, 0); + gtk_container_add(GTK_CONTAINER(alignment), label); + gtk_container_add(GTK_CONTAINER(menu_item), alignment); + + d->values = g_realloc(d->values, + sizeof(CtkDropDownMenuValue) * (d->num_entries + 1)); + d->values[d->num_entries].menu_item = menu_item; + d->values[d->num_entries].value = value; + + d->num_entries++; + +} /* ctk_drop_down_menu_append_item() */ + + + +/* + * ctk_drop_down_menu_finalize() - to be called once all menu entries + * have been added. + */ + +void ctk_drop_down_menu_finalize(CtkDropDownMenu *d) +{ + gtk_option_menu_set_menu(GTK_OPTION_MENU(d->option_menu), d->menu); + + g_signal_connect(G_OBJECT(d->option_menu), "changed", + G_CALLBACK(changed), (gpointer) d); + + gtk_widget_show_all(GTK_WIDGET(d)); + +} /* ctk_drop_down_menu_finalize() */ + + + +/* + * ctk_drop_down_menu_get_current_value() - return the current value + * selected in the drop down menu. + */ + +gint ctk_drop_down_menu_get_current_value(CtkDropDownMenu *d) +{ + gint i; + + i = gtk_option_menu_get_history(GTK_OPTION_MENU(d->option_menu)); + + if (i < d->num_entries) { + return d->values[i].value; + } else { + return 0; /* XXX??? */ + } + +} /* ctk_drop_down_menu_get_current_value() */ + + + +/* + * ctk_drop_down_menu_set_current_value() - set the current value in + * the menu + */ + +void ctk_drop_down_menu_set_current_value(CtkDropDownMenu *d, gint value) +{ + gint i; + + for (i = 0; i < d->num_entries; i++) { + if (d->values[i].value == value) { + gtk_option_menu_set_history(GTK_OPTION_MENU(d->option_menu), i); + return; + } + } +} /* ctk_drop_down_menu_set_current_value() */ + + + +/* + * ctk_drop_down_menu_set_value_sensitive() - set the specified + * value's sensitivity + */ + +void ctk_drop_down_menu_set_value_sensitive(CtkDropDownMenu *d, + gint value, gboolean sensitive) +{ + gint i; + + for (i = 0; i < d->num_entries; i++) { + if (d->values[i].value == value) { + gtk_widget_set_sensitive(d->values[i].menu_item, sensitive); + return; + } + } +} /* ctk_drop_down_menu_set_value_sensitive() */ diff --git a/src/gtk+-2.x/ctkdropdownmenu.h b/src/gtk+-2.x/ctkdropdownmenu.h new file mode 100644 index 0000000..6d3fa19 --- /dev/null +++ b/src/gtk+-2.x/ctkdropdownmenu.h @@ -0,0 +1,101 @@ +/* + * nvidia-settings: A tool for configuring the NVIDIA X driver on Unix + * and Linux systems. + * + * Copyright (C) 2004 NVIDIA Corporation. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of Version 2 of the GNU General Public + * License as published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See Version 2 + * of the GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the: + * + * Free Software Foundation, Inc. + * 59 Temple Place - Suite 330 + * Boston, MA 02111-1307, USA + * + */ + +#ifndef __CTK_DROP_DOWN_MENU_H__ +#define __CTK_DROP_DOWN_MENU_H__ + +#include "NvCtrlAttributes.h" +#include "ctkconfig.h" + +G_BEGIN_DECLS + +#define CTK_TYPE_DROP_DOWN_MENU (ctk_drop_down_menu_get_type()) + +#define CTK_DROP_DOWN_MENU(obj) \ + (G_TYPE_CHECK_INSTANCE_CAST ((obj), CTK_TYPE_DROP_DOWN_MENU, \ + CtkDropDownMenu)) + +#define CTK_DROP_DOWN_MENU_CLASS(klass) \ + (G_TYPE_CHECK_CLASS_CAST ((klass), CTK_TYPE_DROP_DOWN_MENU, \ + CtkDropDownMenuClass)) + +#define CTK_IS_DROP_DOWN_MENU(obj) \ + (G_TYPE_CHECK_INSTANCE_TYPE ((obj), CTK_TYPE_DROP_DOWN_MENU)) + +#define CTK_IS_DROP_DOWN_MENU_CLASS(class) \ + (G_TYPE_CHECK_CLASS_TYPE ((klass), CTK_TYPE_DROP_DOWN_MENU)) + +#define CTK_DROP_DOWN_MENU_GET_CLASS(obj) \ + (G_TYPE_INSTANCE_GET_CLASS ((obj), CTK_TYPE_DROP_DOWN_MENU, \ + CtkDropDownMenuClass)) + + +#define CTK_DROP_DOWN_MENU_FLAG_MONOSPACE 0x1 + + +typedef struct _CtkDropDownMenu CtkDropDownMenu; +typedef struct _CtkDropDownMenuClass CtkDropDownMenuClass; + +typedef struct _CtkDropDownMenuValue CtkDropDownMenuValue; + +struct _CtkDropDownMenuValue { + GtkWidget *menu_item; + gint value; +}; + + +struct _CtkDropDownMenu +{ + GtkVBox parent; + + GtkWidget *menu; + GtkWidget *option_menu; + + guint flags; + + gint num_entries; + CtkDropDownMenuValue *values; +}; + +struct _CtkDropDownMenuClass +{ + GtkVBoxClass parent_class; +}; + +GType ctk_drop_down_menu_get_type (void) G_GNUC_CONST; +GtkWidget* ctk_drop_down_menu_new (guint flags); +void ctk_drop_down_menu_append_item (CtkDropDownMenu *d, + const gchar *name, + const gint value); +void ctk_drop_down_menu_finalize (CtkDropDownMenu *d); +gint ctk_drop_down_menu_get_current_value (CtkDropDownMenu *d); +void ctk_drop_down_menu_set_current_value (CtkDropDownMenu *d, + gint value); +void ctk_drop_down_menu_set_value_sensitive (CtkDropDownMenu *d, + gint value, + gboolean sensitive); + +G_END_DECLS + +#endif /* __CTK_DROP_DOWN_MENU_H__*/ diff --git a/src/gtk+-2.x/ctkevent.c b/src/gtk+-2.x/ctkevent.c index 2503561..f64ecdb 100644 --- a/src/gtk+-2.x/ctkevent.c +++ b/src/gtk+-2.x/ctkevent.c @@ -160,6 +160,27 @@ static void ctk_event_class_init(CtkEventClass *ctk_event_class) MAKE_SIGNAL(NV_CTRL_GPU_DEFAULT_CORE_THRESHOLD); MAKE_SIGNAL(NV_CTRL_GPU_MAX_CORE_THRESHOLD); MAKE_SIGNAL(NV_CTRL_AMBIENT_TEMPERATURE); + MAKE_SIGNAL(NV_CTRL_GVO_SUPPORTED); + MAKE_SIGNAL(NV_CTRL_GVO_SYNC_MODE); + MAKE_SIGNAL(NV_CTRL_GVO_SYNC_SOURCE); + MAKE_SIGNAL(NV_CTRL_GVO_OUTPUT_VIDEO_FORMAT); + MAKE_SIGNAL(NV_CTRL_GVO_INPUT_VIDEO_FORMAT); + MAKE_SIGNAL(NV_CTRL_GVO_DATA_FORMAT); + MAKE_SIGNAL(NV_CTRL_GVO_DISPLAY_X_SCREEN); + MAKE_SIGNAL(NV_CTRL_GVO_COMPOSITE_SYNC_INPUT_DETECTED); + MAKE_SIGNAL(NV_CTRL_GVO_COMPOSITE_SYNC_INPUT_DETECT_MODE); + MAKE_SIGNAL(NV_CTRL_GVO_SDI_SYNC_INPUT_DETECTED); + MAKE_SIGNAL(NV_CTRL_GVO_VIDEO_OUTPUTS); + MAKE_SIGNAL(NV_CTRL_GVO_FIRMWARE_VERSION); + MAKE_SIGNAL(NV_CTRL_GVO_SYNC_DELAY_PIXELS); + MAKE_SIGNAL(NV_CTRL_GVO_SYNC_DELAY_LINES); + MAKE_SIGNAL(NV_CTRL_GVO_INPUT_VIDEO_FORMAT_REACQUIRE); + MAKE_SIGNAL(NV_CTRL_GVO_GLX_LOCKED); + MAKE_SIGNAL(NV_CTRL_GVO_VIDEO_FORMAT_WIDTH); + MAKE_SIGNAL(NV_CTRL_GVO_VIDEO_FORMAT_HEIGHT); + MAKE_SIGNAL(NV_CTRL_GVO_VIDEO_FORMAT_REFRESH_RATE); + MAKE_SIGNAL(NV_CTRL_GVO_X_SCREEN_PAN_X); + MAKE_SIGNAL(NV_CTRL_GVO_X_SCREEN_PAN_Y); #undef MAKE_SIGNAL @@ -170,7 +191,7 @@ static void ctk_event_class_init(CtkEventClass *ctk_event_class) * knows about. */ -#if NV_CTRL_LAST_ATTRIBUTE != NV_CTRL_AMBIENT_TEMPERATURE +#if NV_CTRL_LAST_ATTRIBUTE != NV_CTRL_GVO_X_SCREEN_PAN_Y #warning "There are attributes that do not emit signals!" #endif diff --git a/src/gtk+-2.x/ctkgvo.c b/src/gtk+-2.x/ctkgvo.c new file mode 100644 index 0000000..9276886 --- /dev/null +++ b/src/gtk+-2.x/ctkgvo.c @@ -0,0 +1,1200 @@ +/* + * nvidia-settings: A tool for configuring the NVIDIA X driver on Unix + * and Linux systems. + * + * Copyright (C) 2004 NVIDIA Corporation. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of Version 2 of the GNU General Public + * License as published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See Version 2 + * of the GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the: + * + * Free Software Foundation, Inc. + * 59 Temple Place - Suite 330 + * Boston, MA 02111-1307, USA + * + */ + +#include <gtk/gtk.h> + +#include "NvCtrlAttributes.h" + +#include "ctkhelp.h" +#include "ctkgvo.h" +#include "ctkdropdownmenu.h" + +#include "gvo_banner_left.h" + +#include "gvo_banner_vid1_green.h" +#include "gvo_banner_vid1_grey.h" +#include "gvo_banner_vid1_red.h" +#include "gvo_banner_vid1_yellow.h" + +#include "gvo_banner_vid2_green.h" +#include "gvo_banner_vid2_grey.h" +#include "gvo_banner_vid2_red.h" +#include "gvo_banner_vid2_yellow.h" + +#include "gvo_banner_sdi_sync_green.h" +#include "gvo_banner_sdi_sync_grey.h" +#include "gvo_banner_sdi_sync_red.h" +#include "gvo_banner_sdi_sync_yellow.h" + +#include "gvo_banner_comp_sync_green.h" +#include "gvo_banner_comp_sync_grey.h" +#include "gvo_banner_comp_sync_red.h" +#include "gvo_banner_comp_sync_yellow.h" + +#include "gvo_banner_right.h" + +#include "msg.h" + +/* local prototypes */ + +static void init_gvo_banner(CtkGvo *ctk_gvo); + +static void pack_gvo_banner(CtkGvo *ctk_gvo); + + +static GtkWidget *start_menu(const gchar *name, GtkWidget *table, + const gint row); + +static void finish_menu(GtkWidget *menu, GtkWidget *table, const gint row); + + +static void sync_mode_changed(CtkDropDownMenu *menu, gpointer user_data); + +static void output_video_format_changed(CtkDropDownMenu *menu, + gpointer user_data); + +static void output_data_format_changed(CtkDropDownMenu *menu, + gpointer user_data); + + +static void update_sync_mode_menu(CtkGvo *ctk_gvo, + const gint composite_sync, + const gint sdi_sync, + const gint current); + +static void init_sync_mode_menu(CtkGvo *ctk_gvo); + +static void update_output_video_format_menu(CtkGvo *ctk_gvo, + const gint current); + +static void init_output_video_format_menu(CtkGvo *ctk_gvo); + +static void init_output_data_format_menu(CtkGvo *ctk_gvo); + + +static void create_toggle_sdi_output_button(CtkGvo *ctk_gvo); + +static void toggle_sdi_output_button(GtkWidget *button, gpointer user_data); + +static void sync_format_changed(CtkDropDownMenu *menu, gpointer user_data); + +static void +update_input_video_format_text_entry(CtkGvo *ctk_gvo, + const gint input_video_format); + +static void init_input_video_format_text_entry(CtkGvo *ctk_gvo); + +static void +input_video_format_detect_button_toggled(GtkToggleButton *togglebutton, + CtkGvo *ctk_gvo); + + +GType ctk_gvo_get_type(void) +{ + static GType ctk_gvo_type = 0; + + if (!ctk_gvo_type) { + static const GTypeInfo ctk_gvo_info = { + sizeof (CtkGvoClass), + NULL, /* base_init */ + NULL, /* base_finalize */ + NULL, /* constructor */ + NULL, /* class_finalize */ + NULL, /* class_data */ + sizeof (CtkGvo), + 0, /* n_preallocs */ + NULL, /* instance_init */ + }; + + ctk_gvo_type = + g_type_register_static(GTK_TYPE_VBOX, "CtkGvo", + &ctk_gvo_info, 0); + } + + return ctk_gvo_type; + +} /* ctk_gvo_get_type() */ + + + +/* + * video format table -- should this be moved into NV-CONTROL? + */ + +typedef struct { + int format; + const char *name; +} FormatName; + +static const FormatName videoFormatNames[] = { + { NV_CTRL_GVO_VIDEO_FORMAT_480I_59_94_SMPTE259_NTSC, "480i 59.94 Hz (SMPTE259) NTSC" }, + { NV_CTRL_GVO_VIDEO_FORMAT_576I_50_00_SMPTE259_PAL, "576i 50.00 Hz (SMPTE259) PAL" }, + { NV_CTRL_GVO_VIDEO_FORMAT_720P_59_94_SMPTE296, "720p 59.94 Hz (SMPTE296)" }, + { NV_CTRL_GVO_VIDEO_FORMAT_720P_60_00_SMPTE296, "720p 60.00 Hz (SMPTE296)" }, + { NV_CTRL_GVO_VIDEO_FORMAT_1035I_59_94_SMPTE260, "1035i 59.94 Hz (SMPTE260)" }, + { NV_CTRL_GVO_VIDEO_FORMAT_1035I_60_00_SMPTE260, "1035i 60.00 Hz (SMPTE260)" }, + { NV_CTRL_GVO_VIDEO_FORMAT_1080I_50_00_SMPTE295, "1080i 50.00 Hz (SMPTE295)" }, + { NV_CTRL_GVO_VIDEO_FORMAT_1080I_50_00_SMPTE274, "1080i 50.00 Hz (SMPTE274)" }, + { NV_CTRL_GVO_VIDEO_FORMAT_1080I_59_94_SMPTE274, "1080i 59.94 Hz (SMPTE274)" }, + { NV_CTRL_GVO_VIDEO_FORMAT_1080I_60_00_SMPTE274, "1080i 60.00 Hz (SMPTE274)" }, + { NV_CTRL_GVO_VIDEO_FORMAT_1080P_23_976_SMPTE274, "1080p 23.976 Hz (SMPTE274)" }, + { NV_CTRL_GVO_VIDEO_FORMAT_1080P_24_00_SMPTE274, "1080p 24.00 Hz (SMPTE274)" }, + { NV_CTRL_GVO_VIDEO_FORMAT_1080P_25_00_SMPTE274, "1080p 25.00 Hz (SMPTE274)" }, + { NV_CTRL_GVO_VIDEO_FORMAT_1080P_29_97_SMPTE274, "1080p 29.97 Hz (SMPTE274)" }, + { NV_CTRL_GVO_VIDEO_FORMAT_1080P_30_00_SMPTE274, "1080p 30.00 Hz (SMPTE274)" }, + { -1, NULL }, +}; + + +static const FormatName dataFormatNames[] = { + { NV_CTRL_GVO_DATA_FORMAT_R8G8B8_TO_YCRCB444, "RGB -> YCrCb (4:4:4)" }, + { NV_CTRL_GVO_DATA_FORMAT_R8G8B8_TO_YCRCB422, "RGB -> YCrCb (4:2:2)" }, + { NV_CTRL_GVO_DATA_FORMAT_R8G8B8_TO_RGB444, "RGB (4:4:4)" }, + { -1, NULL }, +}; + + + +#define TABLE_PADDING 5 + + +#define SYNC_FORMAT_SDI 0 +#define SYNC_FORMAT_COMP_AUTO 1 +#define SYNC_FORMAT_COMP_BI_LEVEL 2 +#define SYNC_FORMAT_COMP_TRI_LEVEL 3 + + +/* + * ctk_gvo_new() - constructor for the CtkGvo widget + */ + +GtkWidget* ctk_gvo_new(NvCtrlAttributeHandle *handle, + CtkConfig *ctk_config) +{ + GObject *object; + CtkGvo *ctk_gvo; + GtkWidget *hbox, *alignment, *button; + ReturnStatus ret; + int val, i, screen_width, screen_height, width, height, n; + + GtkWidget *frame, *table, *menu; + + /* make sure we have a handle */ + + g_return_val_if_fail(handle != NULL, NULL); + + /* check if this screen supports GVO */ + + ret = NvCtrlGetAttribute(handle, NV_CTRL_GVO_SUPPORTED, &val); + if ((ret != NvCtrlSuccess) || (val != NV_CTRL_GVO_SUPPORTED_TRUE)) { + /* GVO not available */ + return NULL; + } + + /* create the CtkGvo object */ + + object = g_object_new(CTK_TYPE_GVO, NULL); + + /* initialize fields in the CtkGvo object */ + + ctk_gvo = CTK_GVO(object); + ctk_gvo->handle = handle; + ctk_gvo->ctk_config = ctk_config; + + /* set container properties for the CtkGvo widget */ + + gtk_box_set_spacing(GTK_BOX(ctk_gvo), 10); + + /* banner */ + + hbox = gtk_hbox_new(FALSE, 0); + gtk_box_pack_start(GTK_BOX(object), hbox, FALSE, FALSE, 0); + + frame = gtk_frame_new(NULL); + gtk_box_pack_start(GTK_BOX(hbox), frame, FALSE, FALSE, 0); + + gtk_frame_set_shadow_type(GTK_FRAME(frame), GTK_SHADOW_IN); + + ctk_gvo->banner_table = gtk_table_new(1, 6, FALSE); + gtk_table_set_row_spacings(GTK_TABLE(ctk_gvo->banner_table), 0); + gtk_table_set_col_spacings(GTK_TABLE(ctk_gvo->banner_table), 0); + + gtk_container_add(GTK_CONTAINER(frame), ctk_gvo->banner_table); + + init_gvo_banner(ctk_gvo); + pack_gvo_banner(ctk_gvo); + + + /* + * Output options + */ + + frame = gtk_frame_new("Output Options"); + + gtk_box_pack_start(GTK_BOX(object), frame, FALSE, FALSE, 0); + + table = gtk_table_new(3, 2, FALSE); + gtk_table_set_row_spacings(GTK_TABLE(table), 0); + gtk_table_set_col_spacings(GTK_TABLE(table), 0); + + gtk_container_add(GTK_CONTAINER(frame), table); + + /* Sync Mode */ + + menu = start_menu("Sync Mode: ", table, 0); + + ctk_drop_down_menu_append_item(CTK_DROP_DOWN_MENU(menu), "Free Running", + NV_CTRL_GVO_SYNC_MODE_FREE_RUNNING); + + ctk_drop_down_menu_append_item(CTK_DROP_DOWN_MENU(menu), "GenLock", + NV_CTRL_GVO_SYNC_MODE_GENLOCK); + + ctk_drop_down_menu_append_item(CTK_DROP_DOWN_MENU(menu), "FrameLock", + NV_CTRL_GVO_SYNC_MODE_FRAMELOCK); + + finish_menu(menu, table, 0); + + ctk_gvo->sync_mode_menu = menu; + + init_sync_mode_menu(ctk_gvo); + + g_signal_connect(G_OBJECT(ctk_gvo->sync_mode_menu), "changed", + G_CALLBACK(sync_mode_changed), (gpointer) ctk_gvo); + + + /* Output Video Format */ + + menu = start_menu("Output Video Format: ", table, 1); + + screen_width = NvCtrlGetScreenWidth(handle); + screen_height = NvCtrlGetScreenHeight(handle); + + n = 0; + + for (i = 0; videoFormatNames[i].name; i++) { + + /* query the width/height needed for the video format */ + + NvCtrlGetDisplayAttribute(handle, + videoFormatNames[i].format, + NV_CTRL_GVO_VIDEO_FORMAT_WIDTH, + &width); + + NvCtrlGetDisplayAttribute(handle, + videoFormatNames[i].format, + NV_CTRL_GVO_VIDEO_FORMAT_HEIGHT, + &height); + + if ((width > screen_width) || + (height > screen_height)) { + + nv_warning_msg("Not exposing GVO video format '%s' (this video " + "format requires a resolution of atleast %d x %d, " + "but the current X screen is %d x %d)", + videoFormatNames[i].name, + width, height, screen_width, screen_height); + continue; + } + + ctk_drop_down_menu_append_item(CTK_DROP_DOWN_MENU(menu), + videoFormatNames[i].name, + videoFormatNames[i].format); + n++; + } + + finish_menu(menu, table, 1); + + if (!n) { + nv_warning_msg("No GVO video formats will fit the current X screen of " + "%d x %d; please create an X screen of atleast " + "720 x 487; not exposing GVO page.\n", + screen_width, screen_height); + return NULL; + } + + + ctk_gvo->output_video_format_menu = menu; + + init_output_video_format_menu(ctk_gvo); + + g_signal_connect(G_OBJECT(ctk_gvo->output_video_format_menu), + "changed", G_CALLBACK(output_video_format_changed), + (gpointer) ctk_gvo); + + + /* Output Data Format */ + + menu = start_menu("Output Data Format: ", table, 2); + + for (i = 0; dataFormatNames[i].name; i++) { + ctk_drop_down_menu_append_item(CTK_DROP_DOWN_MENU(menu), + dataFormatNames[i].name, + dataFormatNames[i].format); + } + + finish_menu(menu, table, 2); + + ctk_gvo->output_data_format_menu = menu; + + g_signal_connect(G_OBJECT(ctk_gvo->output_data_format_menu), + "changed", G_CALLBACK(output_data_format_changed), + (gpointer) ctk_gvo); + + init_output_data_format_menu(ctk_gvo); + + + /* + * Sync options + */ + + frame = gtk_frame_new("Sync Options"); + + gtk_box_pack_start(GTK_BOX(object), frame, FALSE, FALSE, 0); + + hbox = gtk_hbox_new(FALSE, 0); + gtk_container_add(GTK_CONTAINER(frame), hbox); + + /* menu */ + + menu = ctk_drop_down_menu_new(0); + + ctk_drop_down_menu_append_item(CTK_DROP_DOWN_MENU(menu), "SDI Sync", + SYNC_FORMAT_SDI); + + ctk_drop_down_menu_append_item(CTK_DROP_DOWN_MENU(menu), "COMP Sync", + SYNC_FORMAT_COMP_AUTO); + + ctk_drop_down_menu_append_item(CTK_DROP_DOWN_MENU(menu), + "COMP Sync (Bi-level)", + SYNC_FORMAT_COMP_BI_LEVEL); + + ctk_drop_down_menu_append_item(CTK_DROP_DOWN_MENU(menu), + "COMP Sync (Tri-level)", + SYNC_FORMAT_COMP_TRI_LEVEL); + + ctk_drop_down_menu_finalize(CTK_DROP_DOWN_MENU(menu)); + + gtk_box_pack_start(GTK_BOX(hbox), menu, FALSE, FALSE, TABLE_PADDING); + + ctk_gvo->sync_format_menu = menu; + + /* input type */ + + ctk_gvo->input_video_format_text_entry = gtk_entry_new(); + gtk_box_pack_start(GTK_BOX(hbox), ctk_gvo->input_video_format_text_entry, + TRUE, TRUE, TABLE_PADDING); + gtk_widget_set_sensitive(ctk_gvo->input_video_format_text_entry, FALSE); + + /* XXX maybe set the text entry to the maximum format name length */ + + init_input_video_format_text_entry(ctk_gvo); + + g_signal_connect(G_OBJECT(ctk_gvo->sync_format_menu), + "changed", G_CALLBACK(sync_format_changed), + (gpointer) ctk_gvo); + + /* detect button */ + + button = gtk_toggle_button_new_with_label("Detect"); + + gtk_box_pack_start(GTK_BOX(hbox), button, FALSE, FALSE, TABLE_PADDING); + + ctk_gvo->input_video_format_detect_button = button; + + g_signal_connect(G_OBJECT(button), "toggled", + G_CALLBACK(input_video_format_detect_button_toggled), + ctk_gvo); + + + /* "Enable SDI Output" button */ + + create_toggle_sdi_output_button(ctk_gvo); + + alignment = gtk_alignment_new(1, 1, 0, 0); + gtk_container_add(GTK_CONTAINER(alignment), + ctk_gvo->toggle_sdi_output_button); + + gtk_box_pack_start(GTK_BOX(object), alignment, TRUE, TRUE, 0); + + /* show the GVO widget */ + + gtk_widget_show_all(GTK_WIDGET(ctk_gvo)); + + return GTK_WIDGET(ctk_gvo); + +} /* ctk_gvo_new() */ + + + +/**************************************************************************/ + + +#define GVO_BANNER_LEFT 0 +#define GVO_BANNER_VID1_GREEN 1 +#define GVO_BANNER_VID1_GREY 2 +#define GVO_BANNER_VID1_RED 3 +#define GVO_BANNER_VID1_YELLOW 4 +#define GVO_BANNER_VID2_GREEN 5 +#define GVO_BANNER_VID2_GREY 6 +#define GVO_BANNER_VID2_RED 7 +#define GVO_BANNER_VID2_YELLOW 8 +#define GVO_BANNER_SDI_SYNC_GREEN 9 +#define GVO_BANNER_SDI_SYNC_GREY 10 +#define GVO_BANNER_SDI_SYNC_RED 11 +#define GVO_BANNER_SDI_SYNC_YELLOW 12 +#define GVO_BANNER_COMP_SYNC_GREEN 13 +#define GVO_BANNER_COMP_SYNC_GREY 14 +#define GVO_BANNER_COMP_SYNC_RED 15 +#define GVO_BANNER_COMP_SYNC_YELLOW 16 +#define GVO_BANNER_RIGHT 17 + +#define GVO_BANNER_COUNT 18 + + +static GtkWidget *__gvo_banner_widget[GVO_BANNER_COUNT]; + +static const nv_image_t *__gvo_banner_imgs[GVO_BANNER_COUNT] = { + &gvo_banner_left_image, + &gvo_banner_vid1_green_image, + &gvo_banner_vid1_grey_image, + &gvo_banner_vid1_red_image, + &gvo_banner_vid1_yellow_image, + &gvo_banner_vid2_green_image, + &gvo_banner_vid2_grey_image, + &gvo_banner_vid2_red_image, + &gvo_banner_vid2_yellow_image, + &gvo_banner_sdi_sync_green_image, + &gvo_banner_sdi_sync_grey_image, + &gvo_banner_sdi_sync_red_image, + &gvo_banner_sdi_sync_yellow_image, + &gvo_banner_comp_sync_green_image, + &gvo_banner_comp_sync_grey_image, + &gvo_banner_comp_sync_red_image, + &gvo_banner_comp_sync_yellow_image, + &gvo_banner_right_image, +}; + +static void init_gvo_banner(CtkGvo *ctk_gvo) +{ + int i; + const nv_image_t *img; + guint8 *image_buffer = NULL; + + for (i = 0; i < GVO_BANNER_COUNT; i++) { + img = __gvo_banner_imgs[i]; + + image_buffer = decompress_image_data(img); + + __gvo_banner_widget[i] = gtk_image_new_from_pixbuf + (gdk_pixbuf_new_from_data(image_buffer, GDK_COLORSPACE_RGB, + FALSE, 8, img->width, img->height, + img->width * img->bytes_per_pixel, + free_decompressed_image, NULL)); + } +} + +static void pack_gvo_banner_slot(CtkGvo *ctk_gvo, int n, + int banner_image_index) +{ + GtkWidget *image = __gvo_banner_widget[banner_image_index]; + + gtk_table_attach(GTK_TABLE(ctk_gvo->banner_table), + image, n, n+1, 0, 1, GTK_FILL, GTK_FILL, 0, 0); +} + + +static void pack_gvo_banner(CtkGvo *ctk_gvo) +{ + pack_gvo_banner_slot(ctk_gvo, 0, GVO_BANNER_LEFT); + pack_gvo_banner_slot(ctk_gvo, 1, GVO_BANNER_VID1_RED); + pack_gvo_banner_slot(ctk_gvo, 2, GVO_BANNER_VID2_GREY); + pack_gvo_banner_slot(ctk_gvo, 3, GVO_BANNER_SDI_SYNC_GREEN); + pack_gvo_banner_slot(ctk_gvo, 4, GVO_BANNER_COMP_SYNC_YELLOW); + pack_gvo_banner_slot(ctk_gvo, 5, GVO_BANNER_RIGHT); +} + + + +/**************************************************************************/ + + + +static GtkWidget *start_menu(const gchar *name, GtkWidget *table, + const gint row) +{ + GtkWidget *menu, *label, *alignment; + + label = gtk_label_new(name); + alignment = gtk_alignment_new(0, 0, 0, 0); + gtk_container_add(GTK_CONTAINER(alignment), label); + + gtk_table_attach(GTK_TABLE(table), + alignment, 0, 1, row, row+1, GTK_FILL, GTK_FILL, + TABLE_PADDING, TABLE_PADDING); + + menu = ctk_drop_down_menu_new(CTK_DROP_DOWN_MENU_FLAG_MONOSPACE); + + return menu; +} + + +static void finish_menu(GtkWidget *menu, GtkWidget *table, const gint row) +{ + ctk_drop_down_menu_finalize(CTK_DROP_DOWN_MENU(menu)); + + gtk_table_attach(GTK_TABLE(table), menu, 1, 2, row, row+1, + GTK_FILL | GTK_EXPAND, GTK_FILL, + TABLE_PADDING, TABLE_PADDING); +} + + +/**************************************************************************/ + + + +static void sync_mode_changed(CtkDropDownMenu *menu, gpointer user_data) +{ + CtkGvo *ctk_gvo = CTK_GVO(user_data); + gint value; + + value = ctk_drop_down_menu_get_current_value(menu); + + /* XXX confirm that the value is valid */ + + //printf("%s(): %d\n", __FUNCTION__, value); + + + NvCtrlSetAttribute(ctk_gvo->handle, NV_CTRL_GVO_SYNC_MODE, value); + + /* XXX statusbar */ + + /* XXX update the output video format menu */ +} + +static void output_video_format_changed(CtkDropDownMenu *menu, + gpointer user_data) +{ + CtkGvo *ctk_gvo = CTK_GVO(user_data); + gint value; + + value = ctk_drop_down_menu_get_current_value(menu); + + /* XXX confirm that the value is valid */ + + //printf("%s(): %d\n", __FUNCTION__, value); + + NvCtrlSetAttribute(ctk_gvo->handle, + NV_CTRL_GVO_OUTPUT_VIDEO_FORMAT, value); + + /* XXX statusbar */ +} + +static void output_data_format_changed(CtkDropDownMenu *menu, + gpointer user_data) +{ + CtkGvo *ctk_gvo = CTK_GVO(user_data); + gint value; + + value = ctk_drop_down_menu_get_current_value(menu); + + /* XXX confirm that the value is valid */ + + //printf("%s(): %d\n", __FUNCTION__, value); + + + NvCtrlSetAttribute(ctk_gvo->handle, NV_CTRL_GVO_DATA_FORMAT, value); + + /* XXX statusbar */ +} + + + + +/**************************************************************************/ + + + +static gboolean update_status(gpointer user_data) +{ + //CtkGvo *ctk_gvo = CTK_GVO(user_data); + + + return TRUE; +} + + + +/* + * update_sync_mode_menu() - given the COMPOSITE_SYNC and SDI_SYNC + * values, set the sensitivity of each entry in sync_mode_menu. + */ + +static void update_sync_mode_menu(CtkGvo *ctk_gvo, + const gint composite_sync, + const gint sdi_sync, + const gint current) +{ + gboolean sensitive; + + if ((composite_sync == NV_CTRL_GVO_COMPOSITE_SYNC_INPUT_DETECTED_FALSE) && + (sdi_sync == NV_CTRL_GVO_SDI_SYNC_INPUT_DETECTED_NONE)) { + + /* no external sync detected; do not expose GenLock or FrameLock */ + sensitive = FALSE; + + } else { + + /* external sync detected; expose GenLock amd FrameLock */ + sensitive = TRUE; + } + + /* set the sensitivity for GenLock and FrameLock */ + + ctk_drop_down_menu_set_value_sensitive + (CTK_DROP_DOWN_MENU(ctk_gvo->sync_mode_menu), + NV_CTRL_GVO_SYNC_MODE_GENLOCK, sensitive); + + ctk_drop_down_menu_set_value_sensitive + (CTK_DROP_DOWN_MENU(ctk_gvo->sync_mode_menu), + NV_CTRL_GVO_SYNC_MODE_FRAMELOCK, sensitive); + + /* + * if the current SYNC_MODE is not FREE_RUNNING, but other modes + * are not available, then we need to change the current setting + * to FREE_RUNNING + */ + + if ((current != NV_CTRL_GVO_SYNC_MODE_FREE_RUNNING) && !sensitive) { + + NvCtrlSetAttribute(ctk_gvo->handle, NV_CTRL_GVO_SYNC_MODE, + NV_CTRL_GVO_SYNC_MODE_FREE_RUNNING); + + ctk_drop_down_menu_set_current_value + (CTK_DROP_DOWN_MENU(ctk_gvo->sync_mode_menu), + NV_CTRL_GVO_SYNC_MODE_FREE_RUNNING); + } + +} /* update_sync_mode_menu() */ + + + +/* + * init_sync_mode_menu() - initialize the sync mode menu: set the + * currently active menu selection and set the sensitivity of the + * menu entries. + */ + +static void init_sync_mode_menu(CtkGvo *ctk_gvo) +{ + ReturnStatus ret; + gint val, comp, sdi; + + /* get the current mode */ + + ret = NvCtrlGetAttribute(ctk_gvo->handle, NV_CTRL_GVO_SYNC_MODE, &val); + if (ret != NvCtrlSuccess) { + val = NV_CTRL_GVO_SYNC_MODE_FREE_RUNNING; + } + + /* set the current mode in the menu */ + + ctk_drop_down_menu_set_current_value + (CTK_DROP_DOWN_MENU(ctk_gvo->sync_mode_menu), val); + + /* query COMPOSITE_SYNC_INPUT_DETECTED */ + + ret = NvCtrlGetAttribute(ctk_gvo->handle, + NV_CTRL_GVO_COMPOSITE_SYNC_INPUT_DETECTED, &comp); + if (ret != NvCtrlSuccess) { + comp = NV_CTRL_GVO_COMPOSITE_SYNC_INPUT_DETECTED_FALSE; + } + + /* query SDI_SYNC_INPUT_DETECTED */ + + ret = NvCtrlGetAttribute(ctk_gvo->handle, + NV_CTRL_GVO_SDI_SYNC_INPUT_DETECTED, &sdi); + if (ret != NvCtrlSuccess) { + sdi = NV_CTRL_GVO_SDI_SYNC_INPUT_DETECTED; + } + + /* update the menu */ + + update_sync_mode_menu(ctk_gvo, comp, sdi, val); + +} /* init_sync_mode_menu() */ + + + +/* + * update_output_video_format_menu() - given the current + * OUTPUT_VIDEO_FORMAT, set the sensitivity of each menu entry and + * possibly update which entry is current. + */ + +static void update_output_video_format_menu(CtkGvo *ctk_gvo, + const gint current) +{ + ReturnStatus ret; + NVCTRLAttributeValidValuesRec valid; + gint bitmask, i; + gboolean sensitive, current_not_available = FALSE; + + /* retrieve the currently available values */ + + ret = NvCtrlGetValidAttributeValues(ctk_gvo->handle, + NV_CTRL_GVO_OUTPUT_VIDEO_FORMAT, + &valid); + + /* if we failed to get the available values; assume none are valid */ + + if ((ret != NvCtrlSuccess) || (valid.type != ATTRIBUTE_TYPE_INT_BITS)) { + bitmask = 0; + } else { + bitmask = valid.u.bits.ints; + } + + /* + * loop over each video format; if that format is set in the + * bitmask, then it is available + */ + + for (i = 0; videoFormatNames[i].name; i++) { + if ((1 << videoFormatNames[i].format) & bitmask) { + sensitive = TRUE; + } else { + sensitive = FALSE; + } + + ctk_drop_down_menu_set_value_sensitive + (CTK_DROP_DOWN_MENU(ctk_gvo->output_video_format_menu), + videoFormatNames[i].format, sensitive); + + /* if the current video is not sensitive, take note */ + + if ((current == videoFormatNames[i].format) && !sensitive) { + current_not_available = TRUE; + } + } + + /* + * if the current video is not available, then make the first + * available format current + */ + + if (current_not_available && bitmask) { + for (i = 0; videoFormatNames[i].name; i++) { + if ((1 << videoFormatNames[i].format) & bitmask) { + + NvCtrlSetAttribute(ctk_gvo->handle, + NV_CTRL_GVO_OUTPUT_VIDEO_FORMAT, + videoFormatNames[i].format); + + ctk_drop_down_menu_set_current_value + (CTK_DROP_DOWN_MENU(ctk_gvo->output_video_format_menu), + videoFormatNames[i].format); + + break; + } + } + } +} /* update_output_video_format_menu() */ + + + +/* + * init_output_video_format_menu() - initialize the output video + * format menu: set the currently active menu entry and update the + * sensitivity of all entries. + */ + +static void init_output_video_format_menu(CtkGvo *ctk_gvo) +{ + gint val; + ReturnStatus ret; + + ret = NvCtrlGetAttribute(ctk_gvo->handle, + NV_CTRL_GVO_OUTPUT_VIDEO_FORMAT, &val); + if (ret != NvCtrlSuccess) { + val = NV_CTRL_GVO_VIDEO_FORMAT_480I_59_94_SMPTE259_NTSC; + } + + ctk_drop_down_menu_set_current_value + (CTK_DROP_DOWN_MENU(ctk_gvo->output_video_format_menu), val); + + update_output_video_format_menu(ctk_gvo, val); + +} /* init_output_video_format_menu() */ + + + +/* + * init_output_data_format_menu() - initialize the output data format + * menu: make sure the current value is available in the list that we + * expose, and set the currently active menu entry. + */ + +static void init_output_data_format_menu(CtkGvo *ctk_gvo) +{ + gint current, i; + ReturnStatus ret; + gboolean found; + + ret = NvCtrlGetAttribute(ctk_gvo->handle, NV_CTRL_GVO_DATA_FORMAT, + ¤t); + + if (ret != NvCtrlSuccess) { + current = NV_CTRL_GVO_DATA_FORMAT_R8G8B8_TO_YCRCB444; + } + + /* + * is this value in the list that we expose? if not, then pick the + * first value that is in the list + */ + + for (i = 0, found = FALSE; dataFormatNames[i].name; i++) { + if (current == dataFormatNames[i].format) { + found = TRUE; + break; + } + } + + if (!found) { + current = dataFormatNames[0].format; + + /* make this value current */ + + NvCtrlSetAttribute(ctk_gvo->handle, + NV_CTRL_GVO_DATA_FORMAT, current); + } + + /* update the menu */ + + ctk_drop_down_menu_set_current_value + (CTK_DROP_DOWN_MENU(ctk_gvo->output_data_format_menu), current); + +} /* init_output_data_format_menu() */ + + + + +/**************************************************************************/ + + + +/* + * create_toggle_sdi_output_button() - + */ + +static void create_toggle_sdi_output_button(CtkGvo *ctk_gvo) +{ + GtkWidget *label; + GtkWidget *hbox, *hbox2; + GdkPixbuf *pixbuf; + GtkWidget *image = NULL; + GtkWidget *button; + + button = gtk_toggle_button_new(); + + /* create the Enable SDI Output icon */ + + pixbuf = gtk_widget_render_icon(button, + GTK_STOCK_EXECUTE, + GTK_ICON_SIZE_BUTTON, + "Enable SDI Output"); + if (pixbuf) image = gtk_image_new_from_pixbuf(pixbuf); + label = gtk_label_new("Enable SDI Output"); + + hbox = gtk_hbox_new(FALSE, 2); + + if (image) gtk_box_pack_start(GTK_BOX(hbox), image, FALSE, FALSE, 2); + gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0); + + hbox2 = gtk_hbox_new(FALSE, 0); + gtk_box_pack_start(GTK_BOX(hbox2), hbox, FALSE, FALSE, 15); + + gtk_widget_show_all(hbox2); + + /* + * XXX increment the reference count, so that when we do + * gtk_container_remove() later, it doesn't get destroyed + */ + + gtk_object_ref(GTK_OBJECT(hbox2)); + + ctk_gvo->enable_sdi_output_label = hbox2; + + + /* create the Disable SDI Output icon */ + + pixbuf = gtk_widget_render_icon(button, + GTK_STOCK_STOP, + GTK_ICON_SIZE_BUTTON, + "Disable SDI Output"); + if (pixbuf) image = gtk_image_new_from_pixbuf(pixbuf); + label = gtk_label_new("Disable SDI Output"); + + hbox = gtk_hbox_new(FALSE, 2); + + if (image) gtk_box_pack_start(GTK_BOX(hbox), image, FALSE, FALSE, 2); + gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0); + + hbox2 = gtk_hbox_new(FALSE, 0); + gtk_box_pack_start(GTK_BOX(hbox2), hbox, FALSE, FALSE, 15); + + gtk_widget_show_all(hbox2); + + /* + * XXX increment the reference count, so that when we do + * gtk_container_remove() later, it doesn't get destroyed + */ + + gtk_object_ref(GTK_OBJECT(hbox2)); + + ctk_gvo->disable_sdi_output_label = hbox2; + + /* start with SDI Output disabled */ + + gtk_container_add(GTK_CONTAINER(button), ctk_gvo->enable_sdi_output_label); + + + ctk_gvo->toggle_sdi_output_button = button; + + g_signal_connect(G_OBJECT(button), "toggled", + G_CALLBACK(toggle_sdi_output_button), + GTK_OBJECT(ctk_gvo)); + +} /* create_toggle_sdi_output_button() */ + + + +/* + * toggle_sdi_output_button() - + */ + +static void toggle_sdi_output_button(GtkWidget *button, gpointer user_data) +{ + CtkGvo *ctk_gvo = CTK_GVO(user_data); + gboolean enabled; + ReturnStatus ret; + gint val, val2; + + enabled = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(button)); + + if (enabled) val = NV_CTRL_GVO_DISPLAY_X_SCREEN_ENABLE; + else val = NV_CTRL_GVO_DISPLAY_X_SCREEN_DISABLE; + + NvCtrlSetAttribute(ctk_gvo->handle, NV_CTRL_GVO_DISPLAY_X_SCREEN, val); + + /* + * XXX NV_CTRL_GVO_DISPLAY_X_SCREEN can silently fail if GLX + * locked GVO output for use by pbuffer(s). Check that the + * setting actually stuck. + */ + + ret = NvCtrlGetAttribute(ctk_gvo->handle, + NV_CTRL_GVO_DISPLAY_X_SCREEN, &val2); + + if ((ret != NvCtrlSuccess) || (val != val2)) { + + /* + * setting did not apply; restore the button to its previous + * state + */ + + g_signal_handlers_block_matched + (G_OBJECT(button), G_SIGNAL_MATCH_FUNC, 0, 0, NULL, + G_CALLBACK(toggle_sdi_output_button), NULL); + + gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(button), !enabled); + + g_signal_handlers_unblock_matched + (G_OBJECT(button), G_SIGNAL_MATCH_FUNC, 0, 0, NULL, + G_CALLBACK(toggle_sdi_output_button), NULL); + + // XXX update the status bar; maybe pop up a dialog box? + + return; + } + + if (enabled) { + gtk_container_remove(GTK_CONTAINER(ctk_gvo->toggle_sdi_output_button), + ctk_gvo->enable_sdi_output_label); + + gtk_container_add(GTK_CONTAINER(ctk_gvo->toggle_sdi_output_button), + ctk_gvo->disable_sdi_output_label); + } else { + gtk_container_remove(GTK_CONTAINER(ctk_gvo->toggle_sdi_output_button), + ctk_gvo->disable_sdi_output_label); + + gtk_container_add(GTK_CONTAINER(ctk_gvo->toggle_sdi_output_button), + ctk_gvo->enable_sdi_output_label); + } + + gtk_widget_set_sensitive(ctk_gvo->sync_mode_menu, !enabled); + gtk_widget_set_sensitive(ctk_gvo->output_video_format_menu, !enabled); + gtk_widget_set_sensitive(ctk_gvo->output_data_format_menu, !enabled); + + + // XXX set sensitivity + + // status bar + +} /* toggle_sdi_output_button() */ + + + +/* + * sync_format_changed() - + */ + +static void sync_format_changed(CtkDropDownMenu *menu, gpointer user_data) +{ + CtkGvo *ctk_gvo = CTK_GVO(user_data); + gint value, sync_source, mode; + + value = ctk_drop_down_menu_get_current_value(menu); + + switch (value) { + case SYNC_FORMAT_SDI: + sync_source = NV_CTRL_GVO_SYNC_SOURCE_SDI; + mode = NV_CTRL_GVO_COMPOSITE_SYNC_INPUT_DETECT_MODE_AUTO; + break; + case SYNC_FORMAT_COMP_AUTO: + sync_source = NV_CTRL_GVO_SYNC_SOURCE_COMPOSITE; + mode = NV_CTRL_GVO_COMPOSITE_SYNC_INPUT_DETECT_MODE_AUTO; + break; + case SYNC_FORMAT_COMP_BI_LEVEL: + sync_source = NV_CTRL_GVO_SYNC_SOURCE_COMPOSITE; + mode = NV_CTRL_GVO_COMPOSITE_SYNC_INPUT_DETECT_MODE_BI_LEVEL; + break; + case SYNC_FORMAT_COMP_TRI_LEVEL: + sync_source = NV_CTRL_GVO_SYNC_SOURCE_COMPOSITE; + mode = NV_CTRL_GVO_COMPOSITE_SYNC_INPUT_DETECT_MODE_TRI_LEVEL; + break; + default: + return; + } + + NvCtrlSetAttribute(ctk_gvo->handle, NV_CTRL_GVO_SYNC_SOURCE, sync_source); + NvCtrlSetAttribute(ctk_gvo->handle, + NV_CTRL_GVO_COMPOSITE_SYNC_INPUT_DETECT_MODE, mode); + +} /* sync_format_changed() */ + + + +/* + * update_input_video_format_text_entry() - + */ + +static void update_input_video_format_text_entry(CtkGvo *ctk_gvo, + const gint input_video_format) +{ + gint i; + const gchar *str = "No Signal Detected"; + + for (i = 0; videoFormatNames[i].name; i++) { + if (videoFormatNames[i].format == input_video_format) { + str = videoFormatNames[i].name; + } + } + + gtk_entry_set_text(GTK_ENTRY(ctk_gvo->input_video_format_text_entry), str); + +} /* update_input_video_format_text_entry() */ + + + +/* + * init_input_video_format_text_entry() - + */ + +static void init_input_video_format_text_entry(CtkGvo *ctk_gvo) +{ + ReturnStatus ret; + gint val; + + ret = NvCtrlGetAttribute(ctk_gvo->handle, + NV_CTRL_GVO_INPUT_VIDEO_FORMAT, &val); + if (ret != NvCtrlSuccess) { + val = NV_CTRL_GVO_VIDEO_FORMAT_NONE; + } + + update_input_video_format_text_entry(ctk_gvo, val); + +} /* init_input_video_format_text_entry() */ + + + +/* + * input_video_format_detect_button_toggled() - + */ + +static void +input_video_format_detect_button_toggled(GtkToggleButton *togglebutton, + CtkGvo *ctk_gvo) +{ + if (gtk_toggle_button_get_active(togglebutton)) { + + /* XXX need to make the other widgets insensitive */ + + NvCtrlSetAttribute(ctk_gvo->handle, + NV_CTRL_GVO_INPUT_VIDEO_FORMAT_REACQUIRE, + NV_CTRL_GVO_INPUT_VIDEO_FORMAT_REACQUIRE_TRUE); + + /* + * need to register a timer to automatically turn this off for + * 2 seconds + */ + + } else { + + /* XXX need to make the other widgets sensitive */ + + NvCtrlSetAttribute(ctk_gvo->handle, + NV_CTRL_GVO_INPUT_VIDEO_FORMAT_REACQUIRE, + NV_CTRL_GVO_INPUT_VIDEO_FORMAT_REACQUIRE_FALSE); + } +} /* input_video_format_detect_button_toggled() */ + + +/**************************************************************************/ + + + +GtkTextBuffer* ctk_gvo_create_help (GtkTextTagTable *table) +{ + GtkTextIter i; + GtkTextBuffer *b; + + b = gtk_text_buffer_new(table); + + gtk_text_buffer_get_iter_at_offset(b, &i, 0); + + ctk_help_title(b, &i, "GVO (Graphics to Video Out)"); + + ctk_help_finish(b); + + return b; +} diff --git a/src/gtk+-2.x/ctkgvo.h b/src/gtk+-2.x/ctkgvo.h new file mode 100644 index 0000000..8079b75 --- /dev/null +++ b/src/gtk+-2.x/ctkgvo.h @@ -0,0 +1,89 @@ +/* + * nvidia-settings: A tool for configuring the NVIDIA X driver on Unix + * and Linux systems. + * + * Copyright (C) 2004 NVIDIA Corporation. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of Version 2 of the GNU General Public + * License as published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See Version 2 + * of the GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the: + * + * Free Software Foundation, Inc. + * 59 Temple Place - Suite 330 + * Boston, MA 02111-1307, USA + * + */ + +#ifndef __CTK_GVO_H__ +#define __CTK_GVO_H__ + +#include "NvCtrlAttributes.h" +#include "ctkconfig.h" + +G_BEGIN_DECLS + +#define CTK_TYPE_GVO (ctk_gvo_get_type()) + +#define CTK_GVO(obj) \ + (G_TYPE_CHECK_INSTANCE_CAST ((obj), CTK_TYPE_GVO, CtkGvo)) + +#define CTK_GVO_CLASS(klass) \ + (G_TYPE_CHECK_CLASS_CAST ((klass), CTK_TYPE_GVO, CtkGvoClass)) + +#define CTK_IS_GVO(obj) \ + (G_TYPE_CHECK_INSTANCE_TYPE ((obj), CTK_TYPE_GVO)) + +#define CTK_IS_GVO_CLASS(class) \ + (G_TYPE_CHECK_CLASS_TYPE ((klass), CTK_TYPE_GVO)) + +#define CTK_GVO_GET_CLASS(obj) \ + (G_TYPE_INSTANCE_GET_CLASS ((obj), CTK_TYPE_GVO, CtkGvoClass)) + + +typedef struct _CtkGvo CtkGvo; +typedef struct _CtkGvoClass CtkGvoClass; + + +struct _CtkGvo +{ + GtkVBox parent; + + NvCtrlAttributeHandle *handle; + CtkConfig *ctk_config; + GtkWidget *banner_table; + + GtkWidget *sync_mode_menu; + GtkWidget *output_video_format_menu; + GtkWidget *output_data_format_menu; + + GtkWidget *enable_sdi_output_label; + GtkWidget *disable_sdi_output_label; + GtkWidget *toggle_sdi_output_button; + + GtkWidget *sync_format_menu; + GtkWidget *input_video_format_text_entry; + GtkWidget *input_video_format_detect_button; + + gint input_video_format_detect_timer; +}; + +struct _CtkGvoClass +{ + GtkVBoxClass parent_class; +}; + +GType ctk_gvo_get_type (void) G_GNUC_CONST; +GtkWidget* ctk_gvo_new (NvCtrlAttributeHandle *, CtkConfig *); +GtkTextBuffer* ctk_gvo_create_help (GtkTextTagTable *); + +G_END_DECLS + +#endif /* __CTK_GVO_H__*/ diff --git a/src/gtk+-2.x/ctkmultisample.c b/src/gtk+-2.x/ctkmultisample.c index dda1ca9..1d749af 100644 --- a/src/gtk+-2.x/ctkmultisample.c +++ b/src/gtk+-2.x/ctkmultisample.c @@ -37,12 +37,13 @@ /* local prototypes */ -static gint build_fsaa_translation_table(CtkMultisample *ctk_multisample, +static void build_fsaa_translation_table(CtkMultisample *ctk_multisample, NVCTRLAttributeValidValuesRec valid); static int map_nv_ctrl_fsaa_value_to_slider(CtkMultisample *ctk_multisample, int value); + static gchar *format_fsaa_value(GtkScale *scale, gdouble arg1, gpointer user_data); @@ -140,7 +141,7 @@ static const char *__texture_sharpening_help = #define __FSAA_4x_9t (1 << (__FSAA + NV_CTRL_FSAA_MODE_4x_9t)) #define __FSAA_8x (1 << (__FSAA + NV_CTRL_FSAA_MODE_8x)) #define __FSAA_16x (1 << (__FSAA + NV_CTRL_FSAA_MODE_16x)) - +#define __FSAA_8xS (1 << (__FSAA + NV_CTRL_FSAA_MODE_8xS)) #define FRAME_PADDING 5 @@ -191,7 +192,7 @@ GtkWidget *ctk_multisample_new(NvCtrlAttributeHandle *handle, guint8 *image_buffer = NULL; const nv_image_t *img; - gint val, app_control, override, n, i; + gint val, app_control, override, i; NVCTRLAttributeValidValuesRec valid; @@ -234,12 +235,10 @@ GtkWidget *ctk_multisample_new(NvCtrlAttributeHandle *handle, if (ret == NvCtrlSuccess) { - n = build_fsaa_translation_table(ctk_multisample, valid); + build_fsaa_translation_table(ctk_multisample, valid); - ctk_multisample->fsaa_translation_table_size = n; - ret = NvCtrlGetAttribute(handle, NV_CTRL_FSAA_MODE, &val); - + val = map_nv_ctrl_fsaa_value_to_slider(ctk_multisample, val); ret0 = NvCtrlGetAttribute(handle, @@ -254,7 +253,8 @@ GtkWidget *ctk_multisample_new(NvCtrlAttributeHandle *handle, override = !app_control; - if ((ret == NvCtrlSuccess) && (ret0 == NvCtrlSuccess) && (n > 1)) { + if ((ret == NvCtrlSuccess) && (ret0 == NvCtrlSuccess) && + (ctk_multisample->fsaa_translation_table_size > 1)) { /* create "Antialiasing Settings" frame */ @@ -294,7 +294,8 @@ GtkWidget *ctk_multisample_new(NvCtrlAttributeHandle *handle, /* Antialiasing scale */ - scale = gtk_hscale_new_with_range(0, n - 1, 1); + scale = gtk_hscale_new_with_range + (0, ctk_multisample->fsaa_translation_table_size - 1, 1); gtk_range_set_value(GTK_RANGE(scale), val); gtk_scale_set_draw_value(GTK_SCALE(scale), TRUE); @@ -323,7 +324,7 @@ GtkWidget *ctk_multisample_new(NvCtrlAttributeHandle *handle, gtk_widget_set_sensitive(GTK_WIDGET(ctk_multisample->fsaa_scale), override); - for (i = 0; i < n; i++) + for (i = 0; i < ctk_multisample->fsaa_translation_table_size; i++) ctk_multisample->active_attributes |= (1 << (__FSAA+ctk_multisample->fsaa_translation_table[i])); } @@ -489,27 +490,52 @@ GtkWidget *ctk_multisample_new(NvCtrlAttributeHandle *handle, * FSAA_MODE attribute, scan through the bits.ints field (which has * bits set to indicate which integer attributes are valid for the * attribute), assigning fsaa_translation_table[] as appropriate. + * fsaa_translation_table[] will map from slider value to + * NV_CTRL_FSAA_MODE value. */ -static gint build_fsaa_translation_table(CtkMultisample *ctk_multisample, +static void build_fsaa_translation_table(CtkMultisample *ctk_multisample, NVCTRLAttributeValidValuesRec valid) { gint i, n = 0; + gint index_8xs = -1; + gint index_16x = -1; gint mask = valid.u.bits.ints; + ctk_multisample->fsaa_translation_table_size = 0; + memset(ctk_multisample->fsaa_translation_table, 0, - sizeof(gint) * (NV_CTRL_FSAA_MODE_16x + 1)); + sizeof(gint) * (NV_CTRL_FSAA_MODE_MAX + 1)); - if (valid.type != ATTRIBUTE_TYPE_INT_BITS) return 0; + if (valid.type != ATTRIBUTE_TYPE_INT_BITS) return; - for (i = 0; i < (NV_CTRL_FSAA_MODE_16x + 1); i++) { + for (i = 0; i <= NV_CTRL_FSAA_MODE_MAX; i++) { if (mask & (1 << i)) { ctk_multisample->fsaa_translation_table[n] = i; + + /* index_8xs and index_16x are needed below */ + + if (i == NV_CTRL_FSAA_MODE_8xS) index_8xs = n; + if (i == NV_CTRL_FSAA_MODE_16x) index_16x = n; + n++; } } - return n; + /* + * XXX 8xS was added to the NV_CTRL_FSAA_MODE list after 16x, but + * should appear before it in the slider. If both were added to + * the fsaa_translation_table[], then swap their positions. + */ + + if ((index_8xs != -1) && (index_16x != -1)) { + ctk_multisample->fsaa_translation_table[index_8xs] = + NV_CTRL_FSAA_MODE_16x; + ctk_multisample->fsaa_translation_table[index_16x] = + NV_CTRL_FSAA_MODE_8xS; + } + + ctk_multisample->fsaa_translation_table_size = n; } /* build_fsaa_translation_table() */ @@ -552,7 +578,7 @@ static gchar *format_fsaa_value(GtkScale *scale, gdouble arg1, ctk_multisample = CTK_MULTISAMPLE(user_data); val = arg1; - if (val > NV_CTRL_FSAA_MODE_16x) val = NV_CTRL_FSAA_MODE_16x; + if (val > NV_CTRL_FSAA_MODE_MAX) val = NV_CTRL_FSAA_MODE_MAX; if (val < 0) val = 0; val = ctk_multisample->fsaa_translation_table[val]; @@ -579,11 +605,12 @@ static const gchar *get_multisample_mode_name(gint multisample_mode) "4x Bilinear", /* FSAA_MODE_4x */ "4x, 9-tap Gaussian", /* FSAA_MODE_4x_9t */ "8x", /* FSAA_MODE_8x */ - "16x" /* FSAA_MODE_16x */ + "16x", /* FSAA_MODE_16x */ + "8xS" /* FSAA_MODE_8xS */ }; if ((multisample_mode < NV_CTRL_FSAA_MODE_NONE) || - (multisample_mode > NV_CTRL_FSAA_MODE_16x)) { + (multisample_mode > NV_CTRL_FSAA_MODE_MAX)) { return "Unknown Multisampling"; } @@ -702,7 +729,7 @@ static void fsaa_value_changed(GtkRange *range, gpointer user_data) ctk_multisample = CTK_MULTISAMPLE(user_data); val = gtk_range_get_value(range); - if (val > NV_CTRL_FSAA_MODE_16x) val = NV_CTRL_FSAA_MODE_16x; + if (val > NV_CTRL_FSAA_MODE_MAX) val = NV_CTRL_FSAA_MODE_MAX; if (val < 0) val = 0; val = ctk_multisample->fsaa_translation_table[val]; @@ -1116,6 +1143,14 @@ GtkTextBuffer *ctk_multisample_create_help(GtkTextTagTable *table, "the 4x mode."); } + if (ctk_multisample->active_attributes & __FSAA_8xS) { + ctk_help_term(b, &i, "8xS"); + ctk_help_para(b, &i, "This enables antialiasing using the 8xS " + "mode. This mode offers better image quality than " + "the 4x mode; 8xS is only available on Geforce " + "(non-Quadro) FX or better GPUs."); + } + if (ctk_multisample->active_attributes & __FSAA_16x) { ctk_help_term(b, &i, "16x"); ctk_help_para(b, &i, "This enables antialiasing using the 16x " diff --git a/src/gtk+-2.x/ctkmultisample.h b/src/gtk+-2.x/ctkmultisample.h index fd1fde0..069f1a9 100644 --- a/src/gtk+-2.x/ctkmultisample.h +++ b/src/gtk+-2.x/ctkmultisample.h @@ -67,7 +67,7 @@ struct _CtkMultisample guint active_attributes; - gint fsaa_translation_table[NV_CTRL_FSAA_MODE_16x + 1]; + gint fsaa_translation_table[NV_CTRL_FSAA_MODE_MAX + 1]; gint fsaa_translation_table_size; }; diff --git a/src/gtk+-2.x/ctkwindow.c b/src/gtk+-2.x/ctkwindow.c index 3780358..c148537 100644 --- a/src/gtk+-2.x/ctkwindow.c +++ b/src/gtk+-2.x/ctkwindow.c @@ -36,6 +36,7 @@ #include "ctkwindow.h" #include "ctkframelock.h" +#include "ctkgvo.h" #include "ctkconfig.h" #include "ctkdevice.h" @@ -560,6 +561,15 @@ GtkWidget *ctk_window_new(NvCtrlAttributeHandle **handles, gint num_handles, add_page(child, help, ctk_window, &iter, "Thermal Monitor", NULL); } + /* gvo (Graphics To Video Out) */ + + child = ctk_gvo_new(handles[i], ctk_config); + if (child) { + help = ctk_gvo_create_help(tag_table); + add_page(child, help, ctk_window, &iter, + "Graphics to Video Out", NULL); + } + /* display devices */ child = ctk_display_device_new(handles[i], ctk_config, ctk_event); diff --git a/src/image_data/Makefile.inc b/src/image_data/Makefile.inc index 4a626cb..9446967 100644 --- a/src/image_data/Makefile.inc +++ b/src/image_data/Makefile.inc @@ -48,4 +48,22 @@ EXTRA_DIST += \ cursor_banner.h \ crt.h \ tv.h \ - dfp.h + dfp.h \ + gvo_banner_comp_sync_green.h \ + gvo_banner_comp_sync_grey.h \ + gvo_banner_comp_sync_red.h \ + gvo_banner_comp_sync_yellow.h \ + gvo_banner_left.h \ + gvo_banner_right.h \ + gvo_banner_sdi_sync_green.h \ + gvo_banner_sdi_sync_grey.h \ + gvo_banner_sdi_sync_red.h \ + gvo_banner_sdi_sync_yellow.h \ + gvo_banner_vid1_green.h \ + gvo_banner_vid1_grey.h \ + gvo_banner_vid1_red.h \ + gvo_banner_vid1_yellow.h \ + gvo_banner_vid2_green.h \ + gvo_banner_vid2_grey.h \ + gvo_banner_vid2_red.h \ + gvo_banner_vid2_yellow.h diff --git a/src/image_data/gvo_banner_comp_sync_green.h b/src/image_data/gvo_banner_comp_sync_green.h new file mode 100644 index 0000000..7f63e4c --- /dev/null +++ b/src/image_data/gvo_banner_comp_sync_green.h @@ -0,0 +1,188 @@ +/* GIMP RGB C-Source image dump 1-byte-run-length-encoded */ + +#include "image.h" + +static const nv_image_t gvo_banner_comp_sync_green_image = { + 34, 60, 3, + "\242\201\221\33\242\235\257!\242\261\306&\242\301\326,\242\314\340.\242\321" + "\345/\242\324\3462\242\325\3472\304\334\3567\242\335\3578\203\374\374\374" + "\203\373\373\374\205\372\372\373\203\371\371\372\203\370\370\372\202\370" + "\370\371\2\367\367\371\367\367\370\204\366\366\370\203\365\365\367\203\364" + "\364\366\202\363\363\366\1\363\363\365\204\364\364\364\1\363\363\364\205" + "\363\363\363\202\362\362\363\202\362\362\362\202\361\361\362\202\361\361" + "\361\203\360\360\361\203\357\357\360\203\356\356\357\1\355\355\357\202\355" + "\355\356\2\354\354\356\354\354\355\202\353\353\355\203\364\364\364\1\363" + "\363\364\205\363\363\363\202\362\362\363\203\362\362\362\202\361\361\362" + "\1\361\361\361\203\360\360\361\1\360\360\360\203\357\357\360\202\356\356" + "\357\1\355\355\357\202\355\355\356\1\354\354\356\202\354\354\355\2\353\353" + "\355\353\353\354\202\364\364\364\205\363\363\363\202\362\362\363\203\362" + "\362\362\202\361\361\362\1\361\361\361\203\360\360\361\1\360\360\360\203" + "\357\357\360\203\356\356\357\202\355\355\356\202\354\354\356\1\354\354\355" + "\202\353\353\355\202\352\352\354\1\363\363\364\205\363\363\363\1\362\362" + "\363\203\362\362\362\202\361\361\362\202\361\361\361\202\360\360\361\1\360" + "\360\360\203\357\357\360\203\356\356\357\1\355\355\357\202\355\355\356\2" + "\354\354\356\354\354\355\202\353\353\355\1\353\353\354\202\352\352\354\1" + "\351\351\353\204\363\363\363\1AAA\202\0\0\0\1qqq\202\361\361\362\2\321\321" + "\321000\202\20\20\20\3@@A\317\317\320\357\357\360\202\0\0\0\202\356\356\357" + "\6\355\355\357\40\40\40\0\0\0\354\354\356\354\354\355\0\0\0\202\20\20\20" + "\2\0\0\0nno\203\351\351\353\202\363\363\363\22\362\362\363aabAAA\373\373" + "\373\376\376\376\0\0\0\306\306\306\361\361\361@@Aaab\373\373\373\375\375" + "\375UUUTTT\361\361\362\0\0\0\"\"\"\251\251\251\202\355\355\356\202\0\0\0" + "\10\376\376\376\353\353\355\0\0\0\376\376\376\375\375\375\312\312\312\0\0" + "\0\364\364\365\202\350\350\352\"\363\363\363\362\362\363\362\362\362\20\20" + "\20\307\307\307\373\373\373\361\361\362\361\361\361\376\376\376\363\363\364" + "\0\0\0\331\331\331\370\370\370\357\357\360\277\277\300\0\0\0\371\371\371" + "\0\0\0wwwCCC\362\362\363~~\177___\0\0\0\376\376\376\352\352\354\0\0\0\376" + "\376\376\351\351\353\233\233\234\0\0\0\376\376\376\347\347\352\347\347\351" + "\203\362\362\362\4\0\0\0\375\375\375\364\364\364\361\361\361\203\360\360" + "\361\3\0\0\0\376\376\376\361\361\362\202\356\356\357\24\0\0\0\376\376\376" + "\0\0\0\334\334\334\0\0\0\371\371\371//0\303\303\304\0\0\0\376\376\376\352" + "\352\354\0\0\0\21\21\21\20\20\20\0\0\0\200\200\200\376\376\376\347\347\351" + "\346\346\351\362\362\362\202\361\361\362\2\0\0\0\313\313\313\203\360\360" + "\361\202\357\357\360\2\0\0\0\376\376\376\202\356\356\357\24\275\275\277\20" + "\20\20\376\376\376\0\0\0\376\376\376\40\40\40\251\251\251\20\20\20\372\372" + "\372\0\0\0\376\376\376\351\351\353\0\0\0\376\376\376\375\375\375\374\374" + "\375\376\376\376\361\361\363\346\346\350\345\345\350\202\361\361\362\33\361" + "\361\361PPQUUU\363\363\364\360\360\360\40\40\40\317\317\320\357\357\3600" + "00fff\356\356\357\355\355\356OOP``a\375\375\375\0\0\0\376\376\376nno\21\21" + "\21aaa\375\375\375\0\0\0\376\376\376\350\350\352\0\0\0\376\376\376\347\347" + "\351\202\346\346\351\202\345\345\350\1\344\344\347\202\361\361\361\3\360" + "\360\361\320\320\321222\202\0\0\0\31ppp\374\374\374\360\360\361\316\316\317" + "222\0\0\0\20\20\20??@\370\370\370\366\366\367\0\0\0\376\376\376\313\313\314" + "\0\0\0\312\312\312\366\366\366\0\0\0\376\376\376\347\347\352\0\0\0\376\376" + "\376\346\346\351\346\346\350\345\345\350\345\345\347\202\344\344\347\203" + "\360\360\361\3\357\357\360\361\361\362\373\373\373\202\376\376\376\24\367" + "\367\367\355\355\357\355\355\356\357\357\360\372\372\373\376\376\376\375" + "\375\375\371\371\371\353\353\354\352\352\354\376\376\376\351\351\353\354" + "\354\356\376\376\376\354\354\356\350\350\352\376\376\376\347\347\351\346" + "\346\351\376\376\376\202\345\345\350\202\344\344\347\202\343\343\346\1\360" + "\360\361\204\357\357\360\1\236\236\237\202\20\20\20\3\0\0\0\236\236\236\354" + "\354\356\202\354\354\355\2\353\353\355\353\353\354\202\352\352\354\203\351" + "\351\353\202\350\350\352\4\347\347\352\347\347\351\346\346\351\346\346\350" + "\202\345\345\350\202\344\344\347\202\343\343\346\2\342\342\346\342\342\345" + "\203\357\357\360\202\356\356\357\6\0\0\0\302\302\302\375\375\375\206\206" + "\206DDD\362\362\363\202\353\353\355\203\352\352\354\202\351\351\353\202\350" + "\350\352\2\347\347\352\347\347\351\202\346\346\351\202\345\345\350\202\344" + "\344\347\7\343\343\347\343\343\346\342\342\346\342\342\345\341\341\345\341" + "\341\344\357\357\360\203\356\356\357\27\355\355\357\0\0\0fff\320\320\321" + "\354\354\355\364\364\365\371\371\371\0\0\0\273\273\275\352\352\354mmn>>?" + "\350\350\353\0\0\0../\0\0\0MMN\346\346\351\231\231\232\37\37\37==>LLM\344" + "\344\347\202\343\343\346\3\342\342\345\341\341\345\341\341\344\202\340\340" + "\344\202\356\356\357\1\355\355\357\202\355\355\356\2\275\275\276333\202\0" + "\0\0\22\234\234\235\352\352\354^^_fff\355\355\357\37\37\37\303\303\304\370" + "\370\371\0\0\0\334\334\334\371\371\372\0\0\0\366\366\367\17\17\20\275\275" + "\277\373\373\373SSS\365\365\366\202\342\342\345\1\341\341\345\202\340\340" + "\344\202\337\337\343\1\355\355\357\202\355\355\356\1\354\354\356\202\354" + "\354\355\32\357\357\360\372\372\373\207\207\207\0\0\0\360\360\361\312\312" + "\314\0\0\0\304\304\305\20\20\20\373\373\373\354\354\355\0\0\0\376\376\376" + "\350\350\353\0\0\0\376\376\376\0\0\0\374\374\374\350\350\353\342\342\346" + "\365\365\366\341\341\345\341\341\344\340\340\344\340\340\343\337\337\343" + "\202\336\336\342\1\355\355\356\202\354\354\356\32\354\354\355\353\353\355" + "\0\0\0\313\313\314\352\352\354\234\234\235\0\0\0\375\376\375\347\350\351" + "\36\37\37""232non\373\374\374\345\346\350\0\0\0\375\376\375\343\344\346\0" + "\0\0\376\376\376\17\17\17\251\251\251\342\342\345\36\36\37\341\341\344\340" + "\340\344\340\340\343\202\337\337\343\5\336\336\342\335\335\342\335\335\341" + "\354\354\356\354\354\355\202\353\353\355\27\353\353\354nno\21\21\21\20\20" + "\20\36\37\36\234\236\235\373\375\372\343\346\346x{y\0\0\0\365\370\366\357" + "\362\360\341\344\344\0\0\0\372\375\372\340\343\343\0\0\0\375\376\374\225" + "\226\227\21\21\21\37\37\40iik\372\372\373\202\337\337\343\202\336\336\342" + "\6\335\335\341\334\334\341\334\334\340\354\354\355\353\353\355\353\353\354" + "\202\352\352\354\13\351\351\353\363\364\364\372\374\372\371\374\371\367\372" + "\367\353\356\355\343\346\345x{z?C?\371\375\371\341\344\344\202\340\343\343" + "\11\371\375\371\337\342\342\336\341\341\372\375\372\336\340\342\352\353\354" + "\374\374\374\372\372\372\360\360\361\202\336\336\342\202\335\335\341\4\334" + "\334\340\333\333\340\333\333\337\353\353\355\202\352\352\354\1\352\352\353" + "\202\351\351\353\12\345\347\347\344\347\346\343\346\346\343\346\345\342\345" + "\345\341\345\344384\237\244\240\360\366\361\337\344\341\202\336\343\340\202" + "\335\342\340\5\335\340\341\335\340\340\334\337\340\335\337\337\336\337\342" + "\202\336\336\342\5\335\335\342\335\335\341\334\334\341\334\334\340\333\333" + "\340\202\332\332\337\202\352\352\354\202\351\351\353\22\350\350\353\347\350" + "\351\343\346\346\343\346\345\342\345\345\341\345\344\340\345\342\337\345" + "\342\336\344\341\362\370\362\346\353\351\336\343\340\335\342\340\335\342" + "\337\334\341\337\334\341\336\333\340\336\333\340\337\202\333\336\337\6\334" + "\336\340\335\335\342\335\335\341\334\334\341\334\334\340\333\333\340\202" + "\332\332\337\202\331\331\336\202\351\351\353\1\350\350\353\202\350\350\352" + "\4\344\346\346\343\346\345\342\345\345\341\345\343\202\337\345\342\11\336" + "\344\341\252\257\253LLL\16\16\16\35\35\35---<<<\200\200\200\273\301\276\202" + "\332\337\335\10\331\336\335\332\335\336\332\334\335\333\334\340\334\334\340" + "\333\333\340\333\333\337\332\332\337\202\331\331\336\202\330\330\335\1\351" + "\351\353\202\350\350\352\6\347\347\352\346\347\350\343\345\345\342\345\344" + "\341\344\344\340\345\342\202\336\344\341\4jjj\0\0\0\5\5\5\2\2\2\202\0\0\0" + "\12\4\4\4\"\"\"]]]\246\246\247\331\336\334\330\335\333\331\335\335\330\333" + "\334\331\333\336\333\333\340\202\332\332\337\12\331\331\336\330\330\336\330" + "\330\335\327\327\334\326\326\334\350\350\352\347\347\352\347\347\351\346" + "\346\351\345\346\350\202\341\344\344\10\337\343\342\336\344\341\336\343\340" + "[[[\0\0\0\1\13\1\0M\0\0\217\0\202\0\230\0\5\0\217\0\0M\0\7\7\7ooo\277\277" + "\277\202\327\334\333\3\327\332\334\330\332\335\332\332\337\202\331\331\336" + "\5\330\330\335\327\327\335\327\327\334\326\326\334\325\325\333\202\347\347" + "\351\"\346\346\351\346\346\350\344\345\347\341\344\343\340\343\343\337\344" + "\341\336\343\340\250\255\252\0\0\0\1\13\1\0}\0\0\230\0q\312o\243\341\237" + "\212\326\207`\303^1\2560\0}\0\11\11\11\222\222\222\316\323\320\326\333\332" + "\326\332\333\327\330\333\331\331\336\330\330\335\327\327\335\327\327\334" + "\326\326\334\326\326\333\325\325\333\324\324\332\346\346\351\346\346\350" + "\202\345\345\350\12\343\344\346\340\343\343\337\342\342\336\343\340\335\342" + "\337LLL\5\5\5\0M\0\0\230\0\201\322\177\202\345\376\340\17\306\360\302\225" + "\333\222d\305b2\2561\0M\0DDD\324\324\324\324\332\331\325\331\331\325\327" + "\332\330\330\335\327\327\334\326\326\334\326\326\333\325\325\333\202\324" + "\324\332\1\323\323\331\202\345\345\350\202\344\344\347\33\342\343\345\337" + "\342\342\336\341\342\335\342\337\334\341\337\16\16\16\2\2\2\0\217\0B\265" + "A\243\341\237\334\372\327\341\374\334\310\361\304\243\341\237y\316vK\271" + "I\32\232\31\14\14\14\325\325\325\324\331\331\324\330\330\324\326\332\327" + "\327\334\326\326\333\325\325\333\325\325\332\324\324\332\202\323\323\331" + "\1\322\322\330\202\344\344\347\30\343\343\347\343\343\346\341\342\345\336" + "\341\341\335\340\341\334\341\336\333\340\336\35\35\35\0\0\0\0\230\0R\274" + "P\225\333\222\273\353\267\303\357\277\265\351\261\232\335\227y\316vR\274" + "P(\252'\0\0\0\344\344\344\323\330\330\323\327\330\323\325\331\202\325\325" + "\333\1\324\324\332\202\323\323\331\4\322\322\330\321\321\330\321\321\327" + "\344\344\347\202\343\343\346\27\342\342\345\340\341\344\335\340\340\334\337" + "\340\333\340\336\332\337\335---\0\0\0\0\230\0I\270G}\317z\232\335\226\243" + "\341\237\233\335\230\210\325\205n\311kM\272K(\252'\0\0\0\364\364\364\322" + "\327\327\322\326\327\322\324\330\202\324\324\332\7\323\323\331\322\322\331" + "\322\322\330\321\321\327\320\320\327\317\317\326\343\343\346\202\342\342" + "\345>\341\341\345\337\340\343\334\337\340\333\336\337\332\337\335\331\336" + "\334<<<\4\4\4\0\217\0""5\2604`\302^y\316v\202\322\200\177\320|q\312o\\\301" + "Z@\264?\36\234\35\16\16\16\376\376\376\321\326\326\320\324\326\321\323\327" + "\323\323\331\322\322\331\322\322\330\321\321\330\320\320\327\320\320\326" + "\317\317\326\316\316\325\342\342\345\341\341\345\341\341\344\340\340\344" + "\337\340\342\333\336\337\332\335\336\331\336\335\330\335\334\177\177\177" + "\"\"\"\0M\0\34\244\33A\265?W\277Ua\303_`\303^V\276TE\267D.\254-\11Q\11__" + "_\372\372\372\320\325\325\317\323\325\321\322\326\322\322\330\321\321\330" + "\321\321\327\320\320\327\317\317\326\202\316\316\325\35\315\315\324\341\341" + "\344\340\340\344\340\340\343\337\337\343\336\337\342\332\335\336\331\334" + "\336\331\335\334\327\334\333\270\276\273]]]\7\7\7\0}\0!\247\40""6\2604@\264" + "?A\265@:\2629,\253+\24\205\24\17\17\17\336\336\336\331\336\335\317\324\324" + "\316\321\324\317\321\326\321\321\327\320\320\327\202\317\317\326\1\316\316" + "\325\202\315\315\324\2\314\314\323\340\340\344\202\337\337\343\40\336\336" + "\342\335\336\341\332\334\336\330\333\335\330\333\334\326\333\333\326\334" + "\332\256\256\256ooo\11\11\11\0M\0\23\227\22\36\245\36!\247\40\32\232\31\11" + "P\10\17\17\17\316\316\316\367\367\370\316\323\324\316\322\324\315\320\323" + "\317\320\326\320\320\326\317\317\326\316\316\325\315\315\325\315\315\324" + "\314\314\323\313\313\323\313\313\322\337\337\343\202\336\336\342\202\335" + "\335\341\12\333\334\336\327\332\334\327\332\333\326\332\332\325\333\331\324" + "\332\331\276\276\277\222\222\222DDD\14\14\14\202\0\0\0\11\16\16\16___\336" + "\336\336\367\367\370\316\323\323\315\322\323\314\317\323\315\317\323\317" + "\317\326\202\316\316\325%\315\315\324\314\314\324\313\313\323\313\313\322" + "\312\312\322\311\311\321\336\336\342\335\335\342\335\335\341\334\334\341" + "\334\334\340\332\333\337\327\331\334\326\331\333\325\330\332\324\330\331" + "\324\331\330\323\330\330\313\320\316\323\323\323\325\325\325\344\344\344" + "\364\364\364\376\376\376\371\371\372\330\335\334\315\322\323\315\322\322" + "\314\320\323\313\316\322\316\317\325\316\316\325\315\315\324\314\314\324" + "\314\314\323\313\313\323\312\312\322\202\311\311\321\5\310\310\320\335\335" + "\341\334\334\341\334\334\340\333\333\340\202\332\332\337\6\330\331\335\326" + "\330\332\324\327\331\323\326\331\323\327\330\322\326\327\202\321\326\326" + "\202\320\325\325\5\317\324\324\316\323\323\315\322\323\315\322\322\314\320" + "\323\202\313\316\322\5\314\316\323\315\315\325\315\315\324\314\314\323\313" + "\313\323\202\312\312\322\7\311\311\321\310\310\320\307\307\320\307\307\317" + "\333\333\340\333\333\337\332\332\337\202\331\331\336\202\330\330\335\31\326" + "\327\333\324\326\332\323\325\327\321\324\327\320\323\326\320\324\326\317" + "\323\325\316\322\325\316\322\324\315\321\324\314\320\323\314\320\322\313" + "\316\322\312\315\321\313\315\322\314\315\323\314\314\324\313\313\323\313" + "\313\322\312\312\322\311\311\321\310\310\321\310\310\320\307\307\317\306" + "\306\317\202\305\305\316\202\223\223\224\1\224\224\224\202\224\224\225\202" + "\225\225\226\202\226\226\226\1\225\226\226\202\225\227\225\2\225\226\224" + "\224\226\224\204\225\227\225\3\226\227\225\225\227\226\226\227\226\205\227" + "\227\227\202\226\226\227\203\226\226\226\202\225\225\226\1\224\224\226\242" + "\232\320\25\242\230\317\25\242\227\317\24\242\242\323-\242\235\317*\242\230" + "\311&\242\222\302$\242\214\273!\242\206\264\36", +}; + diff --git a/src/image_data/gvo_banner_comp_sync_grey.h b/src/image_data/gvo_banner_comp_sync_grey.h new file mode 100644 index 0000000..801a796 --- /dev/null +++ b/src/image_data/gvo_banner_comp_sync_grey.h @@ -0,0 +1,186 @@ +/* GIMP RGB C-Source image dump 1-byte-run-length-encoded */ + +#include "image.h" + +static const nv_image_t gvo_banner_comp_sync_grey_image = { + 34, 60, 3, + "\242\201\221\33\242\235\257!\242\261\306&\242\301\326,\242\314\340.\242\321" + "\345/\242\324\3462\242\325\3472\304\334\3567\242\335\3578\203\374\374\374" + "\203\373\373\374\205\372\372\373\203\371\371\372\203\370\370\372\202\370" + "\370\371\2\367\367\371\367\367\370\204\366\366\370\203\365\365\367\203\364" + "\364\366\202\363\363\366\1\363\363\365\204\364\364\364\1\363\363\364\205" + "\363\363\363\202\362\362\363\202\362\362\362\202\361\361\362\202\361\361" + "\361\203\360\360\361\203\357\357\360\203\356\356\357\1\355\355\357\202\355" + "\355\356\2\354\354\356\354\354\355\202\353\353\355\203\364\364\364\1\363" + "\363\364\205\363\363\363\202\362\362\363\203\362\362\362\202\361\361\362" + "\1\361\361\361\203\360\360\361\1\360\360\360\203\357\357\360\202\356\356" + "\357\1\355\355\357\202\355\355\356\1\354\354\356\202\354\354\355\2\353\353" + "\355\353\353\354\202\364\364\364\205\363\363\363\202\362\362\363\203\362" + "\362\362\202\361\361\362\1\361\361\361\203\360\360\361\1\360\360\360\203" + "\357\357\360\203\356\356\357\202\355\355\356\202\354\354\356\1\354\354\355" + "\202\353\353\355\202\352\352\354\1\363\363\364\205\363\363\363\1\362\362" + "\363\203\362\362\362\202\361\361\362\202\361\361\361\202\360\360\361\1\360" + "\360\360\203\357\357\360\203\356\356\357\1\355\355\357\202\355\355\356\2" + "\354\354\356\354\354\355\202\353\353\355\1\353\353\354\202\352\352\354\1" + "\351\351\353\204\363\363\363\1AAA\202\0\0\0\1qqq\202\361\361\362\2\321\321" + "\321000\202\20\20\20\3@@A\317\317\320\357\357\360\202\0\0\0\202\356\356\357" + "\6\355\355\357\40\40\40\0\0\0\354\354\356\354\354\355\0\0\0\202\20\20\20" + "\2\0\0\0nno\203\351\351\353\202\363\363\363\22\362\362\363aabAAA\373\373" + "\373\376\376\376\0\0\0\306\306\306\361\361\361@@Aaab\373\373\373\375\375" + "\375UUUTTT\361\361\362\0\0\0\"\"\"\251\251\251\202\355\355\356\202\0\0\0" + "\10\376\376\376\353\353\355\0\0\0\376\376\376\375\375\375\312\312\312\0\0" + "\0\364\364\365\202\350\350\352\"\363\363\363\362\362\363\362\362\362\20\20" + "\20\307\307\307\373\373\373\361\361\362\361\361\361\376\376\376\363\363\364" + "\0\0\0\331\331\331\370\370\370\357\357\360\277\277\300\0\0\0\371\371\371" + "\0\0\0wwwCCC\362\362\363~~\177___\0\0\0\376\376\376\352\352\354\0\0\0\376" + "\376\376\351\351\353\233\233\234\0\0\0\376\376\376\347\347\352\347\347\351" + "\203\362\362\362\4\0\0\0\375\375\375\364\364\364\361\361\361\203\360\360" + "\361\3\0\0\0\376\376\376\361\361\362\202\356\356\357\24\0\0\0\376\376\376" + "\0\0\0\334\334\334\0\0\0\371\371\371//0\303\303\304\0\0\0\376\376\376\352" + "\352\354\0\0\0\21\21\21\20\20\20\0\0\0\200\200\200\376\376\376\347\347\351" + "\346\346\351\362\362\362\202\361\361\362\2\0\0\0\313\313\313\203\360\360" + "\361\202\357\357\360\2\0\0\0\376\376\376\202\356\356\357\24\275\275\277\20" + "\20\20\376\376\376\0\0\0\376\376\376\40\40\40\251\251\251\20\20\20\372\372" + "\372\0\0\0\376\376\376\351\351\353\0\0\0\376\376\376\375\375\375\374\374" + "\375\376\376\376\361\361\363\346\346\350\345\345\350\202\361\361\362\33\361" + "\361\361PPQUUU\363\363\364\360\360\360\40\40\40\317\317\320\357\357\3600" + "00fff\356\356\357\355\355\356OOP``a\375\375\375\0\0\0\376\376\376nno\21\21" + "\21aaa\375\375\375\0\0\0\376\376\376\350\350\352\0\0\0\376\376\376\347\347" + "\351\202\346\346\351\202\345\345\350\1\344\344\347\202\361\361\361\3\360" + "\360\361\320\320\321222\202\0\0\0\31ppp\374\374\374\360\360\361\316\316\317" + "222\0\0\0\20\20\20??@\370\370\370\366\366\367\0\0\0\376\376\376\313\313\314" + "\0\0\0\312\312\312\366\366\366\0\0\0\376\376\376\347\347\352\0\0\0\376\376" + "\376\346\346\351\346\346\350\345\345\350\345\345\347\202\344\344\347\203" + "\360\360\361\3\357\357\360\361\361\362\373\373\373\202\376\376\376\24\367" + "\367\367\355\355\357\355\355\356\357\357\360\372\372\373\376\376\376\375" + "\375\375\371\371\371\353\353\354\352\352\354\376\376\376\351\351\353\354" + "\354\356\376\376\376\354\354\356\350\350\352\376\376\376\347\347\351\346" + "\346\351\376\376\376\202\345\345\350\202\344\344\347\202\343\343\346\1\360" + "\360\361\204\357\357\360\1\236\236\237\202\20\20\20\3\0\0\0\236\236\236\354" + "\354\356\202\354\354\355\2\353\353\355\353\353\354\202\352\352\354\203\351" + "\351\353\202\350\350\352\4\347\347\352\347\347\351\346\346\351\346\346\350" + "\202\345\345\350\202\344\344\347\202\343\343\346\2\342\342\346\342\342\345" + "\203\357\357\360\202\356\356\357\6\0\0\0\302\302\302\375\375\375\206\206" + "\206DDD\362\362\363\202\353\353\355\203\352\352\354\202\351\351\353\202\350" + "\350\352\2\347\347\352\347\347\351\202\346\346\351\202\345\345\350\202\344" + "\344\347\7\343\343\347\343\343\346\342\342\346\342\342\345\341\341\345\341" + "\341\344\357\357\360\203\356\356\357\27\355\355\357\0\0\0fff\320\320\321" + "\354\354\355\364\364\365\371\371\371\0\0\0\273\273\275\352\352\354mmn>>?" + "\350\350\353\0\0\0../\0\0\0MMN\346\346\351\231\231\232\37\37\37==>LLM\344" + "\344\347\202\343\343\346\3\342\342\345\341\341\345\341\341\344\202\340\340" + "\344\202\356\356\357\1\355\355\357\202\355\355\356\2\275\275\276333\202\0" + "\0\0\22\234\234\235\352\352\354^^_fff\355\355\357\37\37\37\303\303\304\370" + "\370\371\0\0\0\334\334\334\371\371\372\0\0\0\366\366\367\17\17\20\275\275" + "\277\373\373\373SSS\365\365\366\202\342\342\345\1\341\341\345\202\340\340" + "\344\202\337\337\343\1\355\355\357\202\355\355\356\1\354\354\356\202\354" + "\354\355\32\357\357\360\372\372\373\207\207\207\0\0\0\360\360\361\312\312" + "\314\0\0\0\304\304\305\20\20\20\373\373\373\354\354\355\0\0\0\376\376\376" + "\350\350\353\0\0\0\376\376\376\0\0\0\374\374\374\350\350\353\342\342\346" + "\365\365\366\341\341\345\341\341\344\340\340\344\340\340\343\337\337\343" + "\202\336\336\342\1\355\355\356\202\354\354\356\32\354\354\355\353\353\355" + "\0\0\0\313\313\314\352\352\354\234\234\235\0\0\0\376\376\376\350\350\352" + "\37\37\40""333ooo\374\374\375\346\346\351\0\0\0\376\376\376\344\344\347\0" + "\0\0\376\376\376\17\17\17\251\251\251\342\342\345\36\36\37\341\341\344\340" + "\340\344\340\340\343\202\337\337\343\5\336\336\342\335\335\342\335\335\341" + "\354\354\356\354\354\355\202\353\353\355\27\353\353\354nno\21\21\21\20\20" + "\20\37\37\37\237\237\240\376\376\376\347\347\352||}\0\0\0\371\371\372\363" + "\363\364\345\345\350\0\0\0\376\376\376\344\344\347\0\0\0\376\376\376\226" + "\226\230\21\21\21\37\37\40iik\372\372\373\202\337\337\343\202\336\336\342" + "\6\335\335\341\334\334\341\334\334\340\354\354\355\353\353\355\353\353\354" + "\202\352\352\354\2\351\351\353\364\364\365\202\375\375\375\7\373\373\373" + "\357\357\361\347\347\351{{}AAA\376\376\376\345\345\350\202\344\344\347\11" + "\376\376\376\343\343\346\342\342\345\376\376\376\341\341\345\353\353\355" + "\374\374\374\372\372\372\360\360\361\202\336\336\342\202\335\335\341\4\334" + "\334\340\333\333\340\333\333\337\353\353\355\202\352\352\354\1\352\352\353" + "\202\351\351\353\202\350\350\352\2\347\347\352\347\347\351\202\346\346\351" + "\4../\240\240\241\367\367\370\344\344\347\202\343\343\346\7\342\342\346\342" + "\342\345\341\341\345\341\341\344\340\340\344\340\340\343\337\337\343\202" + "\336\336\342\5\335\335\342\335\335\341\334\334\341\334\334\340\333\333\340" + "\202\332\332\337\202\352\352\354\202\351\351\353\4\350\350\353\350\350\352" + "\347\347\352\347\347\351\202\346\346\351\202\345\345\350\10\344\344\347\371" + "\371\371\354\354\357\343\343\346\342\342\346\342\342\345\341\341\345\341" + "\341\344\202\340\340\344\202\337\337\343\6\336\336\342\335\335\342\335\335" + "\341\334\334\341\334\334\340\333\333\340\202\332\332\337\202\331\331\336" + "\202\351\351\353\1\350\350\353\202\350\350\352\202\347\347\351\2\346\346" + "\351\346\346\350\202\345\345\350\11\344\344\347\253\253\255HHI\16\16\16\35" + "\35\35---<<<||}\276\276\301\202\337\337\343\202\336\336\342\6\335\335\341" + "\334\334\341\334\334\340\333\333\340\333\333\337\332\332\337\202\331\331" + "\336\202\330\330\335\1\351\351\353\202\350\350\352\4\347\347\352\347\347" + "\351\346\346\351\346\346\350\202\345\345\350\202\344\344\347\4eeg\0\0\0\5" + "\5\5\2\2\2\202\0\0\0\5\4\4\4\"\"\"]]]\243\243\245\336\336\342\202\335\335" + "\341\1\334\334\340\202\333\333\340\202\332\332\337\10\331\331\336\330\330" + "\336\330\330\335\327\327\334\326\326\334\350\350\352\347\347\352\347\347" + "\351\202\346\346\351\202\345\345\350\202\344\344\347\6\343\343\346VVX\0\0" + "\0\11\11\11;;;ooo\202ttt\10ooo;;;\7\7\7ooo\274\274\275\334\334\341\334\334" + "\340\333\333\340\202\332\332\337\202\331\331\336\5\330\330\335\327\327\335" + "\327\327\334\326\326\334\325\325\333\202\347\347\351\4\346\346\351\346\346" + "\350\345\345\350\345\345\347\202\344\344\347\21\343\343\346\251\251\254\0" + "\0\0\11\11\11aaasss\244\260\241\272\313\267\257\275\254\234\246\232\207\214" + "\206aaa\11\11\11\222\222\222\322\322\325\333\333\337\332\332\337\202\331" + "\331\336\11\330\330\335\327\327\335\327\327\334\326\326\334\326\326\333\325" + "\325\333\324\324\332\346\346\351\346\346\350\202\345\345\350\202\344\344" + "\347\202\343\343\346\6\342\342\345HHI\5\5\5;;;sss\253\271\250\202\327\357" + "\322\7\311\337\305\264\304\261\236\251\234\210\215\207;;;DDD\322\322\323" + "\202\331\331\336\202\330\330\335\4\327\327\334\326\326\334\326\326\333\325" + "\325\333\202\324\324\332\1\323\323\331\202\345\345\350\202\344\344\347\202" + "\343\343\346\31\342\342\346\342\342\345\341\341\345\16\16\16\2\2\2ooo\217" + "\226\215\272\313\267\323\352\316\325\355\320\312\340\306\272\313\267\247" + "\264\244\223\233\221{~z\14\14\14\325\325\325\330\330\336\330\330\335\327" + "\327\335\327\327\334\326\326\333\325\325\333\325\325\332\324\324\332\202" + "\323\323\331\1\322\322\330\202\344\344\347\30\343\343\347\343\343\346\342" + "\342\346\342\342\345\341\341\345\341\341\344\340\340\344\35\35\35\0\0\0t" + "tt\226\237\224\264\304\261\304\331\300\310\335\303\302\325\276\267\307\263" + "\247\264\245\226\237\224\205\211\204\0\0\0\344\344\344\327\327\335\327\327" + "\334\326\326\334\202\325\325\333\1\324\324\332\202\323\323\331\4\322\322" + "\330\321\321\330\321\321\327\344\344\347\202\343\343\346\3\342\342\345\341" + "\341\345\341\341\344\202\340\340\344\22\337\337\343---\0\0\0ttt\222\232\220" + "\251\267\246\266\306\263\272\313\267\267\307\264\256\274\253\242\256\240" + "\223\234\222\205\211\204\0\0\0\364\364\364\326\326\334\326\326\333\325\325" + "\333\202\324\324\332\7\323\323\331\322\322\331\322\322\330\321\321\327\320" + "\320\327\317\317\326\343\343\346\202\342\342\345\1\341\341\345\202\340\340" + "\344\202\337\337\343\20\336\336\342<<<\4\4\4ooo\211\217\210\234\246\232\247" + "\264\245\254\272\251\252\270\247\244\260\241\232\244\230\216\225\214|\177" + "|\16\16\16\376\376\376\325\325\333\202\324\324\332\16\323\323\331\322\322" + "\331\322\322\330\321\321\330\320\320\327\320\320\326\317\317\326\316\316" + "\325\342\342\345\341\341\345\341\341\344\340\340\344\340\340\343\337\337" + "\343\202\336\336\342\20\335\335\342}}~\"\"\";;;\177\201~\216\225\215\230" + "\242\226\235\247\232\234\247\232\230\241\226\220\227\216\206\213\205?@?_" + "__\372\372\372\324\324\332\202\323\323\331\5\322\322\330\321\321\330\321" + "\321\327\320\320\327\317\317\326\202\316\316\325\4\315\315\324\341\341\344" + "\340\340\344\340\340\343\202\337\337\343\27\336\336\342\335\335\342\335\335" + "\341\334\334\341\273\273\276]]]\7\7\7aaa\200\203\200\211\217\210\216\225" + "\214\216\225\215\213\221\212\205\211\204jki\17\17\17\336\336\336\336\336" + "\343\323\323\331\322\322\330\321\321\330\321\321\327\320\320\327\202\317" + "\317\326\1\316\316\325\202\315\315\324\2\314\314\323\340\340\344\202\337" + "\337\343\202\336\336\342\36\335\335\341\334\334\341\334\334\340\333\333\340" + "\333\333\337\254\254\255ooo\11\11\11;;;wyv\201\204\200\202\205\201z}z>?>" + "\17\17\17\316\316\316\371\371\371\322\322\331\322\322\330\321\321\327\320" + "\320\327\320\320\326\317\317\326\316\316\325\315\315\325\315\315\324\314" + "\314\323\313\313\323\313\313\322\337\337\343\202\336\336\342\202\335\335" + "\341\12\334\334\340\333\333\340\333\333\337\332\332\337\332\332\336\331\331" + "\336\275\275\276\222\222\222DDD\14\14\14\202\0\0\0\11\16\16\16___\336\336" + "\336\371\371\371\322\322\330\321\321\330\320\320\327\320\320\326\317\317" + "\326\202\316\316\325\14\315\315\324\314\314\324\313\313\323\313\313\322\312" + "\312\322\311\311\321\336\336\342\335\335\342\335\335\341\334\334\341\334" + "\334\340\333\333\340\202\332\332\337\17\331\331\336\330\330\336\330\330\335" + "\327\327\335\317\317\322\323\323\324\325\325\325\344\344\344\364\364\364" + "\376\376\376\373\373\373\335\335\342\321\321\330\321\321\327\320\320\327" + "\202\317\317\326\6\316\316\325\315\315\324\314\314\324\314\314\323\313\313" + "\323\312\312\322\202\311\311\321\5\310\310\320\335\335\341\334\334\341\334" + "\334\340\333\333\340\202\332\332\337\202\331\331\336\4\330\330\335\327\327" + "\335\327\327\334\326\326\334\202\325\325\333\202\324\324\332\5\323\323\331" + "\322\322\330\321\321\330\321\321\327\320\320\327\202\317\317\326\5\316\316" + "\325\315\315\325\315\315\324\314\314\323\313\313\323\202\312\312\322\7\311" + "\311\321\310\310\320\307\307\320\307\307\317\333\333\340\333\333\337\332" + "\332\337\202\331\331\336\202\330\330\335\4\327\327\334\326\326\334\326\326" + "\333\325\325\333\202\324\324\332\7\323\323\331\322\322\331\322\322\330\321" + "\321\330\320\320\327\320\320\326\317\317\326\202\316\316\325\12\315\315\324" + "\314\314\324\313\313\323\313\313\322\312\312\322\311\311\321\310\310\321" + "\310\310\320\307\307\317\306\306\317\202\305\305\316\202\223\223\224\1\224" + "\224\224\202\224\224\225\202\225\225\226\202\226\226\226\1\226\226\227\204" + "\227\227\227\205\230\230\230\1\227\227\230\206\227\227\227\202\226\226\227" + "\203\226\226\226\202\225\225\226\1\224\224\226\242\232\320\25\242\230\317" + "\25\242\227\317\24\242\242\323-\242\235\317*\242\230\311&\242\222\302$\242" + "\214\273!\242\206\264\36", +}; + diff --git a/src/image_data/gvo_banner_comp_sync_red.h b/src/image_data/gvo_banner_comp_sync_red.h new file mode 100644 index 0000000..c92087b --- /dev/null +++ b/src/image_data/gvo_banner_comp_sync_red.h @@ -0,0 +1,188 @@ +/* GIMP RGB C-Source image dump 1-byte-run-length-encoded */ + +#include "image.h" + +static const nv_image_t gvo_banner_comp_sync_red_image = { + 34, 60, 3, + "\242\201\221\33\242\235\257!\242\261\306&\242\301\326,\242\314\340.\242\321" + "\345/\242\324\3462\242\325\3472\304\334\3567\242\335\3578\203\374\374\374" + "\203\373\373\374\205\372\372\373\203\371\371\372\203\370\370\372\202\370" + "\370\371\2\367\367\371\367\367\370\204\366\366\370\203\365\365\367\203\364" + "\364\366\202\363\363\366\1\363\363\365\204\364\364\364\1\363\363\364\205" + "\363\363\363\202\362\362\363\202\362\362\362\202\361\361\362\202\361\361" + "\361\203\360\360\361\203\357\357\360\203\356\356\357\1\355\355\357\202\355" + "\355\356\2\354\354\356\354\354\355\202\353\353\355\203\364\364\364\1\363" + "\363\364\205\363\363\363\202\362\362\363\203\362\362\362\202\361\361\362" + "\1\361\361\361\203\360\360\361\1\360\360\360\203\357\357\360\202\356\356" + "\357\1\355\355\357\202\355\355\356\1\354\354\356\202\354\354\355\2\353\353" + "\355\353\353\354\202\364\364\364\205\363\363\363\202\362\362\363\203\362" + "\362\362\202\361\361\362\1\361\361\361\203\360\360\361\1\360\360\360\203" + "\357\357\360\203\356\356\357\202\355\355\356\202\354\354\356\1\354\354\355" + "\202\353\353\355\202\352\352\354\1\363\363\364\205\363\363\363\1\362\362" + "\363\203\362\362\362\202\361\361\362\202\361\361\361\202\360\360\361\1\360" + "\360\360\203\357\357\360\203\356\356\357\1\355\355\357\202\355\355\356\2" + "\354\354\356\354\354\355\202\353\353\355\1\353\353\354\202\352\352\354\1" + "\351\351\353\204\363\363\363\1AAA\202\0\0\0\1qqq\202\361\361\362\2\321\321" + "\321000\202\20\20\20\3@@A\317\317\320\357\357\360\202\0\0\0\202\356\356\357" + "\6\355\355\357\40\40\40\0\0\0\354\354\356\354\354\355\0\0\0\202\20\20\20" + "\2\0\0\0nno\203\351\351\353\202\363\363\363\22\362\362\363aabAAA\373\373" + "\373\376\376\376\0\0\0\306\306\306\361\361\361@@Aaab\373\373\373\375\375" + "\375UUUTTT\361\361\362\0\0\0\"\"\"\251\251\251\202\355\355\356\202\0\0\0" + "\10\376\376\376\353\353\355\0\0\0\376\376\376\375\375\375\312\312\312\0\0" + "\0\364\364\365\202\350\350\352\"\363\363\363\362\362\363\362\362\362\20\20" + "\20\307\307\307\373\373\373\361\361\362\361\361\361\376\376\376\363\363\364" + "\0\0\0\331\331\331\370\370\370\357\357\360\277\277\300\0\0\0\371\371\371" + "\0\0\0wwwCCC\362\362\363~~\177___\0\0\0\376\376\376\352\352\354\0\0\0\376" + "\376\376\351\351\353\233\233\234\0\0\0\376\376\376\347\347\352\347\347\351" + "\203\362\362\362\4\0\0\0\375\375\375\364\364\364\361\361\361\203\360\360" + "\361\3\0\0\0\376\376\376\361\361\362\202\356\356\357\24\0\0\0\376\376\376" + "\0\0\0\334\334\334\0\0\0\371\371\371//0\303\303\304\0\0\0\376\376\376\352" + "\352\354\0\0\0\21\21\21\20\20\20\0\0\0\200\200\200\376\376\376\347\347\351" + "\346\346\351\362\362\362\202\361\361\362\2\0\0\0\313\313\313\203\360\360" + "\361\202\357\357\360\2\0\0\0\376\376\376\202\356\356\357\24\275\275\277\20" + "\20\20\376\376\376\0\0\0\376\376\376\40\40\40\251\251\251\20\20\20\372\372" + "\372\0\0\0\376\376\376\351\351\353\0\0\0\376\376\376\375\375\375\374\374" + "\375\376\376\376\361\361\363\346\346\350\345\345\350\202\361\361\362\33\361" + "\361\361PPQUUU\363\363\364\360\360\360\40\40\40\317\317\320\357\357\3600" + "00fff\356\356\357\355\355\356OOP``a\375\375\375\0\0\0\376\376\376nno\21\21" + "\21aaa\375\375\375\0\0\0\376\376\376\350\350\352\0\0\0\376\376\376\347\347" + "\351\202\346\346\351\202\345\345\350\1\344\344\347\202\361\361\361\3\360" + "\360\361\320\320\321222\202\0\0\0\31ppp\374\374\374\360\360\361\316\316\317" + "222\0\0\0\20\20\20??@\370\370\370\366\366\367\0\0\0\376\376\376\313\313\314" + "\0\0\0\312\312\312\366\366\366\0\0\0\376\376\376\347\347\352\0\0\0\376\376" + "\376\346\346\351\346\346\350\345\345\350\345\345\347\202\344\344\347\203" + "\360\360\361\3\357\357\360\361\361\362\373\373\373\202\376\376\376\24\367" + "\367\367\355\355\357\355\355\356\357\357\360\372\372\373\376\376\376\375" + "\375\375\371\371\371\353\353\354\352\352\354\376\376\376\351\351\353\354" + "\354\356\376\376\376\354\354\356\350\350\352\376\376\376\347\347\351\346" + "\346\351\376\376\376\202\345\345\350\202\344\344\347\202\343\343\346\1\360" + "\360\361\204\357\357\360\1\236\236\237\202\20\20\20\3\0\0\0\236\236\236\354" + "\354\356\202\354\354\355\2\353\353\355\353\353\354\202\352\352\354\203\351" + "\351\353\202\350\350\352\4\347\347\352\347\347\351\346\346\351\346\346\350" + "\202\345\345\350\202\344\344\347\202\343\343\346\2\342\342\346\342\342\345" + "\203\357\357\360\202\356\356\357\6\0\0\0\302\302\302\375\375\375\206\206" + "\206DDD\362\362\363\202\353\353\355\203\352\352\354\202\351\351\353\202\350" + "\350\352\2\347\347\352\347\347\351\202\346\346\351\202\345\345\350\202\344" + "\344\347\7\343\343\347\343\343\346\342\342\346\342\342\345\341\341\345\341" + "\341\344\357\357\360\203\356\356\357\27\355\355\357\0\0\0fff\320\320\321" + "\354\354\355\364\364\365\371\371\371\0\0\0\273\273\275\352\352\354mmn>>?" + "\350\350\353\0\0\0../\0\0\0MMN\346\346\351\231\231\232\37\37\37==>LLM\344" + "\344\347\202\343\343\346\3\342\342\345\341\341\345\341\341\344\202\340\340" + "\344\202\356\356\357\1\355\355\357\202\355\355\356\2\275\275\276333\202\0" + "\0\0\22\234\234\235\352\352\354^^_fff\355\355\357\37\37\37\303\303\304\370" + "\370\371\0\0\0\334\334\334\371\371\372\0\0\0\366\366\367\17\17\20\275\275" + "\277\373\373\373SSS\365\365\366\202\342\342\345\1\341\341\345\202\340\340" + "\344\202\337\337\343\1\355\355\357\202\355\355\356\1\354\354\356\202\354" + "\354\355\32\357\357\360\372\372\373\207\207\207\0\0\0\360\360\361\312\312" + "\314\0\0\0\304\304\305\20\20\20\373\373\373\354\354\355\0\0\0\376\376\376" + "\350\350\353\0\0\0\376\376\376\0\0\0\374\374\374\350\350\353\342\342\346" + "\365\365\366\341\341\345\341\341\344\340\340\344\340\340\343\337\337\343" + "\202\336\336\342\1\355\355\356\202\354\354\356\32\354\354\355\353\353\355" + "\0\0\0\313\313\314\352\352\354\234\234\235\0\0\0\376\376\376\350\350\352" + "\37\36\37""322onn\374\373\374\346\345\350\0\0\0\376\375\375\344\344\347\0" + "\0\0\376\376\376\17\17\17\251\251\251\342\342\345\36\36\37\341\341\344\340" + "\340\344\340\340\343\202\337\337\343\5\336\336\342\335\335\342\335\335\341" + "\354\354\356\354\354\355\202\353\353\355\27\353\353\354nno\21\21\21\20\20" + "\20\37\36\36\237\236\237\376\374\374\347\345\350|z{\0\0\0\371\367\370\363" + "\361\362\345\343\346\0\0\0\376\374\374\344\342\345\0\0\0\376\375\375\226" + "\226\230\21\21\21\37\37\40iik\372\372\373\202\337\337\343\202\336\336\342" + "\6\335\335\341\334\334\341\334\334\340\354\354\355\353\353\355\353\353\354" + "\202\352\352\354\13\351\351\353\364\364\365\375\374\374\375\373\373\373\371" + "\371\357\355\357\347\345\347|z|DBB\376\374\374\345\343\346\202\344\342\345" + "\11\376\374\374\343\341\344\342\340\343\376\374\374\341\340\344\353\352\354" + "\374\374\374\372\372\372\360\360\361\202\336\336\342\202\335\335\341\4\334" + "\334\340\333\333\340\333\333\337\353\353\355\202\352\352\354\1\352\352\353" + "\202\351\351\353\12\350\347\351\350\346\350\347\345\350\347\345\347\346\344" + "\347\347\344\347:67\246\243\244\367\364\365\345\343\345\202\345\342\344\7" + "\344\341\344\343\341\343\342\337\343\341\337\342\340\336\342\340\336\341" + "\337\337\343\202\336\336\342\5\335\335\342\335\335\341\334\334\341\334\334" + "\340\333\333\340\202\332\332\337\202\352\352\354\202\351\351\353\16\350\350" + "\353\350\347\351\347\345\350\347\345\347\346\344\347\347\344\347\346\343" + "\346\347\343\346\346\343\345\371\366\366\355\352\354\345\342\344\344\341" + "\344\344\341\343\202\343\340\343\2\342\337\343\341\337\342\202\337\335\341" + "\6\336\335\341\335\335\342\335\335\341\334\334\341\334\334\340\333\333\340" + "\202\332\332\337\202\331\331\336\202\351\351\353\1\350\350\353\202\350\350" + "\352\4\347\346\350\347\345\347\346\344\347\347\344\346\202\347\343\346\11" + "\346\343\345\261\255\257GGH\16\16\16\35\35\35---<<<yy{\302\277\302\202\341" + "\336\342\10\337\335\341\336\334\340\335\333\337\334\334\341\334\334\340\333" + "\333\340\333\333\337\332\332\337\202\331\331\336\202\330\330\335\1\351\351" + "\353\202\350\350\352\6\347\347\352\347\347\351\346\344\347\346\344\346\345" + "\343\346\346\343\346\202\346\343\345\4cce\0\0\0\5\5\5\2\2\2\202\0\0\0\12" + "\4\4\4\"\"\"]]]\237\237\240\340\335\341\337\334\340\336\334\337\334\332\336" + "\333\332\337\333\333\340\202\332\332\337\10\331\331\336\330\330\336\330\330" + "\335\327\327\334\326\326\334\350\350\352\347\347\352\347\347\351\202\346" + "\346\351\202\345\343\346\10\345\342\345\346\343\345\345\342\344UUV\0\0\0" + "\21\1\1\200\0\0\357\0\0\202\376\0\0\12\357\0\0\200\0\0\7\7\7ooo\265\265\267" + "\336\333\340\336\333\337\333\331\336\332\331\336\332\332\337\202\331\331" + "\336\5\330\330\335\327\327\335\327\327\334\326\326\334\325\325\333\202\347" + "\347\351\"\346\346\351\346\346\350\345\344\347\345\343\345\344\342\345\345" + "\342\345\345\342\344\257\254\256\0\0\0\21\1\1\317\0\0\376\0\0\376\230\230" + "\376\315\315\376\264\264\376\203\203\376GG\317\0\0\11\11\11\222\222\222\325" + "\322\324\335\332\336\333\331\336\331\330\335\331\331\336\330\330\335\327" + "\327\335\327\327\334\326\326\334\326\326\333\325\325\333\324\324\332\346" + "\346\351\346\346\350\202\345\345\350\12\344\343\346\344\342\345\343\341\344" + "\345\342\344\344\341\343FFG\5\5\5\200\0\0\376\0\0\376\252\252\202\376\376" + "\376\17\376\352\352\376\300\300\376\210\210\376II\200\0\0DDD\314\314\316" + "\334\330\335\332\330\335\330\327\334\330\330\335\327\327\334\326\326\334" + "\326\326\333\325\325\333\202\324\324\332\1\323\323\331\202\345\345\350\202" + "\344\344\347\33\343\342\345\343\341\344\342\340\344\344\341\343\343\340\343" + "\16\16\16\2\2\2\357\0\0\376^^\376\314\314\376\367\367\376\372\372\376\353" + "\353\376\314\314\376\240\240\376jj\357''\14\14\14\325\325\325\333\327\335" + "\331\327\334\327\326\334\327\327\334\326\326\333\325\325\333\325\325\332" + "\324\324\332\202\323\323\331\1\322\322\330\202\344\344\347\30\343\343\347" + "\343\343\346\342\341\345\342\340\343\341\337\343\343\340\343\342\337\343" + "\35\35\35\0\0\0\376\0\0\376rr\376\300\300\376\342\342\376\350\350\376\335" + "\335\376\305\305\376\240\240\376rr\376::\0\0\0\344\344\344\332\326\334\330" + "\326\333\326\325\333\202\325\325\333\1\324\324\332\202\323\323\331\4\322" + "\322\330\321\321\330\321\321\327\344\344\347\202\343\343\346\27\342\342\345" + "\341\340\344\341\337\342\340\336\342\342\337\343\341\336\342---\0\0\0\376" + "\0\0\376gg\376\245\245\376\304\304\376\314\314\376\305\305\376\262\262\376" + "\223\223\376ll\376::\0\0\0\364\364\364\331\325\333\327\325\332\325\324\332" + "\202\324\324\332\7\323\323\331\322\322\331\322\322\330\321\321\327\320\320" + "\327\317\317\326\343\343\346\202\342\342\345>\341\341\345\340\337\343\340" + "\336\342\337\335\341\341\336\342\340\335\341<<<\4\4\4\357\0\0\376LL\376\203" + "\203\376\240\240\376\253\253\376\247\247\376\230\230\376\177\177\376[[\357" + ",,\16\16\16\376\376\376\330\324\332\325\323\331\324\323\331\323\323\331\322" + "\322\331\322\322\330\321\321\330\320\320\327\320\320\326\317\317\326\316" + "\316\325\342\342\345\341\341\345\341\341\344\340\340\344\340\337\342\337" + "\335\341\336\334\340\340\335\341\337\334\341yyz\"\"\"\200\0\0\376))\376\\" + "\\\376yy\376\205\205\376\203\203\376xx\376bb\376CC\200\16\16___\361\361\363" + "\327\324\331\324\322\330\323\322\330\322\322\330\321\321\330\321\321\327" + "\320\320\327\317\317\326\202\316\316\325\4\315\315\324\341\341\344\340\340" + "\344\340\340\343\202\337\337\343\27\336\334\340\335\333\340\336\334\340\336" + "\333\340\300\274\277]]]\7\7\7\317\0\0\37600\376MM\376[[\376\\\\\376SS\376" + "@@\317\35\35\17\17\17\336\336\336\340\335\342\326\322\330\323\321\327\321" + "\320\327\321\321\327\320\320\327\202\317\317\326\1\316\316\325\202\315\315" + "\324\2\314\314\323\340\340\344\202\337\337\343\202\336\336\342\36\335\334" + "\340\334\332\337\335\333\336\335\332\337\336\332\336\243\243\245ooo\11\11" + "\11\200\0\0\357\33\33\376--\37600\357''\200\15\15\17\17\17\316\316\316\353" + "\353\356\325\322\330\323\321\327\321\317\325\320\317\326\320\320\326\317" + "\317\326\316\316\325\315\315\325\315\315\324\314\314\323\313\313\323\313" + "\313\322\337\337\343\202\336\336\342\202\335\335\341\12\334\333\337\333\331" + "\336\333\331\335\333\331\336\335\331\335\334\330\335\263\263\265\222\222" + "\222DDD\14\14\14\202\0\0\0\11\16\16\16___\336\336\336\353\353\356\325\322" + "\327\324\320\327\321\317\326\320\317\325\317\317\326\202\316\316\325%\315" + "\315\324\314\314\324\313\313\323\313\313\322\312\312\322\311\311\321\336" + "\336\342\335\335\342\335\335\341\334\334\341\334\334\340\333\333\340\332" + "\331\336\332\330\335\331\330\334\332\327\335\333\327\334\332\326\334\322" + "\317\322\313\313\315\325\325\325\344\344\344\364\364\364\376\376\376\361" + "\361\363\337\334\341\324\321\327\324\320\326\321\317\326\317\315\324\317" + "\316\325\316\316\325\315\315\324\314\314\324\314\314\323\313\313\323\312" + "\312\322\202\311\311\321\5\310\310\320\335\335\341\334\334\341\334\334\340" + "\333\333\340\202\332\332\337\6\331\330\335\331\327\334\330\326\333\327\325" + "\333\330\326\333\330\325\333\202\330\324\332\202\327\324\331\14\326\323\330" + "\325\322\327\324\321\327\324\321\326\322\317\326\320\316\325\317\315\324" + "\316\315\324\315\315\325\315\315\324\314\314\323\313\313\323\202\312\312" + "\322\7\311\311\321\310\310\320\307\307\320\307\307\317\333\333\340\333\333" + "\337\332\332\337\202\331\331\336\202\330\330\335\31\327\327\334\326\325\333" + "\326\324\331\325\323\331\324\323\330\325\323\331\324\322\330\323\321\330" + "\323\321\327\322\320\327\321\317\326\321\317\325\320\316\325\316\314\323" + "\316\315\324\315\314\323\314\314\324\313\313\323\313\313\322\312\312\322" + "\311\311\321\310\310\321\310\310\320\307\307\317\306\306\317\202\305\305" + "\316\202\223\223\224\1\224\224\224\202\224\224\225\202\225\225\226\202\226" + "\226\226\1\226\226\227\204\227\226\226\205\230\227\227\2\227\226\227\227" + "\226\226\205\227\227\227\202\226\226\227\203\226\226\226\202\225\225\226" + "\1\224\224\226\242\232\320\25\242\230\317\25\242\227\317\24\242\242\323-" + "\242\235\317*\242\230\311&\242\222\302$\242\214\273!\242\206\264\36", +}; + diff --git a/src/image_data/gvo_banner_comp_sync_yellow.h b/src/image_data/gvo_banner_comp_sync_yellow.h new file mode 100644 index 0000000..87126b7 --- /dev/null +++ b/src/image_data/gvo_banner_comp_sync_yellow.h @@ -0,0 +1,188 @@ +/* GIMP RGB C-Source image dump 1-byte-run-length-encoded */ + +#include "image.h" + +static const nv_image_t gvo_banner_comp_sync_yellow_image = { + 34, 60, 3, + "\242\201\221\33\242\235\257!\242\261\306&\242\301\326,\242\314\340.\242\321" + "\345/\242\324\3462\242\325\3472\304\334\3567\242\335\3578\203\374\374\374" + "\203\373\373\374\205\372\372\373\203\371\371\372\203\370\370\372\202\370" + "\370\371\2\367\367\371\367\367\370\204\366\366\370\203\365\365\367\203\364" + "\364\366\202\363\363\366\1\363\363\365\204\364\364\364\1\363\363\364\205" + "\363\363\363\202\362\362\363\202\362\362\362\202\361\361\362\202\361\361" + "\361\203\360\360\361\203\357\357\360\203\356\356\357\1\355\355\357\202\355" + "\355\356\2\354\354\356\354\354\355\202\353\353\355\203\364\364\364\1\363" + "\363\364\205\363\363\363\202\362\362\363\203\362\362\362\202\361\361\362" + "\1\361\361\361\203\360\360\361\1\360\360\360\203\357\357\360\202\356\356" + "\357\1\355\355\357\202\355\355\356\1\354\354\356\202\354\354\355\2\353\353" + "\355\353\353\354\202\364\364\364\205\363\363\363\202\362\362\363\203\362" + "\362\362\202\361\361\362\1\361\361\361\203\360\360\361\1\360\360\360\203" + "\357\357\360\203\356\356\357\202\355\355\356\202\354\354\356\1\354\354\355" + "\202\353\353\355\202\352\352\354\1\363\363\364\205\363\363\363\1\362\362" + "\363\203\362\362\362\202\361\361\362\202\361\361\361\202\360\360\361\1\360" + "\360\360\203\357\357\360\203\356\356\357\1\355\355\357\202\355\355\356\2" + "\354\354\356\354\354\355\202\353\353\355\1\353\353\354\202\352\352\354\1" + "\351\351\353\204\363\363\363\1AAA\202\0\0\0\1qqq\202\361\361\362\2\321\321" + "\321000\202\20\20\20\3@@A\317\317\320\357\357\360\202\0\0\0\202\356\356\357" + "\6\355\355\357\40\40\40\0\0\0\354\354\356\354\354\355\0\0\0\202\20\20\20" + "\2\0\0\0nno\203\351\351\353\202\363\363\363\22\362\362\363aabAAA\373\373" + "\373\376\376\376\0\0\0\306\306\306\361\361\361@@Aaab\373\373\373\375\375" + "\375UUUTTT\361\361\362\0\0\0\"\"\"\251\251\251\202\355\355\356\202\0\0\0" + "\10\376\376\376\353\353\355\0\0\0\376\376\376\375\375\375\312\312\312\0\0" + "\0\364\364\365\202\350\350\352\"\363\363\363\362\362\363\362\362\362\20\20" + "\20\307\307\307\373\373\373\361\361\362\361\361\361\376\376\376\363\363\364" + "\0\0\0\331\331\331\370\370\370\357\357\360\277\277\300\0\0\0\371\371\371" + "\0\0\0wwwCCC\362\362\363~~\177___\0\0\0\376\376\376\352\352\354\0\0\0\376" + "\376\376\351\351\353\233\233\234\0\0\0\376\376\376\347\347\352\347\347\351" + "\203\362\362\362\4\0\0\0\375\375\375\364\364\364\361\361\361\203\360\360" + "\361\3\0\0\0\376\376\376\361\361\362\202\356\356\357\24\0\0\0\376\376\376" + "\0\0\0\334\334\334\0\0\0\371\371\371//0\303\303\304\0\0\0\376\376\376\352" + "\352\354\0\0\0\21\21\21\20\20\20\0\0\0\200\200\200\376\376\376\347\347\351" + "\346\346\351\362\362\362\202\361\361\362\2\0\0\0\313\313\313\203\360\360" + "\361\202\357\357\360\2\0\0\0\376\376\376\202\356\356\357\24\275\275\277\20" + "\20\20\376\376\376\0\0\0\376\376\376\40\40\40\251\251\251\20\20\20\372\372" + "\372\0\0\0\376\376\376\351\351\353\0\0\0\376\376\376\375\375\375\374\374" + "\375\376\376\376\361\361\363\346\346\350\345\345\350\202\361\361\362\33\361" + "\361\361PPQUUU\363\363\364\360\360\360\40\40\40\317\317\320\357\357\3600" + "00fff\356\356\357\355\355\356OOP``a\375\375\375\0\0\0\376\376\376nno\21\21" + "\21aaa\375\375\375\0\0\0\376\376\376\350\350\352\0\0\0\376\376\376\347\347" + "\351\202\346\346\351\202\345\345\350\1\344\344\347\202\361\361\361\3\360" + "\360\361\320\320\321222\202\0\0\0\31ppp\374\374\374\360\360\361\316\316\317" + "222\0\0\0\20\20\20??@\370\370\370\366\366\367\0\0\0\376\376\376\313\313\314" + "\0\0\0\312\312\312\366\366\366\0\0\0\376\376\376\347\347\352\0\0\0\376\376" + "\376\346\346\351\346\346\350\345\345\350\345\345\347\202\344\344\347\203" + "\360\360\361\3\357\357\360\361\361\362\373\373\373\202\376\376\376\24\367" + "\367\367\355\355\357\355\355\356\357\357\360\372\372\373\376\376\376\375" + "\375\375\371\371\371\353\353\354\352\352\354\376\376\376\351\351\353\354" + "\354\356\376\376\376\354\354\356\350\350\352\376\376\376\347\347\351\346" + "\346\351\376\376\376\202\345\345\350\202\344\344\347\202\343\343\346\1\360" + "\360\361\204\357\357\360\1\236\236\237\202\20\20\20\3\0\0\0\236\236\236\354" + "\354\356\202\354\354\355\2\353\353\355\353\353\354\202\352\352\354\203\351" + "\351\353\202\350\350\352\4\347\347\352\347\347\351\346\346\351\346\346\350" + "\202\345\345\350\202\344\344\347\202\343\343\346\2\342\342\346\342\342\345" + "\203\357\357\360\202\356\356\357\6\0\0\0\302\302\302\375\375\375\206\206" + "\206DDD\362\362\363\202\353\353\355\203\352\352\354\202\351\351\353\202\350" + "\350\352\2\347\347\352\347\347\351\202\346\346\351\202\345\345\350\202\344" + "\344\347\7\343\343\347\343\343\346\342\342\346\342\342\345\341\341\345\341" + "\341\344\357\357\360\203\356\356\357\27\355\355\357\0\0\0fff\320\320\321" + "\354\354\355\364\364\365\371\371\371\0\0\0\273\273\275\352\352\354mmn>>?" + "\350\350\353\0\0\0../\0\0\0MMN\346\346\351\231\231\232\37\37\37==>LLM\344" + "\344\347\202\343\343\346\3\342\342\345\341\341\345\341\341\344\202\340\340" + "\344\202\356\356\357\1\355\355\357\202\355\355\356\2\275\275\276333\202\0" + "\0\0\22\234\234\235\352\352\354^^_fff\355\355\357\37\37\37\303\303\304\370" + "\370\371\0\0\0\334\334\334\371\371\372\0\0\0\366\366\367\17\17\20\275\275" + "\277\373\373\373SSS\365\365\366\202\342\342\345\1\341\341\345\202\340\340" + "\344\202\337\337\343\1\355\355\357\202\355\355\356\1\354\354\356\202\354" + "\354\355\32\357\357\360\372\372\373\207\207\207\0\0\0\360\360\361\312\312" + "\314\0\0\0\304\304\305\20\20\20\373\373\373\354\354\355\0\0\0\376\376\376" + "\350\350\353\0\0\0\376\376\376\0\0\0\374\374\374\350\350\353\342\342\346" + "\365\365\366\341\341\345\341\341\344\340\340\344\340\340\343\337\337\343" + "\202\336\336\342\1\355\355\356\202\354\354\356\32\354\354\355\353\353\355" + "\0\0\0\313\313\314\352\352\354\234\234\235\0\0\0\376\376\376\350\350\352" + "\37\37\40""333ooo\374\374\375\346\346\351\0\0\0\376\376\376\344\344\347\0" + "\0\0\376\376\376\17\17\17\251\251\251\342\342\345\36\36\37\341\341\344\340" + "\340\344\340\340\343\202\337\337\343\5\336\336\342\335\335\342\335\335\341" + "\354\354\356\354\354\355\202\353\353\355\27\353\353\354nno\21\21\21\20\20" + "\20\37\37\37\237\237\240\376\376\376\347\347\352||}\0\0\0\371\371\372\363" + "\363\364\345\345\350\0\0\0\376\376\376\344\344\347\0\0\0\376\376\376\226" + "\226\230\21\21\21\37\37\40iik\372\372\373\202\337\337\343\202\336\336\342" + "\6\335\335\341\334\334\341\334\334\340\354\354\355\353\353\355\353\353\354" + "\202\352\352\354\2\351\351\353\364\364\365\202\375\375\375\7\373\373\373" + "\357\357\361\347\347\350{{{@A>\375\376\373\344\345\345\202\343\344\344\11" + "\375\376\374\343\343\345\342\342\345\376\376\376\341\341\345\353\353\355" + "\374\374\374\372\372\372\360\360\361\202\336\336\342\202\335\335\341\4\334" + "\334\340\333\333\340\333\333\337\353\353\355\202\352\352\354\1\352\352\353" + "\202\351\351\353\202\350\350\352\10\347\347\352\347\347\350\345\346\346\345" + "\345\343,,&\235\236\227\364\365\356\341\342\335\202\340\341\334\7\337\340" + "\335\340\341\336\340\340\342\341\341\343\340\340\344\340\340\343\337\337" + "\343\202\336\336\342\5\335\335\342\335\335\341\334\334\341\334\334\340\333" + "\333\340\202\332\332\337\202\352\352\354\202\351\351\353\32\350\350\353\350" + "\350\352\347\347\352\347\347\351\346\346\350\345\345\344\343\343\337\342" + "\343\335\341\342\334\366\367\356\351\352\344\340\341\333\337\340\333\337" + "\340\332\336\337\332\336\337\331\335\336\332\336\337\335\336\337\341\337" + "\337\343\336\336\342\335\335\342\335\335\341\334\334\341\334\334\340\333" + "\333\340\202\332\332\337\202\331\331\336\202\351\351\353\1\350\350\353\202" + "\350\350\352\202\347\347\351\15\346\346\350\345\345\343\342\343\336\342\343" + "\335\341\342\334\250\251\242JJK\16\16\16\35\35\35---<<<}}~\273\274\266\202" + "\334\335\330\10\334\335\333\336\336\341\335\335\341\334\334\341\334\334\340" + "\333\333\340\333\333\337\332\332\337\202\331\331\336\202\330\330\335\1\351" + "\351\353\202\350\350\352\6\347\347\352\347\347\351\346\346\351\346\346\350" + "\344\345\345\343\343\337\202\341\342\334\4hhi\0\0\0\5\5\5\2\2\2\202\0\0\0" + "\10\4\4\4\"\"\"]]]\244\244\244\333\334\327\332\333\326\334\334\335\334\334" + "\340\202\333\333\340\202\332\332\337\10\331\331\336\330\330\336\330\330\335" + "\327\327\334\326\326\334\350\350\352\347\347\352\347\347\351\202\346\346" + "\351\12\345\345\350\345\345\347\343\343\341\341\342\334\340\341\333YYZ\0" + "\0\0\16\16\1ee\0\274\274\0\202\310\310\0\10\274\274\0ee\0\7\7\7ooo\274\274" + "\274\331\332\326\332\333\330\333\333\337\202\332\332\337\202\331\331\336" + "\5\330\330\335\327\327\335\327\327\334\326\326\334\325\325\333\202\347\347" + "\351\27\346\346\351\346\346\350\345\345\350\345\345\347\344\344\345\342\342" + "\336\340\341\333\246\247\241\0\0\0\16\16\1\243\243\0\310\310\0\326\343o\335" + "\356\237\332\351\207\324\337^\316\3230\243\243\0\11\11\11\222\222\222\317" + "\320\312\330\331\324\331\331\333\202\331\331\336\11\330\330\335\327\327\335" + "\327\327\334\326\326\334\326\326\333\325\325\333\324\324\332\346\346\351" + "\346\346\350\202\345\345\350\202\344\344\347\10\342\343\343\340\341\334\337" + "\340\332JJJ\5\5\5ee\0\310\310\0\330\346\177\202\345\376\340\11\341\367\302" + "\333\353\222\325\340b\316\3241ee\0DDD\321\321\321\326\327\323\330\330\331" + "\202\330\330\335\4\327\327\334\326\326\334\326\326\333\325\325\333\202\324" + "\324\332\1\323\323\331\202\345\345\350\202\344\344\347\202\343\343\346\31" + "\341\342\343\337\340\333\336\337\332\16\16\16\2\2\2\274\274\0\320\330A\335" + "\356\237\344\374\327\344\375\334\341\367\304\335\356\237\327\344v\321\332" + "I\300\303\31\14\14\14\325\325\325\325\326\323\327\327\327\327\327\335\327" + "\327\334\326\326\333\325\325\333\325\325\332\324\324\332\202\323\323\331" + "\1\322\322\330\202\344\344\347\30\343\343\347\343\343\346\342\342\346\342" + "\342\345\340\341\342\336\337\332\335\336\331\35\35\35\0\0\0\310\310\0\322" + "\333P\333\353\222\340\364\267\341\366\277\337\363\261\334\354\227\327\344" + "v\322\333P\315\321'\0\0\0\344\344\344\324\325\322\326\326\326\326\326\334" + "\202\325\325\333\1\324\324\332\202\323\323\331\4\322\322\330\321\321\330" + "\321\321\327\344\344\347\202\343\343\346\27\342\342\345\341\341\345\341\341" + "\344\337\340\341\335\336\332\334\335\330---\0\0\0\310\310\0\321\331G\330" + "\345z\333\354\226\335\356\237\334\355\230\331\350\205\326\342k\322\332K\315" + "\321'\0\0\0\364\364\364\323\324\321\325\325\325\325\325\333\202\324\324\332" + "\7\323\323\331\322\322\331\322\322\330\321\321\327\320\320\327\317\317\326" + "\343\343\346\202\342\342\345\1\341\341\345\202\340\340\344;\336\337\340\334" + "\335\331\333\334\327<<<\4\4\4\274\274\0\317\3244\324\336^\327\344v\330\347" + "\200\330\346|\326\343o\324\335Z\320\327?\300\303\35\16\16\16\376\376\376" + "\322\323\320\323\323\324\324\324\332\323\323\331\322\322\331\322\322\330" + "\321\321\330\320\320\327\320\320\326\317\317\326\316\316\325\342\342\345" + "\341\341\345\341\341\344\340\340\344\340\340\343\337\337\343\335\336\340" + "\333\334\331\332\333\327}}}\"\"\"ee\0\314\317\33\320\327?\323\335U\324\337" + "_\324\337^\323\334T\321\330D\316\323-fg\11___\366\366\367\321\322\317\322" + "\322\325\323\323\331\322\322\330\321\321\330\321\321\327\320\320\327\317" + "\317\326\202\316\316\325\4\315\315\324\341\341\344\340\340\344\340\340\343" + "\202\337\337\343\27\336\336\342\335\335\341\333\334\332\331\332\326\270\271" + "\263]]]\7\7\7\243\243\0\314\320\40\317\3254\320\327?\320\327@\317\3269\316" + "\322+\245\250\24\17\17\17\336\336\336\333\334\330\320\321\317\321\322\326" + "\321\321\330\321\321\327\320\320\327\202\317\317\326\1\316\316\325\202\315" + "\315\324\2\314\314\323\340\340\344\202\337\337\343\202\336\336\342\36\335" + "\335\341\334\334\341\333\333\335\330\331\326\330\331\324\252\252\253ooo\11" + "\11\11ee\0\277\301\22\314\317\36\314\320\40\277\303\31fg\10\17\17\17\316" + "\316\316\363\363\364\317\320\316\321\321\322\321\321\327\320\320\327\320" + "\320\326\317\317\326\316\316\325\315\315\325\315\315\324\314\314\323\313" + "\313\323\313\313\322\337\337\343\202\336\336\342\202\335\335\341\12\334\334" + "\340\333\333\340\333\333\336\330\331\330\327\330\323\326\327\323\272\272" + "\273\222\222\222DDD\14\14\14\202\0\0\0\11\16\16\16___\336\336\336\362\362" + "\364\317\320\315\317\317\317\317\320\325\320\320\326\317\317\326\202\316" + "\316\325\14\315\315\324\314\314\324\313\313\323\313\313\322\312\312\322\311" + "\311\321\336\336\342\335\335\342\335\335\341\334\334\341\334\334\340\333" + "\333\340\202\332\332\337\17\330\331\334\326\327\327\325\326\322\324\325\322" + "\314\315\307\320\320\321\325\325\325\344\344\344\364\364\364\376\376\376" + "\366\366\367\332\333\327\316\317\315\317\317\316\317\317\323\202\317\317" + "\326\6\316\316\325\315\315\324\314\314\324\314\314\323\313\313\323\312\312" + "\322\202\311\311\321\5\310\310\320\335\335\341\334\334\341\334\334\340\333" + "\333\340\202\332\332\337\202\331\331\336\4\330\330\335\327\327\334\326\326" + "\330\324\325\324\202\322\323\320\202\321\322\317\2\320\321\316\317\320\315" + "\202\316\317\315\10\317\317\321\316\317\324\317\317\326\316\316\325\315\315" + "\325\315\315\324\314\314\323\313\313\323\202\312\312\322\7\311\311\321\310" + "\310\320\307\307\320\307\307\317\333\333\340\333\333\337\332\332\337\202" + "\331\331\336\202\330\330\335\15\327\327\334\326\326\334\326\326\333\325\325" + "\333\324\324\331\323\323\326\322\322\324\321\321\323\321\321\322\320\320" + "\322\317\317\321\317\317\322\316\317\324\202\316\316\325\12\315\315\324\314" + "\314\324\313\313\323\313\313\322\312\312\322\311\311\321\310\310\321\310" + "\310\320\307\307\317\306\306\317\202\305\305\316\202\223\223\224\1\224\224" + "\224\202\224\224\225\202\225\225\226\202\226\226\226\1\226\226\227\204\227" + "\227\227\205\230\230\230\1\227\227\230\206\227\227\227\202\226\226\227\203" + "\226\226\226\202\225\225\226\1\224\224\226\242\232\320\25\242\230\317\25" + "\242\227\317\24\242\242\323-\242\235\317*\242\230\311&\242\222\302$\242\214" + "\273!\242\206\264\36", +}; + diff --git a/src/image_data/gvo_banner_left.h b/src/image_data/gvo_banner_left.h new file mode 100644 index 0000000..a87539b --- /dev/null +++ b/src/image_data/gvo_banner_left.h @@ -0,0 +1,340 @@ +/* GIMP RGB C-Source image dump 1-byte-run-length-encoded */ + +#include "image.h" + +static const nv_image_t gvo_banner_left_image = { + 70, 60, 3, + "\11S]\21Xc\22`k\23hv\25p\177\27x\206\30}\214\32\200\220\33\200\221\33\275" + "\201\221\33\10`k\25iu\26s\200\31\177\214\33\211\231\35\222\242\37\227\251" + "\40\232\255!\202\234\256!\274\235\257!\11ly\27u\203\32\201\220\34\217\240" + "\37\233\254\"\244\270$\254\300%\257\304&\260\305&\275\261\306&\11u\201\32" + "\200\215\35\216\235\40\235\256$\253\275'\265\311)\273\320*\277\325+\300\325" + ",\275\301\326,\11|\207\34\210\226\37\227\246\"\250\271&\266\310)\301\323" + ",\307\333-\312\336-\313\337.\275\314\340.\7\200\214\35\214\232\40\236\255" + "$\256\277'\275\320*\307\332-\315\341.\202\320\344/\275\321\345/\10\202\215" + "\37\221\235\"\242\260&\264\304+\302\322.\313\3340\321\3421\322\3442\276\324" + "\3462\10\203\216\37\223\237#\245\263'\267\306+\306\326.\316\3370\323\344" + "1\324\3462\276\325\3472\10\201\214\40\221\235$\244\261)\266\305.\304\324" + "1\313\3342\317\3404\323\3455\276\334\3567\10\201\214\40\223\237%\247\264" + "*\271\310.\307\3272\315\3363\320\3414\326\3476\276\334\3567\10\204\216!\226" + "\242&\253\271+\275\314/\311\3313\320\3404\321\3425\332\3547\276\335\3578" + "\10\206\220\"\231\244'\256\274,\301\3170\314\3333\321\3414\323\3435\335\356" + "8\270\336\3578\15\337\357E\341\357`\344\357y\346\357\223\350\356\254\353" + "\357\307\206\220\"\232\245'\261\276,\303\3221\315\3353\321\3415\325\3466" + "\271\336\3578\15\335\355D\332\350[\331\344w\331\340\234\324\332\237\322\326" + "\266\206\221\"\235\251'\263\301-\305\3231\316\3364\321\3415\327\3476\271" + "\336\3578\15\341\356b\350\356\254\352\354\337\345\346\344\335\337\330\325" + "\327\303\207\221\"\235\251'\265\304.\306\3252\320\3404\321\3415\331\3517" + "\266\336\3578\20\337\357=\350\364w\364\371\276\367\371\344\361\362\345\353" + "\354\345\345\346\344\337\340\343\330\331\323\207\222#\237\254(\267\305.\307" + "\3272\317\3404\321\3425\332\3537\211\335\3578\31\336\357=\324\350c\316\344" + "c\315\343b\314\343a\313\342`\312\342_\311\341^\310\340]\307\340\\\306\337" + "[\305\337Z\304\336X\302\335W\301\335V\300\334U\244\312K\230\303G\232\303" + "X\230\302W\226\301T\224\300R\221\276P\220\275N\241\311G\222\335\3578\22\341" + "\361P\354\366\222\366\373\321\371\374\340\371\374\342\367\371\344\361\362" + "\345\354\354\345\346\347\345\340\341\343\330\331\325\207\222\"\240\255(\271" + "\310.\307\3302\317\3374\320\3414\332\3547\211\334\3567\31\340\360P\247\312" + "\224\224\276\224o\247on\252nd\240db\244bY\231YY\236YV\232VZ\231Zn\246nj\243" + "jf\241f\200\262\200q\224qo\223om\221mj\220jh\216hf\215f=\177=@\212@<\207" + "<v\253v\202\365\372\314\1\351\364\201\214\334\3567\24\335\356;\345\362l\360" + "\367\254\367\373\326\370\373\331\370\373\334\371\374\337\371\374\342\367" + "\371\344\361\362\345\354\355\345\346\347\345\341\341\344\331\332\326\210" + "\224\"\243\260)\273\312.\311\3313\317\3404\321\3424\212\334\3567\17\337\356" + "e\227\277\227\220\274\220L\222LN\234N?\211??\224?3\20037\21475\2105A\210" + "Am\245mi\243ie\240e\237\304\237\206,/,\4\"=\"?\211?:\207:i\243i\202\376\376" + "\376\1\363\371\277\212\334\3567\26\337\357H\351\364\204\363\371\300\366\372" + "\320\367\373\323\367\373\326\370\373\331\370\373\334\371\374\337\371\374" + "\342\367\371\344\361\363\345\354\355\346\346\347\345\341\342\344\331\333" + "\326\210\224!\243\261(\272\314.\310\3321\315\3402\321\3453\212\332\3565\17" + "\315\343}\226\277\226\206\271\206J\221JL\232L=\210==\223=2\20026\21364\207" + "4G\212Gl\245lh\242hc\237c\237\304\237\206,/,\4\40""7\40=\210=9\20695\203" + "5\203\376\376\376\210\332\3565\30\342\362a\354\366\231\364\372\306\365\372" + "\311\365\372\314\366\372\317\366\373\322\367\373\326\367\373\331\370\373" + "\334\370\374\337\371\374\341\366\371\344\361\363\345\354\355\345\347\350" + "\345\341\342\345\333\334\331\210\225\40\243\263'\273\313-\310\3320\314\337" + "2\320\3442\211\331\3554\20\332\3559\273\326\217\225\276\225z\265zH\217HJ" + "\231J;\207;;\222;2\20026\21264\2054M\214Mk\244kf\241fb\237b\236\303\236\205" + ",/,\6,.,\34%\34<\210<8\20584\2024\233\257\233\202\276\276\276\1\322\341W" + "\204\331\3554\33\333\356@\345\362u\357\367\256\362\371\276\363\371\301\364" + "\371\305\364\372\311\365\372\314\365\372\317\366\372\322\367\373\325\367" + "\373\331\370\373\334\370\373\337\371\374\341\366\371\345\362\363\345\354" + "\355\346\347\350\346\342\343\345\333\335\331\210\225\40\243\263'\272\314" + "-\307\332/\312\3361\321\3452\211\327\3543\20\334\356M\246\311\223\223\275" + "\223o\262oF\216FH\230H9\2069:\221:2\17725\21154\2044M\214Mj\243je\241ea\236" + "a\235\303\235\205,/,\6,.,\40'\40""2s27\20473\2023\243\307\243\202\376\376" + "\376\1\355\366\244\202\327\3543\35\336\357U\347\364\210\360\367\264\360\370" + "\267\361\370\273\362\370\276\362\371\301\363\371\305\364\371\310\364\372" + "\314\365\372\317\366\372\322\366\372\325\367\373\330\367\373\334\370\373" + "\337\370\373\341\366\371\344\362\363\345\354\356\346\347\350\346\343\343" + "\345\334\335\332\207\225!\243\265'\273\317.\306\3341\311\3372\320\3462\211" + "\325\3543\20\331\355b\226\277\226\222\275\222Z\243ZE\215EF\230F7\20579\220" + "91}15\21053\2023L\213Lh\243hd\240d`\235`\234\303\234\205,/,\6+.+#)#.l.6\204" + "61\2011o\247o\202\376\376\376\40\364\372\315\340\361h\352\365\231\356\367" + "\254\356\367\260\357\367\264\360\370\267\360\370\273\361\370\276\362\371" + "\301\363\371\305\363\371\310\364\372\314\365\372\317\365\372\322\366\372" + "\325\366\373\330\367\373\334\370\373\337\370\373\341\366\371\344\361\363" + "\345\355\356\346\347\350\346\343\344\345\334\336\334\207\225\40\243\265&" + "\273\320,\304\332.\310\3360\317\345/\211\323\3520\20\312\341\200\225\276" + "\225\213\272\213S\236SC\214CD\227D6\20368\21780|04\20642\2012R\215Rl\247" + "lw\262wr\260r\247\316\247\204-0-)-/-,/,*.*(_(?\234?:\231:.\204.\241\312@" + "\342\361w\352\365\235\353\365\244\354\366\247\355\366\253\355\366\256\356" + "\367\263\357\367\266\360\367\272\361\370\275\361\370\300\362\370\304\363" + "\371\310\363\371\313\364\371\316\365\372\321\365\372\325\366\372\330\367" + "\373\333\367\373\336\370\373\341\366\370\344\361\364\345\355\356\346\350" + "\351\346\344\344\346\335\336\335\205\225\37\243\267&\272\321+\304\334.\306" + "\336/\316\346.\210\321\352/\35\323\353:\271\325\216\224\276\224\201\267\201" + "Q\235QA\212AB\226B4\20248\21680{04\20542\2002W\217Wp\253p\210\305\210\213" + "\307\213\244\320\244\205\244\206\200\237\200y\232zr\225tk\217md\212f\\\204" + "^S\220VM\252NB\262B3\2233\361\366\361\202\376\376\376\37\360\370\300\353" + "\366\247\354\366\253\355\366\256\356\367\262\356\367\265\357\367\271\360" + "\370\275\361\370\300\361\370\304\362\371\307\363\371\313\364\371\316\364" + "\372\321\365\372\324\366\372\330\366\373\333\367\373\336\370\373\341\366" + "\370\344\361\364\345\355\357\346\350\351\346\343\344\346\336\337\335\204" + "\224\36\243\267%\271\317+\303\333,\304\334-\315\345,\210\317\350-\35\326" + "\353L\245\311\223\223\275\223x\264xO\234O?\212?@\225@3\20137\2157/z/4\203" + "41\2001W\217Wo\252o\242\316\242\274\306\274\261\266\262\306\306\306\343\343" + "\343\357\357\357\366\366\367\320\320\323\262\262\265\204\204\210\\\\aTXZ" + "ItN5\2255\213\245\213\202\276\276\276\37\307\313\254\352\365\246\353\365" + "\252\354\366\255\355\366\261\356\366\265\357\367\271\357\367\274\360\367" + "\277\361\370\304\362\370\307\362\371\312\363\371\315\364\371\321\365\372" + "\324\365\372\327\366\372\333\367\373\336\367\373\340\366\370\344\362\363" + "\345\355\357\346\351\352\346\344\345\346\337\340\337\202\223\35\242\267%" + "\271\320*\302\333+\304\334,\313\345,\210\315\347,\21\325\352b\226\277\226" + "\222\274\222\\\233\\D\214D>\210>A\212A[\231[Z\226ZX\223XB\201B,q,X\225Xx" + "\256x\270\274\270\255\255\256\356\356\356\202\376\376\376\12\366\366\367" + "\347\347\351\324\324\327\277\277\303\247\247\255\203\203\212\\\\aQQW6H:\217" + "\264\217\202\376\376\376\37\373\375\362\351\364\245\352\365\252\353\365\255" + "\354\366\261\355\366\264\356\366\270\357\367\274\357\367\277\360\370\303" + "\361\370\307\362\370\312\363\371\315\363\371\320\364\371\324\365\372\327" + "\366\372\332\367\372\336\367\373\340\366\370\344\361\363\345\355\357\346" + "\351\352\347\345\345\346\337\341\341\200\222\35\243\272%\267\321)\300\332" + "*\301\333+\311\345+\210\312\346+\16\306\340}\225\276\225\221\274\221N\222" + "NC\213C<\207<Y\231Y\203\262\203\202\257\202\201\255\201L\207L+o+[\227[\177" + "\251\177\202\261\261\261.\371\371\371\376\376\376\366\366\367\347\347\351" + "\324\324\327\277\277\303\247\247\255\215\215\225mmuRRV\\\\aQQW\15-\15\300" + "\334\202\346\363\236\347\364\242\350\364\245\351\364\251\352\365\255\353" + "\365\261\354\366\264\355\366\270\356\366\273\357\367\277\360\367\303\360" + "\370\306\361\370\312\362\370\315\363\371\320\364\371\324\364\372\327\365" + "\372\332\366\372\336\367\373\340\365\370\343\361\364\345\355\357\346\351" + "\352\347\345\346\347\337\341\341\200\222\34\242\272$\271\323)\300\333+\301" + "\334+\310\345*\207\311\346*\17\314\3475\267\324\215\224\276\224\203\263\203" + "H\217HA\212A:\206:b\236b\203\261\203\202\257\202\201\254\201A\200A*n*f\241" + "ft\222t\202\261\261\261\15""000\252\252\252\347\347\351\324\324\327\277\277" + "\303\247\247\255\215\215\225``g\32\32\34\33\33\34ffk\\\\a\6\27\6\203\376" + "\376\376\35\362\370\314\351\364\251\352\365\254\353\365\260\354\366\264\355" + "\366\270\355\366\273\356\367\277\357\367\303\360\370\306\361\370\311\362" + "\370\315\363\371\320\363\371\323\364\372\327\365\372\332\366\372\335\367" + "\373\340\365\371\343\361\364\345\356\360\346\351\353\347\346\347\347\341" + "\342\344\177\221\33\243\272$\267\322(\275\331*\300\335+\210\306\344)\22\316" + "\350I\243\310\221\223\275\223v\253vF\215F?\211?8\2058p\246p\202\260\202\201" + "\256\201\200\253\200A\177A*m*e\240eMsM\246\246\246\261\261\261CCC\202\0\0" + "\0\3""223,,.&&(\203\0\0\0\5==?ppu``e\2\7\2\324\344\324\202\376\376\376\35" + "\367\373\342\350\364\250\350\364\254\352\365\260\352\365\263\354\365\270" + "\354\366\273\355\366\276\356\367\302\357\367\306\360\370\311\361\370\314" + "\362\370\320\363\371\323\364\371\327\365\372\332\365\372\335\366\372\340" + "\365\371\343\361\364\345\356\357\346\352\353\350\347\347\347\341\342\344" + "~\221\32\242\272\"\266\322&\275\332)\276\334)\210\304\343&\37\316\347^\226" + "\277\226\222\274\222h\242hD\214D=\210=6\2046g\231gj\226ji\224ig\221g1t1*" + "l*d\240dj\244j9F9zzz\261\261\261\220\220\220YYY,,,+++))*(((KKLrrt\202\202" + "\205[[^\25\25\26\20=\20|\242|\202\276\276\276\36\275\276\271\347\363\247" + "\350\364\253\351\364\257\352\365\262\353\365\267\354\366\272\355\366\275" + "\356\366\302\357\367\305\360\367\310\361\370\314\361\370\317\362\371\323" + "\363\371\326\364\371\331\365\372\335\366\372\337\365\371\343\361\364\345" + "\356\357\347\352\354\347\346\347\347\342\343\345|\217\31\237\272!\264\322" + "%\273\331(\275\333)\301\341%\207\301\341$\37\303\336\177\225\276\225\220" + "\274\220Z\232ZB\213B;\207;5\2035\203\262\203\202\257\202\201\255\201\200" + "\252\200+o+-n-b\237bq\260qv\266v<a<\34""0\34\33""0\33\31/\31\30/\30\27.\27" + "\25.\25\24.\24\22-\22\21-\21\17,\17\16+\16\36j\36)\234)q\247q\203\376\376" + "\376\35\354\365\274\347\363\252\350\363\256\351\364\262\352\364\266\353\365" + "\271\354\365\275\355\366\301\356\366\304\357\367\310\360\367\313\361\370" + "\317\362\370\322\363\371\326\364\371\331\365\372\335\365\372\337\364\370" + "\343\361\364\345\356\360\347\352\354\350\347\350\350\343\344\346{\220\32" + "\236\272#\263\322'\273\332*\273\333+\277\341&\206\277\341%\40\304\3435\263" + "\323\212\224\275\224\217\273\217G\216G@\212@:\206:C\213C\202\261\202\202" + "\256\202\201\254\201\200\251\200*n*8x8a\236ao\257o|\301|\217\314\217\215" + "\276\215s\246s\206\275\206k\244k\177\273\177|\272|x\271xt\270tq\266qU\235" + "Ui\263i/\250/)\244)E\215E\203\376\376\376\35\362\370\323\346\363\252\347" + "\363\256\350\364\262\351\364\266\352\365\272\353\365\275\354\366\301\355" + "\366\305\356\367\310\357\367\314\360\370\317\361\370\322\362\371\326\363" + "\371\331\364\372\335\365\372\337\364\370\343\361\364\345\356\360\347\353" + "\354\350\347\351\350\344\345\350{\220\32\234\271#\261\322(\270\332*\272\334" + "+\276\340&\206\275\340$@\310\345K\242\307\221\222\275\222\201\262\201E\215" + "E>\211>8\2058L\220L\202\260\202\201\256\201\200\253\200k\232k*m*7w7`\235" + "`n\257n{\301{\216\313\216\214\276\214r\245r\205\274\205j\243j\177\272\177" + "{\271{w\270ws\267sp\266pT\234Th\262hA\257A(\243(\33~\33\335\353\325\367\373" + "\346\367\373\347\363\371\327\345\362\252\346\363\256\347\364\262\351\364" + "\266\352\365\271\353\365\275\354\366\301\355\366\304\356\367\310\357\367" + "\313\360\370\317\361\370\322\362\370\326\363\371\331\364\371\335\365\372" + "\337\364\370\343\361\364\345\356\361\347\353\354\350\350\351\351\344\345" + "\350{\221\33\234\270#\263\323(\273\333+\274\335+\276\340&\206\275\340#@\301" + "\340X\226\277\226\221\274\221p\247pC\214C<\210<6\2046G\214GZ\225ZX\222XW" + "\217WK\204K)l)6v6_\235_m\256my\301y\214\313\214\213\276\213q\245q\204\274" + "\204i\243i}\272}z\271zv\270vr\267ro\266oS\234Sg\261g;\236;&\242&\33\205\33" + "G\2175\342\361\236\343\361\242\344\362\246\345\362\251\346\363\256\347\364" + "\261\351\364\266\352\365\271\353\365\274\354\366\301\355\366\304\356\367" + "\310\357\367\313\360\370\317\361\370\322\362\370\325\363\371\331\364\371" + "\334\365\372\337\364\370\342\361\365\345\356\361\347\353\355\350\351\352" + "\351\345\346\351{\221\35\233\267%\262\321*\272\333+\274\335-\275\340'\206" + "\274\340$@\305\340}\224\276\224\220\273\220j\221jc\200cPoP]}][|[ZzZXxXGg" + "GUuUTsT<_<X\222Xn\260nw\300w\202\306\202\200\276\200m\254mx\273xd\252do\271" + "ok\270kf\267fb\265b]\263]I\241I`\256`9\2309$\241$\33\215\33\21o\21\341\361" + "\237\342\361\242\344\362\246\345\362\252\346\363\256\347\364\262\350\364" + "\266\351\365\271\352\365\275\354\366\301\355\366\304\356\367\310\357\367" + "\313\360\370\317\361\370\322\362\370\326\363\371\331\364\371\335\365\372" + "\337\364\370\343\361\365\345\357\361\347\354\355\351\351\352\351\346\346" + "\351|\221\35\232\266%\263\321+\273\334-\275\336/\275\341(\205\274\340$A\301" + "\3424\266\325\211\223\275\223\217\273\217\255\266\261ccwXXlMMaBBV99L11C)" + "):!!0\31\31'\12\12\20EuEs\267sv\300v\212\312\212\211\276\211o\245o\202\274" + "\202g\242g{\272{x\271xt\270tp\266pl\265lQ\233Qe\260e5\2155#\240#\33\224\33" + "\20n\20\271\330\203\342\361\242\344\362\246\345\362\252\346\363\256\347\364" + "\262\350\364\266\351\365\271\352\365\275\354\366\301\355\366\304\356\367" + "\310\357\367\313\360\370\317\361\370\322\362\370\326\363\371\331\364\371" + "\335\365\372\337\364\370\343\361\365\345\357\361\350\354\356\351\351\352" + "\351\347\347\352}\222\35\234\266$\262\321*\275\335-\276\337/\277\341(\205" + "\275\340\"A\310\345I\246\312\217\222\275\222\216\272\216\260\260\266nn\201" + "ccwXXlMMaBBV99L11C)):!!0\16\16\25DuDq\267qt\277t\202\276\202\211\275\211" + "n\244n\201\273\201f\242fz\271zw\270ws\267so\266ol\264lP\232Pd\257dH\225H" + "!\237!\33\233\33\17m\17\204\266^\343\361\241\344\362\246\345\362\251\346" + "\363\255\347\364\261\351\364\265\352\365\271\353\365\274\354\366\300\355" + "\366\304\356\367\307\357\367\313\360\370\316\361\370\322\362\370\325\363" + "\371\331\364\371\334\365\372\337\364\370\342\362\365\345\357\362\347\355" + "\356\351\352\353\352\350\350\352\177\223\36\233\266&\262\321,\274\335/\277" + "\3401\300\342*\205\276\341\"A\320\351_\225\276\225\221\274\221\221\272\221" + "\230\265\230\244\274\244\222\253\222\240\272\240\236\270\236\234\267\234" + "\232\266\232\210\244\210\225\263\225\223\262\223d\213dU\220Up\266ps\277s" + "~\270~\210\275\210l\244l\200\273\200e\242ey\271yv\270vr\267rn\266nj\264j" + "O\231Oc\257cG\225G.\244.\32\232\32\20x\20\\\234B\343\362\241\344\362\246" + "\345\363\251\347\363\255\350\364\261\351\364\265\352\365\271\353\365\274" + "\354\366\300\355\366\304\356\367\307\357\367\313\360\370\316\361\370\322" + "\362\371\325\363\371\331\364\372\334\365\372\337\364\370\342\362\365\346" + "\357\362\347\355\356\351\353\354\352\350\350\352\177\223\40\232\264'\262" + "\320.\276\3351\301\3413\302\342,\203\277\341#C\334\345\271\336\346\272\342" + "\350\323\204\217\211\275\310\277\327\342\331\315\317\317\345\345\347\325" + "\325\327\346\346\350\347\347\350\347\347\351\350\350\352\331\331\332\351" + "\351\352\352\352\353\326\336\327\322\342\323\330\352\331\331\355\332\337" + "\353\337\343\356\343\332\346\332\341\355\341\330\345\330\337\354\337\336" + "\353\336\334\352\335\333\351\333\331\350\332\320\337\321\326\346\327\315" + "\334\316\306\342\307\274\335\276\271\323\273\304\327\303\354\360\336\353" + "\356\336\352\356\336\351\355\333\344\354\305\347\361\270\352\365\271\353" + "\365\274\354\366\301\355\366\304\356\367\310\357\367\313\360\370\317\361" + "\370\322\362\371\325\363\371\331\364\372\334\365\372\337\365\370\342\362" + "\365\346\360\362\350\355\357\352\353\354\352\350\351\352\177\223\40\230\261" + "'\260\315,\276\3340\301\3402\301\342-\203\277\341!C\352\352\356\302\302\320" + "\312\312\326\204\204\211\252\252\264\267\267\302\322\322\335\330\330\342" + "\332\332\343\334\334\344\336\336\346\340\340\347\342\342\350\344\344\351" + "\346\346\353\350\350\354\352\352\355\354\354\357\356\356\360\360\360\361" + "\362\362\362\363\363\364\364\364\364\363\363\363\362\362\363\362\362\362" + "\360\360\361\357\357\360\356\356\357\354\354\355\352\352\354\350\350\353" + "\346\346\351\344\344\347\342\342\345\340\340\344\335\335\342\333\333\340" + "\330\330\336\326\326\333\325\325\334\337\337\345\344\344\352\334\340\323" + "\332\341\303\354\366\300\355\366\304\356\367\307\357\367\313\360\370\316" + "\361\370\322\362\371\325\363\371\331\364\372\334\365\372\337\365\370\342" + "\363\366\346\361\363\350\356\357\352\354\355\353\351\352\353~\222\40\227" + "\257'\257\313.\274\3311\301\3404\301\3410\203\276\340\"\24\356\356\362\307" + "\307\324\321\321\333\213\213\216\254\254\266\264\264\275\276\276\306\323" + "\323\334\200\200\204``bffh\207\207\212\225\225\230\226\226\231\227\227\232" + "\353\353\356\210\210\212eeekkk\220\220\220\203\236\236\236,\362\362\362\213" + "\213\213eeejjj\214\214\215\230\230\232\227\227\231\226\226\230\345\345\350" + "\203\203\205aabeef\203\203\206\215\215\220\213\213\217\211\211\215\321\321" + "\327\316\316\325\313\313\322\311\311\321\325\325\334\301\301\317\354\366" + "\300\355\366\304\356\367\307\357\367\313\360\370\316\361\370\322\362\370" + "\325\363\371\331\364\371\334\365\372\337\365\370\342\363\366\346\360\363" + "\350\356\360\352\354\355\353\352\352\353}\222\40\224\256'\253\310-\272\331" + "2\300\3413\300\3412\203\274\340!D\362\362\365\330\330\340\341\341\350\221" + "\221\223\257\257\267\267\267\277\277\277\307\307\307\316]]_\255\255\257\275" + "\275\277uuw\253\253\256\255\255\260\256\256\260\356\356\360eee\262\262\262" + "\301\301\302yyy\263\263\263\262\262\263\262\262\262\360\360\361dde\260\260" + "\260\277\277\277vvw\252\252\254\251\251\253\247\247\252\341\341\345``a\253" + "\253\254\272\272\273qqr\234\234\241\232\232\237\230\230\235\313\313\323\310" + "\310\320\305\305\316\302\302\313\276\276\310\223\223\235\354\366\300\355" + "\366\304\356\367\307\357\367\313\360\370\316\361\370\322\362\370\325\363" + "\371\331\364\371\334\365\372\337\365\370\342\362\366\346\360\363\350\357" + "\360\352\354\356\354\353\353\354|\221!\221\253'\250\306-\266\3272\275\336" + "3\276\3404\272\336\"\202\271\336\40D\366\366\370\351\351\355\362\362\365" + "\227\227\227\262\262\271\272\272\301\302\302\311\312\312\320__a\234\234\235" + "\253\253\254xxy\303\302\305\236\232\234\306\306\307\362\362\363kkk\243\243" + "\243\257\257\257{{{\307\307\310\240\234\235\306\305\306\355\355\356hhh\240" + "\240\241\253\253\254vvw\274\274\277\226\223\225\271\270\274\335\335\341b" + "bc\232\232\234\246\246\247oor\253\253\261\211\205\212\247\246\255\306\306" + "\317\303\303\314\277\277\311\274\274\306\270\270\303yy\200\353\365\300\354" + "\366\303\355\366\307\356\367\312\357\367\316\360\370\321\361\370\325\362" + "\371\330\363\371\334\364\371\337\364\370\343\362\366\346\361\363\350\357" + "\361\352\355\356\354\352\353\354y\217!\215\247&\243\302-\262\3251\272\335" + "3\273\3374\266\336#\202\265\335\37D\372\372\373\371\371\372\374\374\374\225" + "\225\226\265\265\273\275\275\303\305\305\312\315\315\322\272\272\276\236" + "\236\240\247\247\251\321\321\323cII\245IIwJJ\364\364\364\324\324\324\253" + "\253\253\255\255\255\323\323\323cHI\244HHuHH\352\352\354\312\312\314\242" + "\242\244\244\244\246\306\306\311^DE\237CEpBD\330\330\336\272\272\277\226" + "\226\232\227\227\233\264\264\272X=@\230<?i;>\300\300\312\275\275\307\271" + "\271\304\266\266\301\262\262\276{{\201\352\365\300\353\365\303\354\366\307" + "\355\366\312\356\367\316\357\367\321\361\370\325\362\370\330\363\371\334" + "\364\371\336\364\371\343\362\366\346\361\364\350\357\361\352\355\356\354" + "\353\354\355v\214\40\210\243%\236\275+\255\317/\265\3311\270\3353\263\333" + "$\202\261\332\35D\376\376\376\371\371\372\361\361\364\217\217\222\270\270" + "\275\300\300\304\310\310\314\320\320\324\331\331\334\342\342\344\353\353" + "\354\361\361\362tTU\263JJ\211UU\363\363\363\362\362\362\361\361\361\357\357" + "\360\356\356\357rRR\261GH\206QR\347\347\351\345\345\350\343\343\346\341\341" + "\344\336\336\342lLN\253BC\200JL\324\324\332\321\321\327\316\316\325\313\313" + "\322\310\310\320dDH\244;>xBE\272\272\305\267\267\302\263\263\277\257\257" + "\274\241\241\255}}\203\351\364\277\352\365\303\353\365\306\354\366\312\355" + "\366\315\357\367\321\360\367\324\361\370\330\362\370\333\363\371\336\363" + "\370\343\362\366\345\361\363\351\357\361\353\356\357\354\354\355\355r\212" + "\36\204\242$\231\273*\250\317.\260\3300\263\3341\260\333&\202\254\331\33" + "D\373\373\374\352\352\357\337\337\346\207\207\213\273\273\277\303\303\306" + "\313\313\316\324\324\326\334\334\336\345\345\346\356\356\357\364\364\364" + "\337\336\336\320\310\311\337\335\335\361\361\362\360\360\361\357\357\360" + "\355\355\356\353\353\355\326\325\327\306\277\301\323\321\324\344\344\347" + "\341\341\345\337\337\343\334\334\341\332\332\337\305\304\311\266\257\264" + "\301\277\305\317\317\326\314\314\323\311\311\321\305\305\316\302\302\313" + "\256\256\267\241\232\243\251\247\262\264\264\300\260\260\275\237\237\251" + "\215\215\224\207\210\211\245\252\230\347\364\277\350\364\302\352\365\306" + "\353\365\311\354\366\315\356\367\320\357\367\324\360\370\330\361\370\333" + "\362\371\336\363\370\342\362\366\346\361\364\351\360\362\352\356\357\355" + "\355\355\355o\210\36\200\235\"\223\266(\243\312-\254\325/\257\3300\254\331" + "'\202\247\326\31\13\367\367\371\207\207\213\200\200\206~~\203\211\211\217" + "\214\214\222\217\217\225\222\222\227\225\225\232\231\231\235\234\234\240" + "\202\236\236\242\3\237\237\243\240\240\244\241\241\244\202\242\242\245\202" + "\243\243\246\2\244\244\246\244\244\247\202\245\245\247\202\246\246\250\203" + "\247\247\250'\246\246\250\245\245\247\243\243\246\242\242\245\240\240\243" + "\237\237\242\235\235\240\233\233\237\231\231\235\227\227\234\224\224\232" + "\223\224\224\251\257\230\304\317\245\343\361\266\344\362\271\346\363\276" + "\347\363\302\351\364\305\352\365\311\353\365\314\355\366\320\356\367\324" + "\357\367\327\361\370\333\362\370\336\362\370\342\361\365\346\360\364\351" + "\360\362\353\356\360\355\355\356\355l\207\36|\233\"\217\263(\237\310,\250" + "\323.\254\3270\253\330*\205\244\325\30\1\245\325\32\202\245\325\33?\246\326" + "\35\247\326\40\250\327!\251\327$\253\330)\254\331,\254\331-\260\3327\261" + "\333:\262\334=\266\335E\271\336M\272\337Q\274\340U\275\340X\277\341]\300" + "\342`\302\343d\303\343i\305\344l\307\345q\310\345t\312\346y\313\347}\315" + "\350\200\317\350\205\320\351\210\322\352\215\323\353\220\325\353\225\327" + "\354\231\330\355\235\332\356\242\333\356\245\335\357\252\337\360\255\340" + "\360\262\342\361\266\343\362\271\345\363\276\346\363\301\350\364\305\351" + "\365\311\353\365\314\354\366\320\355\366\323\357\367\327\360\370\333\361" + "\370\335\362\370\342\362\366\346\361\364\350\360\362\353\357\360\355\356" + "\357\356i\204\35x\227!\211\255&\232\303*\245\321.\251\326/\251\326.\241\323" + "\30\224\241\323\27""2\242\324\33\246\325$\246\326%\247\326&\255\3316\256" + "\3318\256\3319\264\334G\267\335N\270\336Q\275\340\\\303\343l\304\343o\307" + "\344u\320\351\214\322\352\220\324\352\224\326\353\231\327\354\235\331\355" + "\241\332\355\245\334\356\251\336\357\255\337\360\262\341\361\265\342\361" + "\271\344\362\275\346\363\301\347\363\305\350\364\310\352\365\314\353\365" + "\320\355\366\323\356\367\327\360\367\333\361\370\335\361\370\342\361\366" + "\346\361\364\351\360\362\353\357\361\355\356\357\357g\202\35u\225!\206\253" + "%\226\277*\241\315-\246\325.\247\326/\240\323\33\245\236\322\26!\247\326" + ",\251\3271\252\3272\260\332B\266\335Q\267\335R\273\337[\306\344v\306\344" + "x\307\345{\326\354\234\330\355\242\331\355\244\344\362\277\353\365\317\354" + "\366\323\356\367\327\357\367\332\360\370\335\361\367\342\361\366\346\361" + "\365\351\360\363\353\360\362\356\357\357\357e\200\34r\221\40\202\247$\221" + "\273(\235\312,\244\322-\245\324.\237\321\36\265\234\320\25\21\242\323#\255" + "\330<\255\330=\252\321D\257\311l\235\267[\222\247^\212\232g\177\212gd\200" + "\34p\220\37\200\244$\217\270(\233\307+\241\320-\244\323.\237\322#\276\232" + "\320\25\10b\177\34n\215\37|\241#\213\265(\227\305,\236\316-\241\322.\237" + "\322'\276\230\317\25\11a~\34k\213\36y\236\"\210\262'\224\302*\234\315,\240" + "\322-\241\323,\227\317\25\275\227\317\24\10`}\33j\211\35x\232!\205\255%\222" + "\276)\234\312+\240\320,\241\321-\276\242\323-\10\\z\31f\205\33r\225\36\177" + "\247\"\213\271%\225\305(\232\313)\234\315*\276\235\317*\7Yv\26a\200\31m\217" + "\33y\240\36\204\260\"\216\274$\224\304&\202\227\310&\275\230\311&\10Uq\24" + "]|\27g\207\31s\230\34\177\247\37\207\263!\215\273\"\220\277#\202\221\301" + "$\274\222\302$\10Rn\23Xv\25b\202\27m\221\32w\237\34\200\253\36\206\263\37" + "\212\270\40\202\213\273!\274\214\273!\10Oi\21Uq\23]|\25g\211\27q\227\31{" + "\243\33\200\253\35\203\260\35\202\206\263\36\274\206\264\36", +}; + diff --git a/src/image_data/gvo_banner_right.h b/src/image_data/gvo_banner_right.h new file mode 100644 index 0000000..ff6bd93 --- /dev/null +++ b/src/image_data/gvo_banner_right.h @@ -0,0 +1,1501 @@ +/* GIMP RGB C-Source image dump 1-byte-run-length-encoded */ + +#include "image.h" + +static const nv_image_t gvo_banner_right_image = { + 174, 60, 3, + "\223\201\221\33\35\202\222\40\220\232S\224\235e\202\204{zz{\213\213\214\225" + "\225\226\233\233\234\237\237\241\241\241\242\237\237\241\234\234\236\220" + "\220\222\212\212\216\216\216\220\222\222\223\221\221\223\212\212\214\203" + "\203\206\204\204\210\216\216\220\221\221\224\220\220\222\221\221\223\222" + "\222\224\215\215\220\202\202\206\200\200\204\220\220\222\203\231\231\231" + "\5\225\225\226\201\201\205{{\200\205\205\210\217\217\222\202\220\220\223" + "\5\221\221\224\211\211\214yy\177{{\200\221\221\223\205\231\231\231\5\213" + "\213\216ttzyy\177\213\213\220\230\230\231\202\231\231\231\5\222\222\225\177" + "\177\204rryzz\200\220\220\222\202\231\231\231\1\230\230\230\202\226\226\230" + "\13\230\230\230\231\231\231\225\225\226\212\212\215\200\200\203zz\200{{\200" + "\177\177\203\205\205\211\212\212\215\216\216\220\202\217\217\221\12\215\215" + "\220\213\213\216\212\212\214\207\207\213\206\206\212\206\206\211\205\205" + "\211\205\205\210\206\206\211\205\205\211\205\206\206\212\2\207\207\212\207" + "\207\213\203\210\210\213\202\207\207\213\7\205\205\210\203\203\206\200\200" + "\204\177\177\202\200\200\205\213\213\215\225\225\226\202\231\231\231\13\230" + "\230\230\222\222\224\212\212\216\206\206\213\214\214\220\223\223\226\230" + "\230\231\231\231\231\227\227\230\217\217\222\206\206\213\202\205\205\212" + "\16\207\207\214\214\214\221\225\225\227\230\230\230\226\226\231\213\213\220" + "{{\200ssyttzuu{\177\177\203\215\215\221\222\222\225\227\227\227\204\231\231" + "\231\1\227\227\230\202\220\220\222\2\212\212\215\204\204\210\202\203\203" + "\207\7\205\205\211\212\212\215\210\210\211\177\177\200||}xxxnnn\223\235\257" + "!\27\242\263;\261\273u\244\252\200yyz\210\210\211\227\227\231\243\243\243" + "\250\250\253\257\257\257\260\260\261\262\262\263\252\252\254\236\236\241" + "\233\233\236\242\242\243\245\245\245\236\236\240\224\224\230\217\217\223" + "\227\227\232\240\240\243\241\241\244\241\241\243\202\241\241\244\4\227\227" + "\232\216\216\223\230\227\233\251\251\252\203\253\253\253\4\234\234\237\211" + "\211\216\215\215\223\232\232\236\202\240\240\244\5\241\241\245\233\233\240" + "\212\212\220\203\203\213\233\233\236\205\253\253\253!\241\241\243\205\205" + "\214\201\201\211\231\231\235\247\247\252\253\253\253\252\252\253\242\242" + "\245\214\214\223\177\177\206\214\214\221\242\242\245\253\253\253\253\253" + "\252\252\252\252\250\250\252\252\252\252\253\253\253\252\252\253\242\242" + "\245\222\222\226\207\207\216\210\210\215\215\215\223\225\225\232\234\234" + "\237\240\240\243\241\241\243\236\236\242\234\234\237\230\230\234\226\226" + "\232\224\224\231\202\224\224\230\5\224\224\231\226\226\232\226\226\233\230" + "\230\234\232\232\234\204\232\232\235\4\232\232\234\230\230\233\227\227\233" + "\227\227\232\203\226\226\232\203\227\227\233$\226\226\232\224\224\231\221" + "\221\226\216\216\223\215\215\222\224\224\231\237\237\242\252\252\252\253" + "\253\253\252\252\253\244\244\246\230\230\235\222\222\227\225\225\232\240" + "\240\243\252\252\252\253\253\253\252\252\253\242\242\244\226\226\233\223" + "\223\232\225\225\232\227\227\234\236\236\243\250\250\251\252\252\253\245" + "\245\251\226\226\234\202\202\212\200\200\206\200\200\207\202\202\211\220" + "\220\225\236\236\243\243\243\246\252\252\252\204\253\253\253\15\245\245\246" + "\237\237\243\235\235\241\224\224\231\220\220\225\222\222\226\221\221\225" + "\224\224\230\226\226\230\216\216\221\203\203\205\200\200\201wwy\223\261\306" + "&\11\276\315Z\310\322\203\241\245\212~~\200\222\222\223\243\243\245\254\254" + "\256\267\267\270\276\276\277\202\300\300\302\21\266\266\271\253\253\260\256" + "\256\261\266\266\267\264\264\264\253\252\256\236\236\243\237\237\243\252" + "\252\256\261\261\264\261\261\263\261\261\265\262\262\265\255\255\262\237" + "\237\245\237\237\244\263\263\265\203\274\274\274\5\271\271\272\240\240\246" + "\226\226\235\242\242\250\255\255\262\202\260\260\265\5\257\257\263\240\240" + "\246\217\217\227\240\240\245\272\272\273\202\274\274\274\7\273\273\273\274" + "\274\274\267\267\271\231\231\240\213\213\224\237\237\245\265\265\270\202" + "\273\273\274\7\265\265\270\236\236\244\213\213\223\231\231\240\267\267\270" + "\274\274\274\274\274\273\203\273\273\273\26\274\274\274\273\273\274\261\261" + "\265\236\236\243\224\224\233\230\230\237\241\241\247\253\253\257\262\262" + "\265\263\263\266\260\260\264\253\253\257\250\250\253\244\244\251\242\242" + "\250\244\244\250\246\246\252\251\251\254\255\255\257\260\260\263\262\262" + "\265\265\265\267\202\267\267\271\203\270\270\271\10\267\267\271\266\266\270" + "\264\264\266\262\262\264\257\257\261\254\254\257\252\252\255\251\251\253" + "\203\247\247\252\202\247\247\253\"\245\245\252\242\242\247\237\237\244\234" + "\234\242\237\237\244\256\256\261\273\273\273\274\274\274\273\273\274\265" + "\265\267\245\245\252\236\236\242\240\240\246\257\257\263\273\273\273\274" + "\274\274\273\273\273\260\260\264\245\245\253\242\242\251\244\244\252\250" + "\250\255\263\262\266\273\273\273\272\272\274\265\265\270\234\233\242\213" + "\213\224\215\215\224\215\215\225\223\223\232\246\246\253\262\262\266\267" + "\267\271\204\274\274\274\6\272\272\273\261\261\265\257\257\264\246\246\253" + "\236\236\244\240\240\244\202\236\236\243\5\240\240\244\236\236\241\217\217" + "\222\206\206\211\177\177\200\222\301\326,\25\302\326/\324\340{\325\336\215" + "\222\224\212\206\206\210\234\234\235\252\252\254\266\266\270\302\302\304" + "\307\307\312\315\315\320\314\314\316\300\300\303\273\273\277\303\303\304" + "\306\306\306\300\300\301\264\264\266\252\252\256\260\260\263\274\274\277" + "\202\276\276\301\202\301\301\304\4\267\267\274\251\251\260\264\264\271\312" + "\312\312\203\314\314\314\13\277\277\303\245\245\254\247\247\256\266\266\273" + "\276\276\302\277\277\304\276\276\303\267\267\273\241\241\251\244\244\253" + "\304\304\305\205\314\314\314\13\266\266\273\226\226\240\241\241\250\274\274" + "\302\311\311\313\312\312\314\305\305\310\255\255\264\226\226\241\243\243" + "\252\302\302\305\202\314\314\314\203\313\313\313\24\314\314\314\313\313\313" + "\274\274\301\251\251\261\243\243\251\252\252\260\265\265\272\276\276\303" + "\303\303\305\301\301\304\274\274\301\266\266\272\262\262\267\262\262\266" + "\265\265\270\271\271\274\300\300\302\304\304\306\307\307\311\311\311\312" + "\207\312\312\312\205\312\312\313\10\312\312\312\310\310\312\305\306\307\302" + "\302\304\275\275\301\270\270\274\266\266\272\265\265\272\202\265\265\270" + "\"\264\264\267\262\262\266\257\257\264\251\251\261\254\254\263\272\272\277" + "\312\312\312\314\314\314\313\313\314\302\302\305\261\261\267\250\250\257" + "\253\253\263\273\273\300\312\312\312\314\314\314\312\312\312\301\301\304" + "\263\263\271\261\261\267\263\263\271\270\270\277\306\306\310\313\313\314" + "\311\311\314\270\270\276\235\235\245\227\227\240\231\231\242\232\232\243" + "\245\245\254\270\270\276\304\304\307\312\312\313\204\314\314\314\14\305\305" + "\307\277\277\303\270\270\275\255\255\262\254\254\262\254\254\261\251\251" + "\256\250\250\254\251\251\254\235\235\237\215\214\217\204\204\207\222\314" + "\340.\25\322\343H\343\354\223\307\320\225\177\177\200\217\217\221\244\244" + "\245\262\262\263\276\276\277\313\313\315\320\320\323\331\331\333\322\322" + "\326\311\311\315\315\315\320\323\323\324\322\322\322\313\313\314\274\274" + "\300\265\265\272\300\300\303\312\312\316\202\313\313\316\5\316\316\322\310" + "\310\315\273\273\301\267\267\275\316\316\322\203\332\332\332\13\327\327\330" + "\275\275\303\254\254\264\272\272\300\307\307\314\312\312\320\313\313\320" + "\305\305\312\264\264\273\247\247\260\305\305\311\203\332\332\332\15\331\331" + "\331\332\332\332\321\321\323\251\251\262\243\243\255\276\276\304\323\323" + "\327\326\326\332\323\323\330\276\276\304\242\242\254\254\254\263\316\316" + "\321\202\332\332\332\203\331\331\331\21\332\332\332\330\330\331\310\310\313" + "\261\261\271\257\257\266\273\273\300\310\310\314\320\320\323\321\321\323" + "\312\312\317\303\303\310\277\277\303\276\276\303\303\303\306\311\311\315" + "\322\322\324\327\327\330\202\330\330\331\2\327\327\330\325\325\327\204\323" + "\323\326\4\324\324\326\325\325\327\326\326\330\327\327\330\202\330\330\330" + "\3\330\330\331\330\330\332\331\331\332\202\332\332\332\7\331\331\332\330" + "\330\330\323\323\325\316\316\321\307\307\313\304\304\307\301\301\305\202" + "\277\277\304\2\276\276\302\273\273\277\202\265\265\274\34\302\302\307\325" + "\325\326\332\332\332\331\331\332\316\316\322\272\272\300\257\257\270\263" + "\263\273\305\305\312\330\330\330\332\332\332\330\330\331\313\313\321\276" + "\276\304\274\274\304\277\277\305\311\311\320\330\330\330\331\331\332\323" + "\323\327\266\266\276\242\242\254\243\243\254\244\244\255\246\246\257\266" + "\266\275\313\313\321\323\323\327\204\332\332\332\14\330\330\330\315\315\322" + "\311\311\316\272\272\301\266\266\275\267\267\274\264\264\271\257\257\263" + "\257\257\262\250\250\254\225\225\231\210\210\212\222\321\345/\34\334\353" + "b\347\361\225\263\270\224\202\202\203\226\226\227\251\251\252\270\270\271" + "\305\305\307\320\320\322\331\331\333\335\335\337\327\327\333\323\323\327" + "\333\333\334\340\340\340\335\335\335\321\321\324\301\301\306\302\302\306" + "\317\317\322\325\325\330\324\324\330\326\326\331\331\331\334\315\315\322" + "\277\277\305\311\311\317\342\342\343\203\345\345\345\13\330\330\333\273\273" + "\303\270\270\300\313\313\321\324\324\332\325\325\332\323\323\331\304\304" + "\313\261\261\272\273\273\303\341\341\341\202\345\345\345\15\344\344\344\345" + "\345\345\344\344\344\303\303\312\251\251\263\274\274\304\324\324\332\336" + "\336\343\334\334\341\315\315\324\257\257\270\261\261\273\327\327\332\202" + "\345\345\345\203\344\344\344\27\345\345\345\344\344\345\323\323\330\273\273" + "\302\271\271\301\307\307\314\325\325\332\333\333\337\332\332\336\323\323" + "\326\312\312\317\307\307\315\314\314\321\326\326\332\340\340\341\344\344" + "\345\343\343\344\341\341\341\334\334\336\327\327\331\324\324\327\323\323" + "\326\323\323\325\202\323\323\326\7\324\324\326\325\325\327\326\326\327\327" + "\327\330\327\327\331\330\330\332\331\331\332\202\332\332\332\3\332\332\333" + "\332\332\334\333\333\334\203\334\334\334\5\333\333\333\330\330\331\322\322" + "\323\312\312\315\303\303\307\202\302\302\306\32\302\302\307\301\301\307\275" + "\275\304\274\274\303\312\312\317\340\340\341\345\345\345\344\344\344\324" + "\324\331\275\275\305\265\265\276\272\272\302\320\320\325\343\343\343\345" + "\345\345\342\342\344\323\323\331\305\305\316\305\305\315\313\313\323\332" + "\332\336\344\344\344\343\343\345\323\323\331\263\263\274\253\252\264\202" + "\255\255\266\4\262\262\273\312\312\321\333\332\337\341\341\342\204\345\345" + "\345\3\334\334\337\326\325\332\312\311\317\202\277\277\305\6\276\277\304" + "\267\267\274\261\260\265\257\257\262\237\237\242\214\214\216\222\324\346" + "2\33\343\356z\351\362\230\237\242\220\207\207\211\235\235\236\257\257\260" + "\274\274\276\311\311\314\325\325\327\337\337\340\343\343\345\332\332\335" + "\335\335\341\347\347\350\350\350\350\344\344\345\327\327\332\310\310\315" + "\315\315\322\333\333\336\334\334\340\333\333\340\336\336\342\336\336\343" + "\317\317\325\306\306\315\335\335\341\203\356\356\356\13\355\355\356\322\322" + "\331\274\274\304\304\304\314\330\330\334\335\335\343\334\334\342\325\325" + "\334\300\300\310\266\266\277\326\326\333\203\356\356\356\3\355\355\355\356" + "\356\356\342\342\345\202\267\267\301\7\323\323\332\341\341\350\344\344\351" + "\332\332\341\277\277\310\261\261\273\325\325\333\202\356\356\356\203\355" + "\355\355Q\356\356\356\355\355\356\340\340\344\305\305\315\300\300\310\320" + "\317\326\336\336\343\345\345\350\341\341\345\331\331\336\321\321\327\322" + "\322\327\334\333\336\346\346\347\354\354\355\355\355\356\353\353\353\347" + "\347\350\342\342\344\326\334\213\344\347\177\344\346~\344\346}\345\346{\345" + "\347z\346\347v\346\350s\346\350o\343\350k\341\350f\333\346`\325\345Z\323" + "\346W\321\347U\317\345T\315\344R\312\343O\307\342M\304\337K\303\336I\301" + "\334G\300\333F\277\332F\277\331F\277\330G\276\326G\274\325E\301\325W\277" + "\277\304\306\306\313\307\307\315\305\305\314\304\304\314\327\327\333\353" + "\353\354\356\356\356\352\352\353\324\324\333\276\276\307\271\271\303\303" + "\303\312\335\335\342\355\355\355\356\356\356\350\350\351\324\324\334\314" + "\314\325\317\317\326\332\332\340\350\350\352\356\356\356\347\347\352\307" + "\310\320\262\261\274\263\263\274\265\264\276\263\263\275\303\303\313\336" + "\336\344\346\346\351\354\354\355\203\356\356\356\13\350\350\352\337\337\344" + "\327\327\334\307\307\316\305\305\312\306\306\313\277\277\303\265\265\272" + "\257\257\264\246\246\251\220\220\222\221\325\3472\25\327\350>\350\361\216" + "\334\344\231\210\210\205\217\217\220\243\243\244\263\263\265\302\302\304" + "\320\320\322\332\332\334\343\343\345\343\343\346\340\340\343\350\350\353" + "\357\357\360\360\360\360\351\351\353\332\332\335\320\320\324\330\330\334" + "\343\343\347\202\342\342\346\5\347\347\352\337\337\344\314\314\324\322\322" + "\330\355\355\357\203\364\364\364\13\353\353\356\312\312\322\301\301\312\322" + "\322\331\341\341\346\343\343\351\340\340\346\320\320\327\273\273\304\306" + "\306\317\356\356\360\202\364\364\364\16\363\363\363\364\364\364\361\361\362" + "\317\317\326\263\263\276\312\312\323\340\340\350\347\347\355\342\342\350" + "\311\311\323\265\265\301\315\315\324\361\361\362\364\364\364\203\363\363" + "\363\202\364\364\364>\350\350\352\313\313\323\306\306\316\326\326\334\345" + "\345\352\352\352\356\346\346\351\333\333\340\326\326\333\333\333\337\350" + "\350\352\361\361\362\364\364\364\362\362\362\354\354\356\351\351\352\347" + "\347\352\343\343\345\320\325\200\370\363\220\351\351\207\352\350\204\352" + "\350\201\353\351}\352\352z\352\352y\354\352v\346\352r\344\352n\341\352n\341" + "\355n\335\352i\330\352f\326\353a\320\353]\316\354X\313\353W\310\350T\304" + "\343O\301\337K\275\336I\273\331G\271\327B\264\325@\263\321=\254\3173\267" + "\321E\267\267\272\304\304\311\316\316\324\316\316\326\311\311\320\312\312" + "\322\337\337\344\361\361\363\364\364\364\352\352\355\321\321\330\301\301" + "\312\275\275\307\311\311\323\344\344\351\202\364\364\364\20\352\352\355\327" + "\327\337\322\322\331\326\326\336\344\344\352\363\363\363\363\363\364\341" + "\341\347\276\276\307\265\265\301\274\273\305\272\272\303\274\274\306\326" + "\326\334\352\352\356\357\357\362\203\364\364\364\13\362\362\362\350\350\354" + "\342\342\347\320\320\327\310\310\317\313\313\320\305\305\313\271\271\275" + "\257\257\263\250\250\254\225\225\231\221\334\3567\34\341\361V\355\366\232" + "\307\316\231\201\201\202\224\224\225\247\247\250\267\267\271\306\306\310" + "\323\323\325\337\337\340\345\345\346\343\343\347\344\344\346\360\360\362" + "\365\365\365\364\364\364\354\354\356\333\333\337\326\326\333\343\343\347" + "\351\351\354\345\345\351\347\347\352\352\352\356\335\335\343\317\317\326" + "\341\341\345\370\370\370\203\371\371\371\12\345\345\351\307\307\320\312\312" + "\322\335\335\344\347\347\354\346\346\354\336\336\344\310\310\321\301\301" + "\312\343\343\347\203\371\371\371\3\371\371\370\371\371\371\347\347\352\202" + "\276\276\311\10\333\333\342\346\346\356\347\347\355\324\324\335\272\272\305" + "\305\305\317\360\360\362\371\371\371\204\370\370\3709\371\371\371\360\360" + "\362\323\323\333\311\311\321\331\331\337\351\351\355\356\356\362\351\351" + "\354\337\337\344\334\334\341\344\344\347\361\361\363\371\371\371\370\370" + "\371\364\364\365\356\356\361\354\354\356\353\353\355\354\354\356\345\345" + "\350\307\316z\374\374\225\376\376\213\376\376\214\376\376\206\371\370{\360" + "\360y\353\350u\350\350r\344\351n\340\352k\340\352h\334\352e\331\352b\325" + "\352]\322\352[\321\352X\314\353U\311\351T\306\346P\305\341K\301\340J\276" + "\334I\274\332D\272\330E\272\326C\266\324@\262\3228\266\320F\266\266\271\305" + "\305\312\320\320\326\324\324\333\320\320\327\314\314\323\320\320\327\344" + "\344\352\202\370\370\371\30\352\352\356\316\316\327\301\301\313\300\300\313" + "\317\317\330\356\356\362\371\371\371\370\370\371\351\351\357\330\330\340" + "\326\326\336\337\337\345\361\361\364\371\371\371\364\364\367\322\322\333" + "\271\271\304\276\276\310\301\301\313\274\274\307\311\311\322\346\346\354" + "\361\360\365\367\367\371\203\371\371\371\12\357\357\363\351\350\355\332\332" + "\340\312\312\322\313\313\321\312\312\320\274\274\302\255\255\262\246\246" + "\251\230\230\233\221\334\3567\23\345\362j\355\366\232\263\270\226\204\204" + "\206\231\231\232\254\254\255\274\274\276\314\314\315\327\327\331\341\341" + "\343\350\350\351\342\342\346\351\351\354\365\365\366\370\370\370\367\367" + "\367\355\355\357\333\333\340\335\335\342\202\352\352\355\6\351\351\355\354" + "\354\360\353\353\360\330\330\337\327\327\334\357\357\362\203\373\373\373" + "\13\371\371\372\334\334\341\307\307\320\323\323\332\344\344\352\351\351\356" + "\346\346\354\330\330\337\301\301\313\320\320\330\365\365\366\202\373\373" + "\373\16\372\372\372\373\373\373\372\372\372\320\317\330\266\266\301\311\311" + "\324\342\342\351\347\347\356\337\337\347\304\304\317\275\274\310\343\343" + "\351\373\373\373\373\373\372\203\372\372\372O\373\373\373\372\372\372\340" + "\340\345\313\313\324\326\326\334\347\347\355\357\357\364\352\352\356\340" + "\340\345\334\334\341\350\350\354\366\366\370\373\373\373\371\371\372\364" + "\364\366\357\357\362\354\354\357\352\352\355\352\352\354\347\347\351\331" + "\331\330\220\230h\234\237h\232\236g\241\247e\302\310r\357\367\203\376\376" + "|\376\376w\376\376s\353\360n\336\350i\334\351h\334\352c\327\352`\322\352" + "]\322\352Z\316\353W\313\352T\310\346P\305\343O\303\340L\300\336I\275\335" + "G\273\331E\273\327C\270\325A\266\324?\263\3229\265\317F\274\274\274\317\317" + "\322\323\323\331\327\327\334\325\324\333\320\320\330\314\314\324\323\323" + "\333\361\361\363\373\373\373\372\372\372\341\341\347\307\307\322\301\300" + "\313\302\301\314\332\332\341\367\367\370\373\373\373\367\367\371\341\341" + "\351\327\327\337\332\332\341\352\352\360\372\372\373\373\373\373\345\345" + "\353\277\277\312\275\275\310\304\304\316\202\301\301\313\3\332\332\340\357" + "\357\365\367\367\371\203\373\373\373\12\366\366\370\354\354\360\341\341\347" + "\315\315\324\314\314\322\313\313\321\301\301\306\256\256\263\243\243\247" + "\231\231\234\221\335\3578\16\351\364}\356\367\233\237\242\221\212\212\214" + "\236\236\237\257\257\260\300\300\301\317\317\320\332\332\333\344\344\346" + "\347\347\350\344\344\350\356\356\360\371\371\372\202\371\371\371\13\355\355" + "\360\335\335\342\344\344\350\357\357\362\355\355\361\353\353\357\357\356" + "\362\351\351\356\326\326\335\337\337\345\370\370\371\203\374\374\374\12\366" + "\366\370\323\323\333\310\310\321\331\331\340\347\347\356\351\351\357\342" + "\342\350\316\316\327\277\277\312\343\343\350\203\374\374\374\15\373\373\373" + "\374\374\374\357\356\362\301\300\312\274\274\306\324\324\335\344\343\352" + "\343\343\352\322\322\332\272\272\306\325\325\336\371\371\371\374\374\374" + "\203\373\373\373\202\374\374\374B\354\354\360\320\320\327\322\322\331\345" + "\345\351\356\356\362\353\353\360\341\341\346\337\337\343\352\352\355\370" + "\370\372\374\374\374\372\372\373\363\363\366\355\355\357\346\346\347\314" + "\314\316\247\247\251ttvHHIVUYIF[22?10A**8..9<>D_bW\222\230m\304\317h\356" + "\370a\367\376c\345\364g\325\347a\325\352^\322\352\\\317\352Y\314\351T\313" + "\350S\307\347R\306\342N\302\341K\277\335I\275\333F\271\330D\271\326D\270" + "\323?\270\325?\265\324<\265\316D\275\275\275\332\332\333\341\341\344\333" + "\333\340\326\326\334\322\322\331\317\316\326\313\313\323\336\336\344\371" + "\371\373\374\374\374\363\363\365\323\323\334\304\304\315\301\300\313\307" + "\307\321\347\347\355\202\374\374\374\20\357\357\363\332\332\342\327\327\340" + "\342\342\352\367\367\371\374\374\374\364\364\367\313\313\324\274\274\306" + "\305\305\317\307\306\320\277\277\312\312\312\323\352\352\360\366\366\371" + "\373\373\374\202\374\374\374\30\372\372\373\360\360\365\347\347\354\321\321" + "\327\313\313\321\312\312\320\303\303\311\260\260\266\240\240\244\230\230" + "\231\362\362\365\362\362\363\360\362\344\356\361\325\354\361\305\352\360" + "\266\351\360\246\347\360\226\345\357\207\344\357x\342\357h\341\357Y\340\357" + "J\336\357;\202\336\3578\34\337\357=\354\366\216\350\357\232\215\216\211\217" + "\217\221\241\241\242\263\263\265\305\305\305\322\322\323\335\335\336\346" + "\346\350\345\345\350\350\350\352\362\362\365\373\373\373\374\374\374\371" + "\371\372\353\353\357\341\341\345\352\352\356\361\361\365\355\355\361\356" + "\356\362\361\361\365\344\344\351\326\326\335\354\354\360\374\374\375\203" + "\375\375\375\12\356\356\362\315\315\325\317\317\327\340\340\347\353\353\360" + "\350\350\356\333\333\342\305\304\317\313\313\325\365\365\367\204\375\375" + "\375\14\374\374\375\333\333\342\270\267\303\305\305\320\334\334\344\342\342" + "\352\331\331\341\302\302\314\304\304\316\360\360\363\375\375\375\375\375" + "\374\203\374\374\374=\375\375\375\363\363\366\326\326\336\317\317\327\341" + "\341\347\355\355\362\355\355\361\343\343\350\337\337\344\352\352\356\372" + "\372\373\375\375\375\373\373\373\362\362\364\334\334\336\242\243\245SST\25" + "\25\26\14\14\14\13\13\13'''((4\221\223w\263\264\233\257\261\225\256\257\234" + "\252\253\242\226\226\221rqrQQ`klx\204\210\200\245\257e\330\354O\356\376]" + "\326\355^\320\350\\\316\353Y\313\352V\310\350T\306\344P\304\341M\303\337" + "K\277\335J\276\334F\272\330D\271\326D\266\324?\270\323?\265\325<\263\314" + "C\276\276\276\336\336\336\360\360\361\353\353\357\333\333\341\325\324\334" + "\321\320\330\315\315\325\317\317\327\352\352\356\202\375\375\375\27\346\346" + "\355\313\313\324\305\305\317\301\301\315\321\321\332\363\363\366\375\375" + "\375\372\372\374\347\347\356\330\330\341\334\334\344\357\357\364\375\375" + "\375\374\374\374\336\336\345\275\275\310\303\302\315\315\315\326\305\305" + "\317\301\301\313\334\334\344\364\364\372\372\372\374\203\375\375\375\27\364" + "\364\367\354\353\360\326\326\334\311\311\320\311\311\316\307\307\313\264" + "\264\271\237\237\243\223\223\227\353\353\354\352\352\352\351\352\334\347" + "\352\315\346\352\277\345\353\260\344\353\240\343\353\222\342\354\203\341" + "\354u\340\355f\337\355W\337\356I\336\357;\202\336\3578\16\342\361N\356\367" + "\233\322\332\232\201\201\203\224\224\225\246\246\247\266\266\270\310\310" + "\311\325\325\326\340\340\341\347\347\351\346\346\351\354\354\357\367\367" + "\370\202\374\374\374\13\370\370\372\352\352\356\343\343\350\357\357\362\362" + "\362\366\356\356\362\361\361\364\360\360\364\337\337\345\333\333\341\367" + "\367\370\204\376\376\376\11\344\344\351\312\312\323\325\325\335\347\347\354" + "\354\354\362\346\346\355\322\322\333\301\301\314\336\336\344\203\376\376" + "\376\13\375\375\375\376\376\376\370\370\371\310\310\323\273\273\306\316\316" + "\330\337\337\346\336\336\345\313\313\325\272\272\306\335\335\344\202\376" + "\376\376\203\375\375\375.\376\376\376\375\375\376\340\340\346\315\315\325" + "\332\332\340\352\352\357\356\356\362\346\346\352\340\340\345\354\354\360" + "\372\372\374\375\375\375\371\371\371\332\332\334\216\215\220**+\1\1\1\5\5" + "\5>>>\214\214\215\212\212\211ooqXY\\\311\317o\375\375\201\366\372w\362\371" + "t\351\357\200\331\336\222\276\276\257\267\267\271\253\253\253\226\226\233" + "\231\227\244\222\223\214\244\263T\343\376N\335\374W\311\346U\311\347Q\305" + "\345Q\305\342P\304\336L\300\336J\274\334H\274\333G\202\272\327D(\267\324" + "A\266\323?\265\323<\262\313B\275\275\276\337\337\337\364\364\364\374\374" + "\374\353\353\357\330\330\337\323\323\332\321\321\330\313\313\324\327\327" + "\337\366\366\370\376\376\376\367\367\371\330\330\337\311\311\323\305\305" + "\317\304\304\317\337\337\345\373\373\374\376\376\376\364\364\370\340\340" + "\350\331\331\341\347\347\356\372\372\374\376\376\376\360\360\364\305\305" + "\320\277\277\312\320\320\331\315\315\326\301\301\313\316\316\327\357\357" + "\365\371\371\375\375\375\376\202\376\376\376\27\367\367\371\356\356\363\333" + "\333\340\307\307\316\307\307\315\311\311\314\270\270\275\241\241\245\220" + "\220\224\352\352\354\352\352\351\350\352\333\347\352\315\346\352\276\345" + "\352\257\343\352\240\343\353\221\341\353\202\341\354t\340\354f\337\355W\337" + "\356I\336\357;\202\336\3578\16\344\362^\356\367\233\300\306\230\205\205\206" + "\227\227\230\250\250\251\273\273\274\312\312\314\330\330\331\341\341\342" + "\347\347\351\347\347\352\357\357\362\372\372\372\202\374\374\374\3\370\370" + "\371\350\350\354\347\347\353\202\363\363\367\6\357\357\363\362\362\366\356" + "\356\362\333\333\341\342\342\350\373\373\374\203\376\376\376\12\374\374\375" + "\334\334\343\312\312\323\333\333\342\351\351\357\354\354\362\341\341\350" + "\312\312\324\305\305\317\354\354\360\203\376\376\376\14\375\375\375\376\376" + "\376\352\352\357\276\276\311\300\300\313\324\324\335\336\336\346\325\325" + "\337\276\276\311\301\301\315\357\357\363\376\376\376\204\375\375\375X\376" + "\376\376\363\363\367\321\321\332\321\321\331\343\343\350\354\354\360\347" + "\347\354\337\337\345\346\346\352\371\371\372\374\374\374\351\351\354\223" + "\223\225%%&\0\0\0\1\1\1ihk\302\301\302\312\312\311\251\251\251\232\232\233" + "\235\235\237\251\251\253\306\313~\371\371\210\373\373\207\372\372\177\371" + "\371v\357\361l\353\362m\343\352\200\313\315\255\276\276\300\272\272\272\265" + "\264\273\247\246\261\214\220s\313\345K\341\376P\303\342N\305\343O\305\337" + "M\301\340K\277\335I\275\333G\273\330C\271\324C\270\325B\271\326C\267\324" + "@\267\325>\261\311A\274\274\275\335\335\336\364\364\364\376\376\376\371\371" + "\373\344\344\351\324\324\334\321\321\330\315\315\325\316\316\326\344\344" + "\353\374\374\375\376\376\376\346\346\354\314\314\326\311\311\322\305\305" + "\317\313\313\325\357\357\363\376\376\376\374\374\375\352\352\360\331\331" + "\342\340\340\350\364\364\371\376\376\376\372\372\374\321\321\332\276\276" + "\311\317\317\327\324\324\334\306\306\320\305\305\317\346\346\354\370\370" + "\374\374\374\375\202\376\376\376\27\372\372\373\360\360\364\337\337\345\310" + "\310\320\305\305\314\310\310\314\273\273\300\242\242\250\216\216\222\351" + "\351\353\351\351\351\347\351\333\346\351\315\345\351\276\344\352\256\343" + "\352\240\342\352\221\341\353\202\340\354t\340\354f\337\355W\336\356I\336" + "\357;\202\336\3578\32\347\363n\356\367\233\257\263\225\210\210\212\232\232" + "\234\254\254\255\275\275\277\316\316\317\331\331\333\343\343\345\350\350" + "\351\352\352\354\363\363\365\372\372\373\374\374\374\375\375\375\366\366" + "\370\347\347\353\352\352\356\365\365\370\363\363\366\361\361\364\364\364" + "\370\351\351\356\333\333\342\355\355\360\204\376\376\376\12\365\365\370\324" + "\324\334\315\315\325\341\341\347\354\354\361\352\352\360\331\331\341\303" + "\303\315\317\317\330\371\371\372\202\376\376\376\1\375\375\375\202\376\376" + "\376\12\333\333\342\270\270\304\307\307\322\330\330\340\332\332\343\311\311" + "\324\267\267\303\327\327\340\374\374\375\376\376\376\203\375\375\375\15\376" + "\376\376\375\375\375\340\340\347\315\315\325\332\332\341\351\351\355\350" + "\350\355\340\340\345\342\342\347\364\364\366\367\367\367\270\270\27388;\202" + "\0\0\0)665\300\300\301\334\334\334\311\311\311\262\262\263\263\263\265\267" + "\267\270\266\266\267\245\245\245~\200oZ]TY]Px{d\223\231f\321\327l\363\370" + "c\353\367e\336\353e\341\347\221\313\313\310\310\310\311\300\300\302\261\260" + "\272\206\205\206\266\310X\344\376N\302\340J\302\336M\300\336J\276\336J\274" + "\332G\272\331E\267\324C\270\325B\271\326C\267\324@\267\325=\257\310@\274" + "\274\275\333\333\334\362\362\363\202\376\376\376\37\364\364\370\336\336\344" + "\322\322\331\316\316\326\313\313\324\323\323\333\362\362\366\376\376\376" + "\365\365\370\330\330\337\313\313\325\311\311\324\303\303\316\333\333\343" + "\374\374\375\376\376\376\365\365\371\337\337\347\332\332\343\354\354\362" + "\374\374\375\376\376\376\340\340\347\300\300\313\312\312\324\331\331\341" + "\316\316\327\302\302\315\331\331\341\365\365\372\372\372\375\202\375\375" + "\376\27\373\373\374\362\362\366\344\344\351\313\313\323\302\302\311\310\310" + "\313\277\277\303\247\247\253\215\215\222\350\350\353\350\350\350\347\351" + "\333\345\350\314\345\351\275\343\351\256\342\352\237\341\352\221\340\353" + "\202\337\353t\337\354f\336\355W\336\356H\335\357;\202\335\3578\25\350\364" + "|\356\367\233\237\243\223\215\215\216\235\235\237\256\256\261\301\301\302" + "\321\321\322\333\333\335\344\344\345\347\347\351\353\353\356\367\367\370" + "\374\374\374\375\375\375\375\375\376\364\364\367\350\350\355\356\356\362" + "\367\367\372\364\364\367\202\363\363\367\3\345\345\352\336\336\344\363\363" + "\366\204\376\376\376\11\355\355\361\317\317\327\322\322\332\347\347\355\355" + "\355\363\350\350\356\321\321\332\300\300\313\336\336\345\203\376\376\376" + "\14\375\375\375\376\376\376\372\372\373\313\313\325\272\272\305\315\315\327" + "\331\331\341\323\323\333\277\277\311\277\277\312\355\355\361\376\376\376" + "\204\375\375\375\14\376\376\376\364\364\367\323\323\332\322\322\332\341\341" + "\347\350\350\355\340\340\346\335\335\343\355\355\360\347\347\352qqt\12\12" + "\12\202\0\0\0#\200\200\200\332\332\332\311\311\311\266\266\266\273\273\274" + "\270\270\273\211\211\212BBE\34\34\35""88;{y\203\211\211\210zz{WV^aah\210" + "\212\215\222\227{\312\326]\372\375h\323\347R\335\351x\331\332\305\324\324" + "\325\317\317\320\260\260\265wu}\254\272g\347\376N\275\335A\275\335J\275\332" + "H\274\333H\272\327E\270\325C\270\325B\202\267\324B\6\272\327?\255\307@\274" + "\274\275\333\333\334\357\357\361\374\374\375\202\376\376\376\6\356\356\362" + "\330\330\337\317\317\330\313\313\324\311\311\322\343\343\351\202\375\375" + "\375\26\347\347\356\316\316\330\317\317\327\311\311\322\314\314\326\361\361" + "\365\376\376\376\374\374\375\350\350\360\331\331\342\343\343\353\371\371" + "\373\376\376\376\356\356\363\307\307\321\305\305\317\332\332\342\330\330" + "\340\305\305\320\315\315\326\360\360\366\372\372\375\202\375\375\376\27\374" + "\374\374\364\364\367\350\350\355\320\320\327\277\277\307\305\305\312\301" + "\301\304\253\253\257\217\217\224\350\350\352\347\347\350\346\350\332\344" + "\347\314\344\350\274\342\350\255\341\351\237\340\351\220\337\352\201\336" + "\352s\336\353e\335\354V\335\355G\334\356:\202\334\3567\16\352\365\211\355" + "\366\232\221\223\214\220\220\221\240\240\241\262\262\263\304\304\305\322" + "\322\324\335\335\336\346\346\347\351\351\353\356\356\361\370\370\371\374" + "\374\374\202\375\375\375\12\362\362\365\351\351\355\361\361\364\367\367\372" + "\364\364\367\365\365\370\363\363\367\341\341\347\342\342\350\371\371\373" + "\204\376\376\376\11\350\350\355\315\315\326\327\327\336\352\352\357\355\355" + "\363\344\344\352\313\313\324\303\303\316\355\355\361\203\376\376\376\14\375" + "\375\375\376\376\376\355\355\361\277\277\313\275\275\310\320\320\332\326" + "\326\340\312\312\324\270\270\304\321\321\332\372\372\372\376\376\376\203" + "\375\375\375\202\376\376\376\11\346\346\353\315\315\325\331\331\337\344\344" + "\352\343\343\351\334\334\342\342\342\347\306\306\311??@\203\0\0\0\177\230" + "\230\231\335\335\335\270\270\270\275\275\275\275\275\301xyz\34\34\35\1\1" + "\1\10\10\11mmnc`p\231\234w\273\273\264\301\301\301\307\307\307\310\310\310" + "\264\264\264\263\263\272\210\210\214\262\271k\370\376k\313\345K\326\350m" + "\335\337\301\330\330\330\327\327\330\256\256\261ZVc\256\267q\337\376P\272" + "\332C\275\333I\275\331F\272\327D\270\325C\270\326B\267\324B\267\324A\273" + "\330?\254\305>\275\275\275\333\333\334\357\357\361\370\370\373\375\375\375" + "\376\376\376\372\372\374\346\346\352\322\322\331\314\314\325\310\310\321" + "\326\326\335\367\367\371\376\376\376\364\364\367\324\324\335\321\321\331" + "\320\320\331\305\305\321\342\342\350\375\375\376\376\376\376\362\362\366" + "\334\334\345\336\336\347\364\364\370\376\376\376\370\370\371\321\321\331" + "\302\302\315\333\333\343\341\341\350\315\315\326\305\305\317\346\346\354" + "\371\371\376\374\374\376\376\376\376\374\374\374\366\366\371\354\354\360" + "\324\324\332\276\276\306\302\302\310\303\302\305\257\257\262\222\222\226" + "\347\347\351\346\346\347\345\347\331\344\346\313\343\347\274\341\347\255" + "\341\350\236\340\350\217\337\351\201\336\352s\336\353d\335\354V\334\355G" + "\334\356:\334\3567\335\357@\354\366\226\343\354\233\206\206\206\222\222\224" + "\242\242\244\264\264\265\306\306\307\324\324\325\337\337\340\345\345\347" + "\352\352\354\361\361\363\371\371\371\374\374\374\375\375\375\374\374\375" + "\361\361\365\352\352\356\363\363\367\367\367\372\364\364\370\366\366\371" + "\361\361\365\337\337\345\2\347\347\354\374\374\375\203\376\376\376\4\374" + "\374\375\342\342\351\315\315\326\334\334\343\202\354\354\362\4\337\337\346" + "\306\306\320\314\314\326\365\365\367\202\376\376\376\6\375\375\375\376\376" + "\375\376\376\376\340\340\346\273\272\305\301\301\315\202\322\322\333\3\301" + "\301\315\273\273\307\344\344\351\202\376\376\376\203\375\375\375\12\376\376" + "\376\372\372\372\330\330\337\316\316\327\335\335\344\344\344\352\336\336" + "\344\334\334\343\240\240\242\25\25\26\202\0\0\0/\12\12\13bbb\270\270\267" + "\264\264\264\303\303\303\245\244\251..0\0\0\0\1\1\1||}\321\321\321\262\262" + "\263}}~\262\272[\360\366o\345\353\212\324\324\312\326\326\330\324\324\326" + "\314\314\315\264\263\267QP`\254\261s\353\376d\316\356K\330\354e\303\303\266" + "\332\332\334\333\333\334\257\256\257MKW\266\277r\317\362D\272\332G\274\332" + "G\271\330D\270\325C\271\324B\267\324B\267\324A\272\331A\252\304>\275\275" + "\276\334\334\335\360\360\361\371\371\373\372\372\374\202\376\376\376Q\364" + "\364\367\332\332\341\314\314\324\311\311\322\314\314\325\354\354\360\376" + "\376\376\372\372\374\336\336\346\321\321\332\326\326\340\313\313\325\323" + "\323\334\367\367\371\376\376\376\370\370\373\342\342\352\333\333\344\355" + "\355\363\375\375\376\374\374\375\335\335\344\300\300\314\330\330\340\346" + "\346\355\326\326\336\303\303\316\334\334\343\370\367\373\373\373\376\376" + "\376\376\374\374\374\370\370\371\356\356\362\331\331\336\276\276\306\300" + "\277\306\303\303\306\262\262\265\225\225\230\346\346\351\346\346\346\344" + "\346\330\343\346\312\342\346\273\341\347\254\337\350\235\336\350\216\335" + "\351\200\334\352q\334\353c\333\354T\333\355F\332\3568\332\3565\336\360J\354" + "\366\231\323\334\232\204\204\205\225\225\226\243\243\245\265\265\270\311" + "\311\312\326\326\327\337\337\341\345\345\347\353\353\355\362\362\364\372" + "\372\373\374\374\374\375\375\375\373\373\375\361\361\364\355\355\361\366" + "\366\371\367\367\372\366\366\372\367\367\373\355\355\362\340\340\346\356" + "\356\362\204\376\376\376\12\371\371\372\334\334\343\317\317\327\341\341\350" + "\356\356\364\353\353\361\330\330\340\303\303\316\333\333\343\374\374\375" + "\202\376\376\376\14\375\375\375\376\376\376\371\371\373\321\321\333\270\270" + "\303\306\306\321\322\321\334\315\315\326\272\272\306\307\307\321\366\365" + "\371\376\376\376\204\375\375\375\177\376\376\376\356\356\362\320\320\327" + "\322\322\333\340\340\345\341\341\346\332\332\341\344\344\350mmm\4\4\5\0\0" + "\1\0\0\0jjkcbc\262\262\263\307\307\307\221\221\223\13\13\13\0\0\0\26\27\30" + "\240\237\240\332\331\332\266\266\267\265\265\266\300\300\300\265\273n\372" + "\373}\336\345a\336\350\200\321\321\316\332\332\334\334\334\336\324\324\325" + "\240\253p\300\320d\344\376d\365\376[t\2075}}}\325\325\326\341\341\343\334" + "\334\336\275\305\177\264\315H\300\341H\272\330F\270\327E\272\324D\270\326" + "C\267\324B\267\324C\270\324A\272\330A\247\301=\276\276\276\334\334\336\360" + "\360\362\371\371\373\370\370\373\373\373\375\376\376\376\374\374\375\350" + "\350\356\320\320\327\312\312\322\310\310\321\340\340\347\374\374\375\376" + "\376\376\351\351\357\323\322\334\331\331\341\324\324\335\312\312\325\353" + "\353\361\376\376\376\375\375\375\353\353\361\333\333\344\350\350\357\373" + "\373\375\376\376\376\352\352\360\302\302\315\324\324\335\352\352\361\340" + "\340\350\307\307\321\320\320\331\362\362\367\374\374\376\375\375\376\374" + "\374\374\370\370\371\360\360\364\336\336\343\277\277\306\274\274\303\302" + "\302\305\264\264\267\230\230\233\345\345\350\345\345\346\343\345\327\342" + "\345\311\341\345\272\340\346\253\336\347\234\336\347\215\334\350\177\333" + "\351p\333\352b\332\353S\332\354E\331\3557\331\3554\337\360U\354\366\231\307" + "\316\230\206\206\210\227\227\230\246\246\250\270\270\272\312\312\313\330" + "\330\331\337\337\341\347\347\350\12\353\353\356\363\363\366\372\372\373\374" + "\374\374\375\375\375\372\372\374\357\357\364\356\356\362\367\366\372\370" + "\370\373\202\367\367\373\3\352\352\357\342\342\350\365\365\367\204\376\376" + "\376\11\366\366\370\330\330\337\322\322\332\345\345\353\356\356\364\351\351" + "\357\323\323\333\306\306\320\350\350\354\203\376\376\376\12\375\375\375\376" + "\376\376\363\363\366\306\306\321\271\271\305\311\311\323\320\320\332\307" + "\307\320\270\270\305\327\327\336\202\376\376\376\203\375\375\375\13\376\376" + "\376\375\374\375\341\341\347\314\314\324\327\327\337\336\336\345\333\333" + "\342\335\335\343\360\360\363\250\250\250RRS\202\0\0\0|''(\251\251\251\301" + "\301\301\330\330\330xxx###\0\0\0...\257\257\260\251\251\252\276\276\277\323" + "\323\324\333\333\333\261\267l\370\373v\341\352n\327\344_\332\341\223\322" + "\322\324\337\337\332\333\345\210\335\365b\347\376c\367\376[x\212833:\247" + "\246\251\323\323\324\343\343\345\336\350\226\315\352N\275\337B\276\334I\303" + "\343A\270\325C\267\322D\267\324C\270\325A\266\323@\265\323@\272\327@\245" + "\300<\276\276\276\335\335\336\361\361\362\372\372\374\371\371\373\370\370" + "\373\375\375\376\376\376\376\365\365\370\331\331\337\313\313\324\307\307" + "\320\323\323\334\366\366\371\376\376\376\363\363\367\327\327\340\332\332" + "\343\333\333\345\314\314\326\336\336\345\373\373\374\376\376\376\363\363" + "\370\336\336\346\343\343\353\370\370\373\376\376\376\362\362\365\310\307" + "\322\317\317\331\354\354\362\351\351\360\315\315\327\310\310\322\351\351" + "\357\374\374\376\375\375\376\374\374\374\371\371\372\361\361\365\341\341" + "\346\301\301\310\273\273\301\301\301\304\267\267\271\233\233\237\344\344" + "\347\344\344\345\342\344\326\341\344\310\337\344\272\336\345\252\335\346" + "\233\334\346\214\333\347~\332\350o\331\351a\330\352R\330\353D\327\3546\327" + "\3543\337\360^\353\365\230\272\277\227\211\211\212\232\232\233\250\250\251" + "\272\272\274\313\313\314\330\330\331\340\340\342\347\347\351\355\355\360" + "\365\365\367\373\373\374\374\374\374\375\375\375\371\371\374\360\360\364" + "\357\357\363\370\367\372\202\370\370\373\4\367\367\372\351\351\356\345\345" + "\352\371\371\372\204\376\376\376\11\364\364\367\325\325\335\324\324\334\350" + "\350\356\357\357\364\346\346\355\316\316\327\313\313\325\360\360\364\203" + "\376\376\376\14\375\375\375\376\376\376\356\356\361\277\276\312\272\272\306" + "\312\311\324\315\315\327\300\300\313\272\272\306\347\346\354\376\376\376" + "\376\375\375\203\375\375\375:\376\376\376\370\367\371\327\327\336\316\316" + "\326\331\330\340\335\335\343\331\331\340\344\344\351\370\370\371\352\352" + "\352rqr\27\26\27\0\0\0\1\1\1\200\200\202\306\306\306\334\334\335\260\260" + "\262mnn\0\0\0\2\2\2\201\201\203\264\264\266\324\324\324\351\351\351\351\351" + "\352\267\275q\361\373o\335\350h\336\355h\313\342R\326\332\236\341\352\177" + "\321\350_\347\376g\347\376Nt\205:!!*\217\216\221\277\277\300\325\325\327" + "\337\347\223\273\330F\263\324B\317\357M\311\352@\252\302G\306\3525\300\340" + ";\265\321?\264\321A\264\323?\262\320?\267\330?\243\275<\276\276\277\335\335" + "\336\361\361\362\202\372\372\374L\370\370\373\372\372\375\376\376\376\374" + "\374\374\345\345\353\315\315\326\310\310\320\316\316\327\356\356\363\376" + "\376\376\371\371\373\334\334\344\332\332\342\341\341\352\321\321\334\323" + "\323\335\365\365\370\376\376\376\370\370\373\343\343\353\341\341\351\365" + "\365\371\376\376\376\367\367\371\316\316\330\314\314\326\353\353\361\357" + "\357\365\325\325\335\304\304\317\341\342\350\374\374\376\375\375\376\373" + "\373\374\371\371\372\362\362\365\344\344\351\304\304\313\270\270\277\301" + "\301\303\267\267\271\240\240\241\343\343\346\343\343\344\341\343\326\340" + "\344\310\336\344\271\335\345\251\333\345\233\333\346\214\331\346~\330\350" + "o\327\350a\326\351R\326\353C\325\3546\325\3543\340\361h\352\365\230\255\263" + "\226\213\213\214\232\232\233\251\251\252\273\273\275\314\314\316\327\327" + "\331\337\337\341\351\351\353\356\356\361\366\366\370\373\373\374\374\374" + "\375\376\376\376\371\371\373\360\360\364\361\361\365\202\370\370\373\5\370" + "\370\374\366\366\371\347\347\355\351\351\357\372\372\374\204\376\376\376" + "\11\361\361\366\324\324\334\330\330\340\353\353\361\357\357\365\344\344\353" + "\312\312\323\323\323\334\372\371\374\202\376\376\376\14\376\375\376\375\375" + "\375\376\376\376\346\346\354\272\272\305\275\275\310\313\312\326\311\311" + "\322\273\273\307\302\302\315\364\364\365\376\376\376\204\375\375\375\5\376" + "\376\376\361\361\364\317\317\327\321\321\330\333\333\341\202\332\332\340" + "\5\356\356\362\374\374\374\364\364\364\241\241\241qpq\202\0\0\0""4\26\26" + "\27\273\273\274\324\324\326\325\325\327pppRRS\0\0\0\25\25\25\253\253\255" + "\330\330\330\354\354\355\351\351\353\277\310|\347\367d\330\351b\330\352e" + "\323\351`\320\347U\326\361^\357\376`\267\336+frD21>\221\220\221\276\276\276" + "\323\323\311\331\343\200\265\326>\276\334H\334\376M\256\322*U^8\201\200\210" + "\225\233r\256\3146\305\353.\271\3339\263\316?\262\320?\267\330>\240\272:" + "\275\275\276\335\335\336\361\361\362\372\372\374\373\373\375\371\371\373" + "\370\370\373\374\374\375\376\376\376\360\360\364\325\325\334\202\311\311" + "\322\1\345\345\352\202\374\374\375A\345\345\352\332\332\342\345\345\354\333" + "\333\344\316\316\330\351\351\357\376\376\376\373\373\375\353\353\362\341" + "\341\351\362\362\366\376\376\376\374\374\375\327\327\340\311\311\323\351" + "\351\360\365\365\372\337\337\347\305\305\317\330\330\340\372\372\375\376" + "\376\376\373\373\374\372\372\372\363\363\366\350\350\354\307\307\315\267" + "\267\275\300\300\303\271\271\271\242\242\243\343\343\346\342\342\343\340" + "\342\325\337\342\306\335\342\267\334\343\250\332\344\231\331\344\212\330" + "\345|\327\346m\326\347^\325\350O\324\351A\323\3523\323\3520\340\360o\351" + "\364\227\244\247\223\215\215\216\235\235\236\251\251\253\274\274\276\315" + "\315\317\327\327\332\340\340\342\352\352\354\357\357\361\366\366\370\372" + "\372\374\374\374\375\375\375\376\370\370\373\360\360\364\362\362\366\202" + "\370\370\373\7\370\370\374\364\364\370\347\347\354\356\356\363\374\374\375" + "\375\375\376\374\374\376\202\376\376\376\10\356\356\363\324\324\334\333\333" + "\343\355\355\363\357\357\364\340\340\347\311\311\323\335\335\343\202\376" + "\376\376\203\376\375\376\12\375\375\376\336\336\345\267\267\303\300\300\314" + "\313\313\326\305\305\317\271\271\305\315\315\327\371\371\372\376\376\376" + "\203\375\375\375\202\375\375\376\14\350\350\355\314\314\324\322\322\332\331" + "\331\340\327\327\336\336\336\344\366\366\370\376\376\376\372\372\372\352" + "\352\353zz{WWX\202\0\0\0,[Z\\\307\307\311\322\322\324\261\261\262\202\203" + "\203'%'\0\0\0BBB\306\306\307\336\336\337\341\341\343\274\307y\343\370^\321" + "\347_\323\353_\331\364a\345\376_\322\371;}\227\23x}oljz\251\251\247\301\301" + "\302\337\337\272\322\343n\261\325;\314\354P\327\374=\205\242(MPEUT[\233\232" + "\234\234\232\241\212\211\213\221\233a\264\3251\267\336,\255\3139\267\327" + ">\235\270:\274\274\275\335\335\336\361\361\362\372\372\374\202\373\373\375" + "\20\370\370\372\372\372\374\376\376\376\370\370\373\340\340\347\314\314\325" + "\311\311\321\334\334\344\371\371\373\376\376\376\353\353\362\333\333\344" + "\346\346\356\344\344\355\321\321\333\340\340\346\202\375\375\376:\362\362" + "\366\342\342\352\357\357\364\375\375\376\376\376\376\337\337\345\310\310" + "\322\350\350\357\371\371\376\352\352\361\311\311\323\317\317\331\365\365" + "\371\376\376\376\373\373\374\372\372\372\364\364\366\352\352\357\312\312" + "\320\265\265\274\276\276\302\271\271\271\243\243\244\342\342\345\341\341" + "\343\337\341\324\336\342\306\334\342\266\332\343\247\331\343\230\330\344" + "\211\326\344{\325\346l\324\346]\323\347N\322\351@\321\3522\321\352/\341\361" + "w\350\364\226\232\235\220\217\217\220\235\235\237\253\253\255\274\274\276" + "\315\315\317\326\326\330\340\340\343\352\352\354\360\360\362\365\365\370" + "\372\372\374\373\373\375\374\374\376\367\367\372\361\361\365\363\363\366" + "\367\367\372\202\370\370\373\20\362\362\366\350\350\355\362\362\366\375\375" + "\376\374\374\376\371\371\375\375\375\376\376\375\376\354\354\361\325\325" + "\335\335\335\344\356\356\364\356\356\363\335\335\344\312\312\324\343\343" + "\352\202\376\376\376\13\376\375\376\375\375\375\375\375\376\374\374\375\326" + "\326\337\266\266\303\301\301\314\314\314\325\302\302\315\267\267\303\330" + "\330\340\202\375\375\376\203\375\375\375\177\375\375\376\374\374\375\340" + "\340\346\314\314\325\323\323\333\330\330\337\327\327\335\344\344\351\375" + "\375\376\376\376\376\375\375\375\362\362\364\313\313\315}|}334\0\0\0\1\1" + "\2\203\204\205\312\312\315\321\321\323\224\224\224\202\201\202+*-\0\0\0""1" + "11\270\267\275\316\316\320\272\306y\362\374X\343\376V\333\376I\306\3477\225" + "\262,v\201U\255\254\270\262\262\272\257\257\260\300\300\275\342\352\217\300" + "\331N\266\332=\327\373L\256\321\34fu2__atty\264\264\265\277\277\277\303\303" + "\304\253\252\261\217\215\236tr\221\247\257o\276\336;\263\3248\232\2648\272" + "\272\273\335\335\336\361\361\362\372\372\374\373\373\375\374\374\376\371" + "\371\373\370\370\372\375\375\376\374\374\375\353\353\360\321\321\331\310" + "\310\322\330\330\337\364\364\371\376\376\376\362\362\367\334\334\345\347" + "\347\357\352\352\362\327\327\340\333\333\343\372\372\374\376\376\376\366" + "\366\371\344\344\354\354\354\363\374\374\376\376\376\376\343\343\351\310" + "\310\322\345\345\355\372\372\376\361\361\366\316\316\327\313\313\324\361" + "\361\364\376\376\376\373\373\374\371\371\372\364\364\366\354\354\360\313" + "\313\322\263\263\273\275\275\302\270\270\270\244\244\244\341\341\344\340" + "\340\342\337\341\323\334\340\305\332\340\265\331\341\246\327\342\226\326" + "\342\210\325\343z\323\344j\322\345\\\321\346M\320\347>\317\3500\317\350-" + "\341\360}\347\363\225\224\226\215\220\220\221\237\237\240\253\253\255\275" + "\275\277\315\315\317\327\327\331\36\341\341\344\353\353\356\360\360\362\365" + "\365\370\371\371\373\372\372\374\373\373\376\367\367\372\361\361\365\363" + "\363\367\366\366\372\367\367\373\370\370\373\361\361\365\351\351\356\366" + "\366\370\376\376\376\371\371\374\367\367\374\373\373\376\375\375\376\352" + "\352\357\326\326\336\340\340\347\357\357\365\355\355\363\331\331\341\313" + "\313\325\352\352\357\376\376\376\202\375\375\376\13\375\375\375\376\376\376" + "\373\373\374\323\323\334\267\267\304\302\302\315\311\311\323\277\277\313" + "\271\271\306\342\342\347\376\376\376\204\375\375\375\10\376\376\376\373\373" + "\374\333\333\342\315\315\325\325\325\335\327\327\336\331\331\337\353\353" + "\357\202\376\376\376\177\375\376\376\371\371\371\356\356\357\256\256\257" + "\204\204\205\32\32\32\0\0\0\6\6\6\240\240\243\311\311\314\321\321\321\210" + "\210\210ccdLLM\0\0\0\14\14\15jjo\215\217\200\200\214Y\223\236e\237\253}\245" + "\250\242\262\260\300\310\306\313\262\262\257\260\260\262\326\331\230\324" + "\345f\266\326B\311\356H\303\346-t\217\12rwb\202\201\210\231\230\234\270\270" + "\271\314\314\316\334\334\334\336\336\340\330\330\332\314\314\316\275\300" + "\217\274\311o\260\3176\264\3216\226\2616\271\271\272\335\335\336\361\361" + "\362\371\371\373\373\373\374\375\375\376\373\373\375\370\370\373\373\373" + "\375\375\375\376\362\362\366\330\330\337\312\312\323\324\324\334\361\361" + "\365\376\376\376\366\366\370\337\337\350\347\347\357\356\356\364\336\336" + "\347\330\330\342\364\364\370\376\376\376\371\371\374\350\350\360\353\353" + "\362\373\373\375\376\376\376\350\350\355\311\311\323\343\343\353\373\373" + "\376\366\366\372\325\325\336\311\311\323\355\355\361\376\376\376\373\373" + "\374\371\371\372\364\364\366\355\355\360\316\316\324\263\263\273\274\274" + "\300\270\270\270\244\244\244\340\340\343\337\337\341\335\340\323\333\337" + "\304\331\337\265\330\340\245\326\341\226\325\341\207\323\342y\321\343i\320" + "\344[\317\345L\316\346=\315\347/\315\347,\341\360\202\346\363\225\216\217" + "\211\221\221\222\237\237\241\253\253\255\274\274\277\313\313\316\325\325" + "\330\341\341\344\355\355\357\360\360\363\364\364\367\370\370\372\371\371" + "\374\372\372\375\366\366\372\362\362\366\363\363\367\24\366\366\371\367\367" + "\373\367\367\372\357\357\364\353\353\360\367\367\372\375\375\376\366\366" + "\372\365\365\371\372\372\375\375\375\376\351\351\356\327\327\336\342\342" + "\351\360\360\366\353\353\361\326\326\337\317\317\330\361\361\366\376\376" + "\376\202\375\375\376\13\375\375\375\376\376\376\372\372\373\317\317\330\270" + "\270\304\305\305\316\310\310\323\274\274\307\275\275\311\351\351\355\376" + "\376\376\204\375\375\375\10\376\376\376\372\372\373\327\327\336\316\316\326" + "\324\324\334\326\326\335\334\334\343\363\363\366\202\376\376\376\177\375" + "\375\376\372\372\374\366\366\367\354\354\354\240\240\240\202\202\202\37\37" + "\37\0\0\0\7\7\7\232\232\234\315\315\317\326\326\326\236\236\236\210\210\210" + "\200\200\202,,+\24\24\26cbl}|\200\214\212\222\263\260\265\306\306\257\266" + "\266\252\267\267\251\322\327\211\323\343^\275\333G\274\341;\301\346-\204" + "\244\6mz?\237\237\241\251\250\261\265\265\265\302\302\303\320\320\321\341" + "\341\342\355\355\356\357\357\360\351\351\310\336\347w\276\3328\245\310#\250" + "\3054\266\3238\223\2542\270\270\271\334\334\335\361\361\362\371\371\373\372" + "\372\374\375\375\376\374\374\376\370\370\373\372\372\374\374\374\376\370" + "\370\373\341\341\347\314\314\326\323\323\334\355\355\362\376\376\376\370" + "\370\372\345\345\354\347\347\357\360\360\365\344\344\354\331\331\341\360" + "\360\364\376\376\376\374\374\375\355\355\363\353\353\362\372\372\374\376" + "\376\376\354\354\361\313\313\325\342\342\352\373\373\375\372\372\375\334" + "\334\345\310\310\322\350\350\356\376\376\376\374\374\374\371\371\372\365" + "\365\366\357\357\361\322\322\327\263\263\273\273\273\277\270\270\270\244" + "\244\244\337\337\343\336\336\340\334\337\322\332\336\303\330\336\264\326" + "\337\244\324\340\225\323\340\206\321\341x\317\342h\316\343Z\314\344K\313" + "\345<\312\346.\312\346+\341\361\207\344\362\224\211\212\206\222\222\223\237" + "\237\241\254\254\256\274\274\277\313\313\316\325\325\330\341\341\344\355" + "\355\357\357\357\362\364\364\367\367\367\372\370\370\373\372\372\374\366" + "\366\371\363\363\366\363\363\367\24\365\365\370\366\366\372\366\366\371\357" + "\357\363\355\355\362\371\371\373\374\374\375\364\364\370\363\363\367\371" + "\371\374\375\375\376\352\352\357\330\330\340\344\344\353\360\360\366\352" + "\352\360\325\325\335\323\323\334\367\367\371\376\376\376\202\375\375\376" + "\13\375\375\375\376\376\376\371\371\373\315\315\326\272\272\305\305\305\320" + "\310\310\322\272\272\307\302\302\316\360\360\363\376\376\376\204\375\375" + "\375\10\376\376\376\366\366\371\324\324\334\317\317\327\325\324\334\327\327" + "\335\341\341\346\371\371\372\202\376\376\3761\375\375\376\374\374\375\373" + "\373\373\366\366\366\350\350\350\231\231\232sst;;=\0\0\0\3\3\3qqr\311\310" + "\312\323\323\323\307\307\310\255\255\255\214\214\214^^d\232\241d\305\312" + "\220\305\311\226\312\316\227\325\335w\322\342V\306\335J\271\331:\263\333" + ".\254\321\33\214\252\27s\200>\237\240\235\305\302\320\261\261\265\271\271" + "\272\316\316\317\336\336\336\345\345\346\350\350\352\355\355\307\335\346" + "}\274\321G\237\276-\237\277,\251\3054\250\3045\260\3224\216\2470\266\266" + "\270\334\334\334\361\361\363\202\371\371\373\202\375\375\376K\372\371\375" + "\370\370\372\374\374\375\372\372\375\350\350\355\322\322\332\323\323\334" + "\353\353\360\376\376\376\371\371\374\351\351\357\351\351\360\360\360\366" + "\351\351\361\333\333\344\355\355\362\376\376\376\375\375\376\360\360\366" + "\353\353\363\372\372\374\376\376\376\360\360\365\316\316\327\341\341\351" + "\373\373\375\375\375\376\344\344\353\312\312\323\343\343\352\375\376\376" + "\374\374\374\371\371\372\366\366\366\360\360\362\323\323\331\263\263\272" + "\273\273\276\270\270\270\244\244\244\336\336\342\335\335\337\333\336\321" + "\331\336\302\327\336\263\325\337\243\323\337\224\322\340\205\320\340w\316" + "\341g\315\342Y\313\343J\312\344;\311\346-\311\346*\342\361\214\344\362\224" + "\204\205\203\223\223\225\240\240\242\253\253\256\275\275\277\313\313\316" + "\324\324\330\343\343\346\355\355\357\357\357\362\365\365\367\366\366\371" + "\370\370\372\371\371\374\366\366\371\364\364\367\363\363\367\364\364\370" + "\202\365\365\370\202\357\357\364\2\372\372\374\373\373\375\202\361\361\366" + "\13\370\370\373\375\375\376\352\352\357\332\332\341\345\345\353\361\361\366" + "\351\351\357\324\324\335\326\326\336\370\370\372\376\376\376\202\375\375" + "\376\13\375\375\375\376\376\376\371\371\372\314\314\326\273\273\307\307\307" + "\320\306\306\322\273\273\306\310\310\323\366\366\371\376\376\376\204\375" + "\375\375\10\376\376\376\363\363\366\324\324\333\321\321\330\325\325\334\327" + "\327\336\345\345\352\372\372\373\202\376\376\376\11\375\375\376\374\374\375" + "\375\375\376\374\374\374\365\365\365\343\343\344\225\225\225cddYY[\202\0" + "\0\0\36../\233\233\235\305\305\307\306\306\310\277\277\301\260\260\261\252" + "\270[\317\355=\302\340=\272\3334\263\3270\253\321)\243\311\40\233\271,\220" + "\242D\222\232s\253\253\256\306\306\321\273\273\276\262\262\265\300\300\301" + "\317\317\320\340\340\341\353\355\335\346\352\247\326\341m\266\316C\234\276" + "+\232\276'\245\3031\202\245\3033\6\244\3030\257\3164\212\244.\266\266\267" + "\333\333\334\362\362\363\202\371\371\373S\375\374\375\375\375\376\373\373" + "\375\370\370\372\372\372\375\374\374\376\354\354\361\325\325\336\325\324" + "\335\351\351\357\375\375\376\372\372\374\353\353\362\353\353\361\361\361" + "\366\355\355\364\337\337\347\354\354\361\376\376\376\375\375\376\362\362" + "\367\354\354\363\371\371\373\376\376\376\363\363\367\321\321\332\341\341" + "\351\373\373\375\376\376\376\352\352\357\314\314\326\340\340\347\374\375" + "\376\374\374\374\371\371\372\366\366\366\361\361\362\325\325\331\264\264" + "\273\273\273\277\270\270\270\244\244\244\335\335\341\334\334\337\332\335" + "\320\330\334\302\325\334\262\323\335\243\321\336\223\317\336\204\316\337" + "v\314\340g\312\341X\311\342I\307\343:\306\344,\306\344)\341\360\216\342\361" + "\223\202\202\202\223\223\225\241\241\242\254\254\256\275\275\277\311\311" + "\314\323\323\327\342\342\345\354\354\356\356\356\361\364\364\367\366\366" + "\370\367\367\372\370\370\373\365\365\370\364\364\370\363\363\367\363\363" + "\366\364\364\370\363\363\367\357\357\363\360\360\365\373\373\375\370\370" + "\374\202\356\356\363\13\366\366\371\375\375\376\353\353\360\333\333\343\346" + "\346\355\361\361\366\350\350\356\324\324\335\333\333\342\371\371\373\376" + "\376\376\202\375\375\376\13\375\375\375\376\376\376\371\370\372\314\314\326" + "\275\274\310\307\307\322\307\306\321\274\274\307\317\317\330\373\373\375" + "\376\376\376\204\375\375\375\10\376\376\376\362\362\366\324\324\333\322\322" + "\331\325\325\335\330\330\337\350\350\355\373\373\375\202\376\376\376\203" + "\375\375\376\10\376\376\376\374\374\374\361\361\361\333\333\335\256\256\260" + "rrsxxz/.0\202\0\0\0""8++,jjk\245\245\250\270\271\272\227\237s\210\231E\214" + "\236O\221\241Y\224\240c\245\254\211\253\257\246\266\267\275\303\300\320\311" + "\310\322\274\274\274\275\275\275\305\305\305\314\314\315\326\326\306\336" + "\343\240\330\342v\300\323K\252\3065\230\272'\231\273&\244\3021\246\3033\245" + "\3032\245\3010\245\3020\244\2770\257\3152\210\240,\266\266\267\333\333\334" + "\362\362\363\371\371\373\370\370\372\374\374\375\375\375\376\374\374\375" + "\367\367\372\370\370\374\373\373\376\361\361\365\332\332\342\326\326\336" + "\352\352\357\375\375\376\373\373\374\356\356\364\354\354\363\360\360\367" + "\357\357\365\343\343\353\353\353\360\202\375\375\3765\364\364\372\355\355" + "\364\371\371\373\376\376\376\365\365\371\323\323\335\342\342\352\373\373" + "\375\376\376\376\357\357\364\317\317\331\334\334\344\373\373\375\373\373" + "\374\371\371\372\366\366\366\361\361\362\326\326\332\264\264\274\274\274" + "\300\270\270\270\243\243\244\334\334\340\333\333\336\330\333\317\326\333" + "\300\324\333\260\322\334\241\320\335\221\316\335\202\314\336t\312\337d\310" + "\337U\307\341F\306\3427\304\343)\304\343&\340\360\217\341\361\222\200\200" + "\200\223\223\225\242\242\243\253\254\256\274\274\277\310\310\313\322\322" + "\326\342\342\345\354\355\357\355\355\360\363\363\366\364\364\367\366\366" + "\371\367\367\372\202\365\365\370\25\363\363\366\361\361\365\362\362\366\363" + "\363\367\357\357\364\362\362\366\373\373\375\366\366\371\354\354\361\354" + "\353\361\364\364\370\375\375\376\354\354\361\335\335\344\347\347\355\361" + "\361\366\347\347\356\325\325\335\337\337\346\373\373\374\376\376\376\202" + "\375\375\376\11\375\375\375\376\376\376\371\371\372\317\317\327\275\275\312" + "\310\310\323\307\307\320\275\275\310\323\323\333\202\375\375\376\204\375" + "\375\375\10\376\376\376\362\362\365\324\324\334\323\323\332\326\326\335\332" + "\332\340\354\354\360\375\375\375\202\376\376\376\203\375\375\376\202\376" + "\376\376!\367\367\370\351\351\354\336\336\340\317\317\321\237\237\240\230" + "\231\230\177}\177BBD\3\3\3\2\2\3\7\7\7//0nj|}|\207\217\215\231\237\236\253" + "\257\255\275\300\300\277\305\305\272\275\275\270\270\270\271\273\273\274" + "\304\306\276\324\327\251\334\343\215\320\335f\275\317I\250\3032\230\271&" + "\225\265$\234\273)\242\276-\242\276/\204\241\276.\7\240\276.\241\275.\257" + "\315/\206\235+\267\267\267\333\333\334\362\362\363\202\370\370\372\16\375" + "\374\375\375\375\376\374\374\376\370\370\373\367\367\372\372\372\375\364" + "\364\371\337\337\346\331\331\340\352\352\360\374\374\376\373\373\375\360" + "\360\365\357\357\365\202\357\357\3663\347\347\357\351\351\360\374\373\375" + "\375\375\376\366\366\373\357\357\366\371\371\373\376\376\376\366\366\371" + "\326\326\337\344\344\354\373\373\375\376\376\376\362\362\367\323\323\334" + "\333\333\343\373\373\374\373\374\374\371\371\372\365\365\366\361\361\362" + "\327\327\332\264\264\274\274\274\300\270\270\270\243\243\244\333\333\337" + "\332\332\335\327\332\316\325\332\277\322\332\257\320\333\240\316\333\220" + "\314\333\201\312\334r\310\335c\306\336S\304\337D\303\3405\301\341'\301\341" + "$\337\357\220\340\360\221\177\177\200\224\224\225\241\241\243\253\252\255" + "\273\273\276\307\307\312\322\322\325\343\343\345\202\354\354\357\33\363\363" + "\366\364\364\367\366\366\371\366\366\372\364\364\370\365\365\371\363\363" + "\367\360\360\365\361\361\365\361\361\366\360\360\364\363\363\367\373\373" + "\375\365\365\370\351\351\357\352\352\357\363\363\367\375\375\376\356\356" + "\363\336\336\345\347\347\355\361\360\366\347\347\355\326\326\336\341\341" + "\350\373\373\375\376\376\376\202\375\375\376\11\375\375\375\376\376\376\372" + "\372\373\321\321\331\277\277\312\310\310\322\306\306\320\275\275\312\326" + "\326\335\202\375\375\376\204\375\375\375\10\376\376\376\363\363\366\326\326" + "\335\324\324\334\330\330\336\332\332\341\357\357\362\375\375\376\202\376" + "\376\376\202\375\375\376\203\376\376\376\37\371\371\372\357\357\362\353\353" + "\355\343\343\346\336\336\336\314\314\314\262\261\261\230\230\231\177\177" + "\177jjkQQP32=\216\220y\271\271\271\267\266\270\266\266\264\272\274\262\304" + "\304\260\317\321\246\323\330\221\320\332r\314\331V\275\321E\254\3036\233" + "\271(\224\263\40\220\263\37\231\266'\240\273*\240\275.\237\272-\203\237\274" + ",\203\240\274,\7\240\274+\237\272-\254\313.\203\232*\266\266\270\333\333" + "\334\362\362\363\202\370\370\372\1\375\374\375\202\374\374\376\15\370\370" + "\373\366\366\371\372\372\375\366\366\372\342\342\351\335\335\343\355\355" + "\362\374\374\376\373\373\374\362\362\366\360\360\366\357\357\366\356\356" + "\365\202\351\351\361A\373\373\375\375\375\376\367\367\374\361\361\367\371" + "\371\374\376\376\376\365\365\371\327\327\340\347\347\356\374\374\376\376" + "\376\376\364\364\370\326\326\337\333\333\342\373\373\374\374\374\374\371" + "\371\372\365\365\366\361\361\362\326\326\332\265\265\275\275\275\301\270" + "\270\270\243\243\244\332\332\337\331\331\334\326\331\316\324\331\277\321" + "\331\257\316\332\237\315\333\220\312\333\201\310\333r\306\335c\304\335T\303" + "\337E\301\3406\277\341(\277\341%\336\357\221\337\360\221\177\177\200\223" + "\223\224\240\240\242\252\252\255\272\272\274\306\306\311\321\321\325\343" + "\343\345\353\353\355\354\354\357\362\362\365\364\364\367\365\365\370\366" + "\366\371\363\363\367\366\366\371\363\363\366\360\360\363\360\360\364\361" + "\360\365\360\360\365\363\363\367\373\373\375\364\364\367\202\350\350\355" + "\13\361\361\365\375\374\376\357\357\364\340\340\347\347\347\355\360\360\365" + "\346\346\355\327\327\337\343\343\352\373\373\375\376\376\376\202\375\375" + "\376\11\375\375\375\376\376\376\372\372\373\324\324\333\301\301\313\311\311" + "\322\306\306\321\277\277\314\330\330\337\202\375\375\376\204\375\375\375" + "\10\376\376\376\364\364\370\331\330\337\326\326\334\331\331\340\334\334\342" + "\360\360\363\375\375\376\202\376\376\376\2\375\376\376\375\375\376\203\376" + "\376\376u\371\371\372\361\361\363\360\360\362\355\355\357\357\357\360\352" + "\352\352\337\337\337\317\317\320\262\262\263\216\216\215yxzont\250\261V\311" + "\333G\301\323H\273\320?\266\3137\262\3078\243\2750\231\267&\225\264#\215" + "\256\36\215\257\36\221\263!\227\266'\234\270(\234\270*\233\272)\234\270(" + "\235\272)\237\272+\236\271,\236\273,\235\270+\237\272-\236\273,\235\273," + "\237\273-\236\271-\253\312.\202\231+\267\267\270\334\334\335\362\362\363" + "\367\367\371\370\370\372\375\375\375\374\374\375\375\375\376\370\370\373" + "\366\366\370\371\371\374\367\367\373\346\346\353\340\340\347\356\356\364" + "\374\373\376\373\373\375\363\363\370\361\361\367\357\356\364\357\357\365" + "\353\353\363\353\353\362\373\373\374\375\375\376\370\370\374\363\363\370" + "\372\372\374\376\376\376\365\365\371\332\332\342\352\352\360\374\374\376" + "\376\376\376\365\365\372\327\327\341\333\333\342\373\373\374\374\374\374" + "\371\371\372\365\365\366\361\361\362\326\326\332\265\265\275\277\277\302" + "\270\270\270\243\243\244\331\331\336\330\330\333\325\330\315\323\330\276" + "\320\330\256\315\331\236\313\332\217\311\332\200\306\332q\305\334b\302\334" + "S\301\335D\277\3375\275\340'\275\340$\335\357\216\336\357\221\200\200\200" + "\222\222\224\240\240\241\251\251\253\271\271\273\304\304\310\320\320\324" + "\342\342\344\351\351\354\352\352\355\361\361\364\363\363\366\202\365\365" + "\370\3\363\363\366\366\366\371\363\363\366\202\356\356\362\5\360\360\364" + "\361\361\365\364\364\370\372\372\375\362\362\365\202\346\346\354\12\356\356" + "\363\374\374\376\361\361\365\341\341\350\347\347\355\357\357\365\346\346" + "\355\330\330\340\346\346\354\374\374\375\203\375\375\376\11\375\375\375\376" + "\376\376\373\372\374\327\327\336\304\304\316\311\311\323\310\307\321\303" + "\303\315\334\334\342\202\375\375\376\204\375\375\375\7\376\376\376\367\367" + "\371\333\333\341\330\330\336\333\333\341\336\336\343\362\362\364\210\376" + "\376\376\30\372\372\373\362\362\364\360\360\363\361\361\363\367\367\370\371" + "\371\371\363\363\363\350\350\351\334\334\335\323\323\325\314\314\315\310" + "\310\311\242\257[\200\247\5\200\243\13\205\246\17\207\252\21\211\251\22\217" + "\257\26\224\263\33\226\265\35\231\266\40\233\267!\232\270\40\202\233\272" + "\"\40\233\271!\232\272#\233\274$\235\273#\234\275%\236\277%\242\301)\244" + "\303+\247\307.\253\3110\255\3131\255\3123\255\3132\274\3343\204\234+\270" + "\270\271\334\334\335\361\361\362\367\367\370\370\370\372\375\375\375\374" + "\374\375\375\375\376\371\371\373\364\364\370\370\370\373\371\371\374\351" + "\351\357\345\345\352\362\362\366\374\374\376\372\372\374\202\363\363\370" + "\2\354\354\363\356\356\364\202\355\355\364\14\372\372\374\375\375\376\371" + "\371\374\365\365\372\372\372\375\376\376\376\365\365\371\334\334\345\354" + "\354\362\374\374\376\376\376\376\367\367\373\202\333\333\343&\373\373\374" + "\374\374\374\371\371\372\365\365\366\361\361\362\326\326\332\267\267\276" + "\301\301\303\270\270\270\243\243\244\327\327\335\327\327\332\324\327\314" + "\322\330\275\317\330\255\314\330\235\313\331\216\310\331\200\306\332p\304" + "\333a\302\334R\300\335C\277\3364\275\340&\275\340#\334\356\213\336\357\220" + "\202\202\202\222\222\223\240\240\242\250\250\252\265\265\267\302\302\305" + "\317\317\322\342\342\344\347\347\352\350\350\353\360\360\363\202\363\363" + "\366#\365\365\370\362\362\365\366\366\371\363\363\367\355\355\361\354\354" + "\361\357\357\364\362\362\366\364\364\370\371\371\374\360\360\365\345\345" + "\353\344\344\352\353\353\361\373\373\375\363\363\367\343\343\352\347\347" + "\355\356\356\364\346\346\354\332\332\342\350\350\356\374\374\375\373\373" + "\376\374\374\376\375\375\376\375\375\375\375\375\376\373\373\374\333\333" + "\342\305\305\317\312\312\324\310\310\322\305\305\317\335\335\344\202\375" + "\375\376\204\375\375\375\7\376\376\376\371\371\373\337\337\345\331\331\337" + "\334\334\342\337\337\345\362\362\365\210\376\376\376\17\373\373\374\363\363" + "\365\360\360\363\361\361\363\371\371\372\376\376\376\374\374\374\367\367" + "\370\357\357\360\351\351\352\344\344\345\337\337\340\252\265i\226\264\14" + "\227\263\31\202\225\263\26c\223\263\27\223\261\25\223\260\23\221\260\23\221" + "\257\21\215\260\20\221\261\22\216\255\17\215\255\16\214\253\17\217\255\17" + "\217\257\17\216\257\16\217\257\17\214\254\14\210\251\11\204\243\7\202\241" + "\4~\235\4}\234\4{\232\4{\231\4\204\246\3p\203\40\272\272\272\335\335\336" + "\360\360\361\366\366\367\371\371\372\375\375\375\374\374\375\375\375\376" + "\370\370\372\364\364\367\370\370\373\371\371\374\355\355\361\351\351\356" + "\364\364\370\373\373\376\370\370\373\364\364\370\363\363\370\353\353\362" + "\355\355\363\357\357\366\357\357\365\373\373\374\375\375\376\372\371\375" + "\366\366\373\373\373\375\376\376\376\364\364\370\336\336\346\357\357\364" + "\374\374\376\376\376\376\370\370\373\335\335\345\334\334\344\373\373\374" + "\374\374\374\371\371\372\365\365\366\360\360\362\324\324\331\271\271\300" + "\303\303\307\270\270\270\243\243\244\326\326\334\326\326\331\323\326\313" + "\320\326\274\316\327\255\313\327\235\311\330\216\307\331\200\305\332q\303" + "\333a\301\334R\277\335D\276\3365\274\340'\274\340$\333\356\210\335\357\221" + "\204\205\203\220\220\221\240\240\242\251\251\253\264\264\267\300\300\302" + "\315\315\320\340\340\343\347\347\352\347\347\353\360\360\363\202\363\363" + "\366\20\364\364\370\361\361\365\365\365\371\363\363\367\354\354\361\353\353" + "\360\356\356\363\362\362\366\364\364\370\370\370\374\357\357\364\343\343" + "\352\343\343\351\351\351\357\371\371\374\365\365\371\202\346\346\354\21\355" + "\355\363\346\346\355\333\333\343\351\351\357\374\374\375\371\371\375\373" + "\373\375\376\376\376\375\375\375\375\375\376\374\374\375\337\340\346\307" + "\307\321\312\312\324\311\311\323\307\307\320\336\336\345\202\375\375\376" + "\204\375\375\375\10\376\376\376\374\374\374\343\343\350\332\332\340\336\336" + "\343\341\340\346\362\362\365\375\375\376\207\376\376\376\5\374\374\375\364" + "\364\366\360\360\363\361\361\363\370\370\372\202\376\376\376\6\374\374\374" + "\367\367\371\365\365\366\363\363\364\353\353\355\231\232\216\202\220\221" + "\200\202\217\221\200=\215\220\177\215\220~\214\220~\214\220}\215\221~\220" + "\225\200\223\227\202\226\233\205\231\235\207\236\242\214\244\250\221\247" + "\254\225\251\255\227\250\254\227\245\251\223\241\245\217\235\241\213\231" + "\236\211\227\233\210\226\232\210\225\232\212\227\233\213\231\235\215\236" + "\242\224\302\302\304\342\342\342\361\361\363\365\365\367\371\371\373\375" + "\375\375\374\374\375\375\375\376\370\370\372\363\363\367\370\370\373\372" + "\372\375\357\357\364\356\356\362\367\367\373\372\372\375\367\367\373\365" + "\365\372\362\362\367\351\351\360\354\354\362\360\357\366\360\360\367\373" + "\373\375\375\375\375\372\372\375\370\370\375\373\373\375\375\375\376\363" + "\363\366\341\341\351\361\361\367\374\374\376\376\376\376\367\367\373\337" + "\337\345\337\336\346\202\373\373\374A\371\371\372\365\365\366\360\360\361" + "\322\322\330\273\273\302\305\305\310\271\271\271\243\243\244\325\325\333" + "\325\325\330\322\325\312\317\325\273\315\326\254\313\327\234\310\327\215" + "\306\330\177\304\331p\302\332a\301\333R\277\335C\276\3365\274\340'\274\340" + "$\331\355\203\335\357\221\206\207\202\217\217\221\237\237\240\247\247\251" + "\262\262\265\276\276\301\314\314\317\337\337\342\346\346\350\345\345\351" + "\356\356\362\362\362\365\363\363\366\364\364\370\360\360\364\365\365\371" + "\364\364\370\354\354\360\352\352\357\355\355\362\363\363\367\364\364\367" + "\367\367\373\357\357\364\342\342\351\342\342\350\347\347\355\370\370\373" + "\366\366\373\350\350\356\346\346\354\354\354\362\347\347\355\335\335\345" + "\351\352\357\373\373\375\367\367\374\373\373\375\376\376\376\375\375\375" + "\202\375\375\376\2\347\347\355\313\313\324\202\312\312\324\2\310\310\322" + "\340\340\345\202\375\375\376\204\375\375\375\10\376\376\376\374\374\374\347" + "\347\354\334\334\342\337\337\344\342\342\347\361\361\363\375\375\375\207" + "\376\376\376\25\375\375\375\366\366\367\360\360\363\361\361\363\367\367\370" + "\375\375\376\376\376\376\375\375\375\370\370\372\367\367\371\367\367\370" + "\361\361\363\351\351\352\331\331\331\311\311\311\276\276\277\271\271\272" + "\266\266\270\267\267\270\272\272\273\274\274\275\202\275\275\275f\273\273" + "\275\271\271\272\270\270\271\271\271\272\274\274\275\276\276\276\274\274" + "\275\266\266\267\265\265\267\273\273\274\275\275\276\274\274\275\267\267" + "\270\266\266\267\273\273\274\275\275\276\274\274\275\302\302\303\323\323" + "\323\352\352\353\362\362\364\364\364\367\373\373\374\375\375\375\374\374" + "\375\375\375\376\366\366\371\363\363\366\370\370\373\372\372\375\362\362" + "\365\362\362\366\371\371\374\370\370\374\365\365\372\366\366\373\361\361" + "\366\346\346\355\353\353\362\362\361\370\363\363\371\373\373\375\375\375" + "\375\372\372\375\371\371\375\374\374\375\375\375\376\361\361\365\343\343" + "\353\363\363\371\372\372\376\375\375\376\367\367\373\337\337\346\341\341" + "\350\373\373\375\373\373\374\371\371\372\366\366\366\357\357\361\320\320" + "\326\274\274\303\310\310\312\272\272\272\243\243\244\324\324\332\323\323" + "\327\321\324\311\317\324\272\314\325\253\312\326\233\310\327\214\306\327" + "~\305\331o\303\332_\301\333P\300\334B\276\3363\275\340%\275\340\"\330\354" + "}\336\357\220\212\213\205\214\214\216\236\236\237\246\246\250\260\260\263" + "\274\274\300\313\313\315\336\336\340\346\346\347\343\343\346\356\356\361" + "\362\362\365\362\362\366\363\363\367\357\357\363\364\364\367\365\365\370" + "\354\354\360\351\351\356\355\355\361\202\363\363\367\21\366\366\372\357\357" + "\364\342\342\350\340\340\347\344\344\352\365\365\371\370\370\374\352\352" + "\360\346\346\355\354\354\361\347\347\355\337\336\346\352\352\360\373\373" + "\375\365\365\373\371\371\374\376\376\376\202\374\374\375\7\376\376\376\356" + "\356\364\320\320\331\314\314\325\314\314\324\312\312\324\337\337\346\202" + "\375\375\376\204\375\375\375\10\375\375\376\375\375\375\356\356\362\336\336" + "\344\340\340\345\343\343\347\357\357\363\375\375\375\210\376\376\376\21\371" + "\371\372\362\362\364\360\360\363\364\364\367\374\374\375\376\376\376\375" + "\375\376\372\372\373\367\367\371\370\370\372\365\365\366\360\360\362\352" + "\352\353\344\344\344\340\340\340\335\335\336\332\332\333\202\327\327\331" + "\1\330\330\331\204\330\330\332\25\332\332\333\335\335\335\337\337\337\336" + "\336\336\330\330\332\324\324\325\330\330\332\335\335\336\336\336\337\333" + "\333\333\324\324\326\327\327\331\335\335\336\336\336\337\333\333\334\336" + "\336\337\351\351\352\363\363\364\363\363\365\365\365\367\374\374\374\203" + "\374\374\375\21\365\365\370\363\363\366\371\371\373\372\372\375\364\364\367" + "\366\366\371\372\372\374\366\366\372\364\364\370\367\367\374\357\357\365" + "\345\345\353\354\354\362\362\363\371\364\364\371\374\374\375\375\375\375" + "\202\372\372\3750\374\374\375\375\375\376\360\360\363\347\347\355\364\364" + "\371\370\370\375\373\373\376\365\365\372\340\340\346\344\344\353\374\374" + "\376\373\373\374\371\371\372\366\366\366\357\357\360\316\316\325\277\277" + "\306\311\311\312\272\272\272\243\243\244\323\323\331\322\322\327\320\323" + "\310\316\324\271\314\324\252\311\325\232\310\326\213\306\327}\304\331n\303" + "\332_\302\334P\300\335A\277\3373\276\341%\276\341\"\326\354v\336\360\220" + "\215\220\206\212\212\213\235\235\236\244\244\247\256\256\261\272\272\275" + "\307\307\313\333\333\335\345\345\347\343\343\346\355\355\360\202\362\362" + "\365\7\363\363\367\357\357\363\362\362\366\365\365\371\354\354\361\351\351" + "\355\354\354\361\202\363\363\367\34\365\365\371\357\357\364\341\341\350\340" + "\340\346\342\342\350\362\362\366\371\371\374\355\355\362\347\347\355\353" + "\353\361\350\350\356\340\340\350\352\352\357\373\373\375\365\365\371\366" + "\366\373\375\375\376\375\375\375\373\373\375\375\375\376\364\364\367\326" + "\326\336\316\316\326\315\315\326\314\314\325\336\336\345\373\373\375\375" + "\375\376\205\375\375\375\7\376\376\376\365\365\367\342\342\347\342\342\346" + "\344\344\350\356\356\361\374\374\375\210\376\376\376\5\374\374\374\364\364" + "\365\360\360\363\363\363\365\373\373\374\202\376\376\376\1\374\374\375\202" + "\370\370\372\4\367\367\370\364\364\366\362\362\364\365\365\365\202\364\364" + "\364\11\363\363\363\361\361\362\356\356\360\355\355\357\355\355\356\355\355" + "\357\357\356\360\361\361\362\363\363\363\202\364\364\364\23\357\357\360\350" + "\350\352\351\351\353\360\360\361\364\364\364\362\362\363\354\354\355\350" + "\350\351\356\356\357\364\364\364\363\363\363\357\357\361\363\363\364\367" + "\367\370\370\370\371\363\363\365\366\366\370\374\374\375\373\373\374\202" + "\374\374\375\5\365\365\367\364\364\366\372\372\373\373\373\375\365\365\370" + "\202\371\371\374\12\365\365\371\364\364\370\370\370\374\354\354\361\343\343" + "\352\355\355\363\364\364\372\365\365\371\374\374\376\374\374\375\202\373" + "\373\3750\375\375\375\375\375\376\357\357\363\351\351\360\364\364\371\365" + "\365\373\370\370\376\364\364\371\341\341\347\350\350\356\375\375\376\373" + "\373\374\371\371\372\366\366\366\355\355\357\314\314\323\303\303\311\312" + "\312\313\272\272\272\244\244\245\322\322\330\321\321\326\317\321\307\315" + "\323\270\313\323\252\311\324\232\310\326\213\306\327}\305\330n\303\331_\302" + "\333Q\301\335B\300\3373\277\341&\277\341#\325\353o\337\360\220\221\224\210" + "\207\207\211\232\232\234\244\244\246\254\254\257\271\271\274\307\307\311" + "\332\332\335\344\344\346\342\342\346\354\354\357\202\362\362\365\7\365\365" + "\370\356\356\362\361\361\365\366\366\372\356\356\362\350\350\355\353\353" + "\360\202\363\363\367\20\364\364\370\357\357\363\340\341\347\337\337\346\340" + "\340\347\357\357\364\371\371\374\357\357\364\350\350\356\352\352\360\351" + "\351\357\341\341\350\351\351\357\373\373\375\363\363\370\364\364\371\202" + "\375\375\376\12\372\372\375\373\373\375\367\367\371\334\334\343\320\320\331" + "\317\317\330\315\315\330\334\334\343\371\371\373\376\376\376\205\375\375" + "\375\7\376\376\376\371\371\372\346\346\353\343\343\350\345\345\352\355\355" + "\360\373\373\374\210\376\376\376\17\375\375\375\367\367\371\361\361\363\361" + "\361\364\371\371\372\375\375\376\376\376\376\375\375\375\372\372\373\370" + "\370\372\371\371\373\370\370\371\367\367\370\371\371\373\375\375\375\203" + "\376\376\376\202\375\375\375\202\374\374\375\1\375\375\375\202\376\376\376" + "\31\375\375\375\371\371\372\363\363\364\363\363\365\371\371\372\375\375\375" + "\375\375\376\370\370\372\362\362\364\363\363\365\373\373\374\376\376\376" + "\374\374\375\372\372\373\374\374\375\375\375\376\370\370\371\363\363\365" + "\371\371\372\375\375\375\372\372\374\374\374\375\373\373\374\363\363\365" + "\365\365\367\202\373\373\375\11\370\370\372\372\372\375\370\370\374\362\362" + "\367\364\364\370\367\367\372\350\350\356\342\342\351\356\356\364\202\366" + "\366\372\2\374\374\376\374\374\375\202\373\373\3753\375\375\375\374\374\376" + "\357\357\364\355\355\363\363\362\367\364\364\371\366\366\374\362\362\370" + "\341\341\350\354\354\361\376\376\376\373\373\374\371\371\372\366\366\366" + "\355\355\357\313\313\321\310\310\315\314\314\314\272\272\272\245\245\246" + "\321\321\327\320\320\325\316\321\306\314\321\267\312\323\250\310\324\231" + "\307\325\212\306\326|\304\330m\303\331^\302\333O\301\335@\300\3372\277\341" + "$\277\341!\322\352d\337\360\217\226\233\212\205\205\206\231\231\232\243\243" + "\246\253\253\256\270\270\273\305\305\310\331\331\334\342\342\345\341\341" + "\345\354\354\357\362\362\365\361\361\365\364\364\367\202\356\356\362\4\366" + "\366\372\357\357\363\347\347\354\352\352\357\202\363\363\367\10\362\362\367" + "\357\357\364\341\341\347\337\337\345\336\336\345\352\352\360\370\370\374" + "\361\361\367\202\352\352\360\10\352\351\360\343\343\352\351\351\360\373\373" + "\375\363\363\367\362\362\366\375\375\376\376\376\376\202\372\372\374\10\372" + "\372\373\345\345\352\322\322\333\320\320\330\320\320\331\332\332\341\365" + "\365\370\376\376\376\205\375\375\375\3\376\376\376\374\374\375\355\355\361" + "\202\346\346\352\2\354\354\360\370\370\372\211\376\376\376\5\374\374\374" + "\364\364\366\361\361\363\365\365\367\374\374\375\202\376\376\376\1\374\374" + "\375\202\371\371\373\6\372\372\373\371\371\372\367\367\370\370\370\371\373" + "\373\374\375\375\375\206\376\376\376\16\375\375\375\373\373\374\366\366\370" + "\362\362\364\363\363\365\371\371\373\375\375\376\376\376\376\373\373\374" + "\363\363\365\361\361\363\367\367\371\375\375\376\376\376\376\202\374\374" + "\375\31\376\376\376\374\374\375\365\365\366\363\363\366\374\374\374\374\374" + "\375\372\372\374\375\375\375\371\371\373\363\363\365\366\366\370\375\375" + "\375\373\373\375\372\372\375\374\374\375\366\366\371\361\361\365\367\367" + "\372\365\365\370\345\345\353\343\343\351\360\360\365\366\366\373\366\366" + "\372\374\374\376\203\373\373\375\3\375\375\376\372\372\374\357\357\364\202" + "\357\357\365R\361\361\366\363\363\371\360\360\366\341\341\351\357\357\364" + "\376\376\376\373\373\374\371\371\372\366\366\366\351\351\355\312\312\321" + "\315\315\322\314\314\314\272\272\273\245\245\246\317\317\326\317\317\324" + "\315\320\305\313\320\267\311\322\250\307\323\230\306\324\212\304\325|\303" + "\327m\302\330^\301\332O\300\334A\277\3362\276\340%\276\340\"\317\350[\336" + "\357\220\233\241\212\201\201\203\225\225\226\241\241\244\253\253\256\266" + "\266\271\303\303\307\327\327\332\343\343\345\341\341\345\353\353\356\360" + "\360\364\361\361\364\364\364\367\357\357\363\354\354\360\365\365\371\361" + "\361\365\350\350\354\351\351\356\362\362\366\363\363\367\361\361\365\357" + "\357\364\341\341\347\337\337\346\336\336\345\346\346\354\366\366\373\363" + "\363\370\354\354\362\353\352\360\353\353\360\345\345\354\351\351\357\372" + "\372\375\363\363\367\357\357\365\374\374\375\376\376\376\372\372\374\367" + "\367\373\373\373\375\355\355\362\327\327\336\322\322\332\321\321\332\331" + "\331\340\363\363\366\376\376\376\205\375\375\375\202\376\376\376\5\365\365" + "\370\350\350\355\350\350\353\353\353\357\366\366\370\212\376\376\376\4\371" + "\371\372\362\362\364\362\362\365\371\371\372\203\376\376\376\12\374\374\374" + "\371\371\372\372\372\373\373\373\374\371\371\373\367\367\371\366\366\370" + "\367\367\371\371\371\373\373\373\373\202\373\373\374,\372\372\373\371\371" + "\372\366\366\370\363\363\365\362\362\365\365\365\367\372\372\373\375\375" + "\376\376\376\376\374\374\375\365\365\367\361\361\363\364\364\366\374\374" + "\375\376\376\376\375\375\376\374\374\375\375\375\376\376\376\376\371\371" + "\372\362\362\365\366\366\370\375\375\375\372\372\374\373\373\374\374\374" + "\375\367\367\371\363\363\365\371\371\372\376\376\376\374\374\375\374\374" + "\376\372\372\375\363\363\367\360\360\364\370\370\374\360\360\364\343\343" + "\350\344\344\353\365\365\371\366\366\373\366\366\372\371\371\376\372\372" + "\375\202\373\373\3757\375\375\376\371\371\372\357\357\364\357\357\365\354" + "\354\363\355\355\363\362\362\367\357\357\364\344\344\353\363\363\367\376" + "\376\376\373\373\374\371\371\372\366\366\366\345\345\351\313\313\321\323" + "\323\326\315\315\315\272\272\273\245\245\246\316\316\325\315\315\323\314" + "\317\304\311\317\266\307\320\247\306\322\227\304\323\211\303\324{\301\326" + "l\300\330]\277\332N\276\333@\275\3351\274\340$\274\340!\312\346P\335\357" + "\217\244\252\215\200\200\201\224\224\225\241\241\243\252\252\255\265\265" + "\270\301\301\305\325\325\330\342\342\344\340\340\344\352\352\355\362\362" + "\365\361\361\364\363\363\367\360\360\364\352\352\357\364\364\370\362\362" + "\366\202\350\350\355\2\362\362\366\363\363\367\202\360\360\364\4\342\342" + "\350\337\337\346\336\336\345\343\343\351\202\364\364\371\24\356\356\363\353" + "\353\360\353\353\361\347\347\356\351\351\357\370\370\374\363\363\367\354" + "\354\363\372\372\375\376\376\376\373\373\375\365\365\372\373\373\375\364" + "\364\366\334\334\344\324\324\334\323\323\333\330\330\337\362\362\364\376" + "\376\376\205\375\375\375\202\376\376\376\7\370\370\371\350\350\354\343\343" + "\346\346\346\352\361\361\363\373\373\374\372\372\372\202\370\370\370\1\372" + "\372\372\202\374\374\374&\372\372\372\370\370\370\367\367\367\365\365\366" + "\357\357\361\355\355\360\362\362\364\370\370\371\370\370\370\367\367\367" + "\366\366\367\364\364\366\365\365\366\367\367\371\371\371\372\365\365\367" + "\362\362\363\357\357\361\356\356\361\360\360\362\362\362\364\362\362\363" + "\360\360\362\355\355\360\353\353\355\355\355\357\360\360\361\363\363\364" + "\366\366\366\367\367\367\367\367\370\363\363\365\360\360\362\363\363\365" + "\372\372\373\376\376\376\375\375\375\371\371\371\202\367\367\367\1\364\364" + "\365\202\356\356\360\22\370\370\371\374\374\375\372\372\373\374\374\375\373" + "\373\374\364\364\366\364\364\365\370\370\372\373\373\373\373\373\374\374" + "\374\375\370\370\372\360\360\364\362\362\365\370\370\373\353\353\357\341" + "\341\347\346\346\354\202\366\366\373\3\365\364\372\371\371\375\372\372\375" + "\202\373\373\375>\375\375\376\367\367\372\360\360\365\356\356\363\352\352" + "\357\352\352\361\360\360\365\355\355\363\346\346\354\367\367\372\376\376" + "\376\373\373\374\371\371\372\366\366\366\341\341\346\314\314\323\326\326" + "\330\315\315\315\272\272\273\246\246\246\315\315\324\314\314\322\311\315" + "\303\310\316\265\306\317\246\304\320\226\302\322\210\301\323z\277\324k\275" + "\326\\\274\330M\273\332?\272\3340\271\336#\271\336\40\304\343D\334\356\217" + "\256\266\220||}\217\217\222\240\240\243\252\252\254\265\265\270\301\301\304" + "\324\324\327\342\342\344\336\336\342\350\350\353\362\362\365\361\361\364" + "\363\363\366\362\362\365\351\351\356\362\362\365\364\364\370\352\352\357" + "\350\350\355\361\361\365\364\363\370\356\356\363\360\360\365\343\343\351" + "\202\337\337\345\26\337\337\346\361\361\366\365\365\372\357\357\364\354\354" + "\362\353\353\361\350\350\357\351\351\357\365\365\371\366\366\371\352\352" + "\361\370\370\372\376\376\376\374\374\375\365\365\372\371\371\373\372\372" + "\374\344\344\353\326\326\336\325\325\335\330\330\337\354\354\362\202\375" + "\375\376\204\375\375\375Q\376\376\376\372\372\372\304\304\306kkl\240\240" + "\242\332\332\335\345\345\350\314\314\315vvxhhj\327\327\330\355\355\355\364" + "\364\364\244\244\245\200\200\202yy{\200\200\200\206\206\210\247\247\251\346" + "\346\347\320\320\323\206\206\211~}\177xxz||~\277\277\300\354\354\356\331" + "\331\332\223\223\225{{}yy{{{~\223\223\225\331\331\332\355\355\356\243\242" + "\244\203\203\207vuycceyy{\203\203\206rrt\200\200\202\247\247\252\324\324" + "\325\344\344\346\353\353\356\367\367\370\375\375\376\375\375\375\267\267" + "\270\213\213\215\200\200\201wwzxx{\242\242\243\347\347\350\365\365\366\370" + "\370\372\372\372\374\375\375\375\367\367\371\362\362\364\261\261\263\226" + "\227\232\356\356\356\366\366\366\371\371\371\364\364\367\355\355\362\365" + "\365\370\366\366\371\346\346\353\340\340\346\353\353\360\370\370\373\363" + "\363\370\364\364\372\370\370\374\371\371\375\372\372\375\202\373\373\375" + "K\364\364\371\361\361\366\352\352\360\346\346\354\351\351\357\357\357\365" + "\354\354\362\351\351\357\372\372\375\375\375\376\373\373\374\371\371\372" + "\366\366\367\335\335\342\321\321\330\331\331\333\315\315\316\272\272\273" + "\246\246\246\314\314\323\313\313\321\310\314\302\306\314\264\304\316\245" + "\302\317\225\300\320\207\276\321y\274\323j\272\325[\271\327L\267\330>\266" + "\333/\265\335\"\265\335\37\274\3406\332\356\216\272\305\224zz{\215\215\217" + "\241\241\242\252\252\254\262\262\267\300\300\303\323\323\326\342\342\343" + "\340\340\343\346\346\352\362\362\365\361\361\365\362\362\365\363\363\367" + "\351\351\356\356\356\363\365\365\371\354\354\361\350\350\356\360\360\364" + "\364\364\370\355\355\362\360\360\365\345\345\353\337\337\345\340\340\346" + "\336\336\344\354\354\362\365\365\372\360\360\365\355\355\363\354\354\361" + "\352\352\360\352\352\357\363\363\367\370\370\374\351\351\360\364\364\370" + "\202\376\376\376\12\366\366\372\364\364\371\374\374\376\354\354\361\333\333" + "\342\327\327\337\330\330\337\350\350\355\373\373\375\376\376\376\203\375" + "\375\375<\376\376\376\370\370\370\250\250\253//0\1\1\1""889\251\252\254\235" + "\235\240AAB\200\200\200\2\2\2NNP\270\270\270\347\347\347sssyyy\13\13\13\11" + "\11\12\237\235\236\223\222\222\334\334\335\253\253\253bbb]^]\5\5\5\210\212" + "\212\245\244\244\342\342\343\276\276\276kkkCCD\1\1\1\216\216\217\274\274" + "\273\300\300\301\350\350\350vvv\224\225\224\36\36\36\5\5\5\306\307\307\263" + "\263\263rrqRRR&&&../\243\243\245\341\341\342\362\362\362\372\372\372\373" + "\372\373}}|\232\232\231\27\27\30\5\5\5\270\270\267\253\253\253\336\336\337" + "\360\360\361\366\366\367\202\373\373\374\22\363\363\366\356\356\361aaa\"" + "#\"\300\300\301\351\351\351\361\361\363\357\357\363\356\356\362\370\370\372" + "\360\360\364\342\342\350\341\341\350\357\357\364\370\370\373\361\361\365" + "\363\363\371\367\367\374\202\371\371\375\12\372\372\375\371\371\374\364\364" + "\370\360\360\365\345\345\354\343\343\352\346\346\354\355\355\364\354\354" + "\362\357\357\363\202\375\375\376A\373\373\374\371\371\372\364\364\365\333" + "\333\341\330\330\334\333\333\335\315\315\316\272\272\273\246\246\246\312" + "\312\322\312\312\320\307\312\301\304\313\262\302\314\244\300\315\224\275" + "\316\205\273\317w\271\321h\267\322Y\266\324K\264\326<\263\330-\261\332\40" + "\261\332\35\264\334'\326\353\211\306\324\225zz{\212\212\214\236\236\241\251" + "\251\253\264\264\266\277\277\302\322\322\324\341\341\343\336\336\342\344" + "\344\350\362\362\365\362\362\366\363\363\366\364\364\370\352\352\357\354" + "\354\360\366\366\371\357\357\363\351\351\356\357\357\363\365\365\371\355" + "\355\362\357\357\364\347\347\354\337\337\345\341\341\350\335\335\344\347" + "\347\355\364\364\371\361\361\366\356\356\364\355\355\362\353\353\361\352" + "\352\360\362\362\366\371\371\376\352\352\360\361\361\366\202\376\376\376" + "\12\370\370\373\362\362\366\374\374\375\365\365\370\340\340\350\331\331\340" + "\331\331\341\344\344\352\372\372\373\376\376\376\203\375\375\375\15\373\373" + "\373\231\231\233223\346\346\347\0\0\0\235\235\236\230\230\231\37\37\40\337" + "\337\337\314\314\315\4\4\4OOP\231\231\231\202\332\332\332B\251\251\251RR" + "S\4\4\5\250\250\253\301\300\300\326\326\327\337\337\340\262\262\262HHI68" + "8\310\310\310\306\306\306\335\335\335\350\350\350\275\275\275TTU\6\6\6\241" + "\241\241\312\312\312\320\320\321\343\343\344\321\321\321\277\277\277667\33" + "\33\34\311\311\312\275\275\275\244\244\245\204\204\204}}{DDD\13\13\14\226" + "\225\230\340\340\340\362\361\362\370\367\370\337\336\337\246\246\247\"\"" + "#\25\25\25\312\312\312\302\302\302\334\334\334\354\354\355\366\366\370\375" + "\375\375\370\370\371\360\357\362\273\273\275[[]\5\5\5}}~\330\330\331\346" + "\346\350\351\351\355\360\360\364\371\371\374\352\352\357\341\341\346\343" + "\343\351\364\364\367\366\366\371\357\357\363\363\363\371\370\370\374\371" + "\371\375\202\370\370\375\6\366\366\373\364\364\371\355\355\362\341\341\350" + "\342\342\351\345\345\352\202\355\355\363\1\362\362\366\202\375\375\376\27" + "\373\373\374\372\372\372\360\360\362\332\332\341\335\335\340\334\334\335" + "\315\315\316\273\273\274\246\246\246\311\311\321\310\310\317\306\311\300" + "\303\312\261\300\313\242\275\314\223\273\315\203\270\316v\266\320f\264\321" + "X\262\323I\260\325:\256\327,\254\331\36\202\254\331\33\27\316\350z\320\343" + "\226\205\210\201\207\207\211\233\233\235\251\251\254\263\263\266\276\276" + "\301\321\321\323\341\341\343\340\340\343\343\343\346\361\361\364\363\363" + "\366\362\362\365\365\365\370\355\355\361\351\351\355\365\365\370\362\362" + "\366\351\351\356\356\356\363\365\365\371\202\355\355\362\33\351\351\356\337" + "\337\346\342\342\350\336\336\345\342\342\350\361\361\367\361\361\366\357" + "\357\365\356\356\364\354\354\362\354\354\361\360\360\365\371\371\374\353" + "\353\361\354\354\362\374\374\376\376\376\376\373\373\375\361\361\366\367" + "\367\371\372\372\374\347\347\355\333\333\343\332\332\341\342\342\350\366" + "\366\372\376\376\376\203\375\375\375S\316\316\316OOQ\353\353\353\204\204" + "\204\1\1\2\301\301\304\26\26\27\240\240\237\270\270\271mmn\2\2\2\221\221" + "\222\305\305\306\325\325\325\346\346\346\343\343\343sst\11\11\11hhk\276\276" + "\276\327\327\327\347\347\350\303\303\304!!!\234\234\234\270\270\271\314\314" + "\314\343\343\343\360\360\360\351\351\351YYZ\15\15\16|}}\275\275\277\323\323" + "\325\345\345\346\350\350\352\314\314\316@@A\40\40!\257\257\260\270\270\272" + "\307\307\310\315\315\316\251\251\251kllDCE\24\24\25\261\261\261\344\343\344" + "\363\362\363\362\362\362\245\245\246445\33\33\33\251\251\253\306\306\307" + "\337\337\340\357\357\361\371\371\373\373\373\374\363\363\365\356\356\361" + "~~\177zz}\\\\^--,\275\275\276\331\331\334\346\346\350\364\365\370\365\365" + "\370\346\346\352\341\341\346\350\350\355\370\370\373\362\362\365\355\355" + "\362\363\363\370\370\370\374\371\371\375\367\367\374\367\367\373\202\364" + "\364\371\7\346\346\355\336\336\345\337\337\346\344\344\352\356\356\364\357" + "\357\365\366\366\371\202\375\375\376\27\373\373\374\372\372\372\354\354\357" + "\334\334\342\340\340\345\334\334\335\315\315\316\272\272\273\246\246\246" + "\310\310\320\307\307\315\303\307\277\301\311\260\276\311\241\272\312\221" + "\267\313\202\265\314t\262\316e\260\317V\255\320G\253\3228\251\324*\247\326" + "\34\202\247\326\31\30\305\344g\322\346\224\222\224\207\204\204\206\232\232" + "\233\251\251\253\262\262\265\275\275\300\316\316\321\340\340\342\341\341" + "\345\342\342\346\360\360\362\364\364\367\361\361\365\365\365\370\360\360" + "\364\347\347\354\361\361\365\364\364\370\354\354\361\355\355\362\365\365" + "\371\357\357\363\202\353\353\360\6\340\337\346\343\342\351\341\341\347\336" + "\336\345\355\355\363\361\361\366\202\357\357\365\22\355\355\364\354\354\362" + "\357\357\363\367\367\372\357\357\365\346\346\355\371\371\373\376\376\376" + "\375\375\375\362\362\367\360\360\365\373\373\374\360\360\365\341\341\347" + "\334\334\343\340\340\346\360\360\365\375\375\376\202\375\375\375]\374\374" + "\374\325\324\325\267\266\267\326\326\326\15\15\15TRUHHKnnm\225\225\225\242" + "\242\244\31\31\31\36\36\40\217\217\216\270\270\270\327\327\327\354\354\354" + "\357\357\357\250\250\250444\31\31\32\277\277\300\330\330\330\351\351\351" + "||}++,\306\306\306\300\300\302\327\327\330\356\355\356\370\370\370\360\360" + "\360^^`\14\14\14\200\200\200\310\310\311\337\337\340\360\360\361\362\362" + "\363\311\311\312DDD\40\40!\263\263\265\313\313\313\337\337\340\350\350\350" + "\342\342\342\232\232\232\204\204\205\6\6\7iik\326\325\326\354\354\354\363" + "\363\363\240\240\241;;;\32\32\32\247\247\247\316\316\317\344\344\346\366" + "\366\367\374\374\375\366\366\370\360\360\362\326\326\330__`ZZZ\207\207\210" + "\14\14\14\214\214\216\312\312\315\342\343\346\370\370\372\357\357\363\343" + "\343\351\341\341\347\357\357\363\370\370\373\353\353\361\355\355\362\364" + "\364\371\370\370\375\367\367\374\366\366\371\364\364\370\364\364\371\362" + "\362\367\340\340\347\333\333\343\335\335\345\343\343\352\357\357\365\361" + "\361\365\372\372\374\202\375\375\376\27\373\373\374\371\371\372\347\347\354" + "\341\341\346\342\342\347\333\333\335\315\315\316\272\272\272\246\246\246" + "\307\307\317\306\306\314\302\306\276\277\307\257\273\307\240\271\311\220" + "\266\312\201\263\313s\260\314d\256\316U\253\317F\251\3217\246\323)\244\325" + "\33\202\244\325\30)\274\340W\321\351\220\235\244\215\202\202\203\227\227" + "\232\251\251\252\263\263\265\275\275\277\313\313\317\340\340\341\343\343" + "\345\340\340\344\357\357\362\364\364\367\362\362\365\365\365\370\363\363" + "\367\347\347\354\355\355\361\366\366\371\357\357\363\355\355\362\365\365" + "\371\360\360\365\351\351\356\355\355\362\341\341\350\342\342\351\344\344" + "\353\336\336\344\347\347\355\361\361\366\357\357\364\360\360\365\357\357" + "\364\355\355\363\356\356\363\365\364\371\364\363\370\344\344\353\365\365" + "\371\202\376\376\376\2\370\370\373\355\355\363\202\370\370\373\1\346\346" + "\354\202\337\337\346a\354\354\360\373\373\375\375\375\376\375\375\375\374" + "\374\374\366\366\366\341\341\341\215\215\216\11\11\12__b^^_xxx\251\251\252" + "nmo\3\3\3}}\177\215\215\215\304\304\304\340\340\340\364\364\364\371\371\371" + "\352\352\352eff\5\5\5\217\217\220\323\323\323\332\332\332557\202\202\202" + "\303\303\304\320\320\321\344\344\345\365\365\366\374\374\375\365\365\365" + "]]]\13\13\14\205\205\206\317\317\317\350\350\350\371\371\371\373\373\374" + "\325\325\326FFG\37\37\40\267\267\267\325\325\325\354\354\354\370\370\370" + "\364\363\364\346\345\346wvw\25\25\26<<=\306\306\306\344\344\344\355\355\356" + "\246\246\250<<>\30\30\30\252\251\252\320\320\321\352\352\353\373\373\373" + "\370\370\372\357\357\362\357\357\361\224\224\224hgj\243\243\244\211\211\212" + "''(NNP\274\274\277\341\342\343\361\361\363\350\350\355\342\342\347\345\345" + "\352\365\365\371\363\363\367\351\351\356\356\356\362\365\365\371\370\370" + "\374\365\365\371\363\363\367\361\361\365\367\367\373\354\354\360\332\332" + "\342\332\332\341\334\334\343\345\345\354\361\361\367\364\364\370\373\373" + "\375\202\375\375\376\27\373\373\374\367\367\370\344\344\351\346\346\352\343" + "\343\347\332\332\335\314\314\314\272\272\272\246\246\246\305\305\316\304" + "\304\313\301\305\275\275\306\256\272\306\236\266\307\217\264\310\200\261" + "\311r\256\313c\253\314T\250\315E\246\3176\244\321(\241\323\32\202\241\323" + "\27!\263\333D\320\351\212\253\263\221\200\200\201\224\224\226\250\250\251" + "\262\262\265\275\275\300\313\313\315\334\334\337\343\343\345\336\336\343" + "\356\356\361\365\365\370\362\362\366\364\364\370\365\365\370\351\351\355" + "\351\351\356\366\366\371\362\362\366\355\355\362\364\364\370\362\362\366" + "\350\350\356\355\355\362\343\343\351\342\342\350\347\347\355\337\337\346" + "\342\342\350\357\357\365\356\356\364\202\360\360\366\22\356\356\364\357\357" + "\364\362\362\366\366\365\371\344\344\353\357\357\365\375\375\376\376\376" + "\376\373\373\375\356\356\364\362\362\367\374\374\375\357\357\364\343\343" + "\352\340\340\346\350\347\355\370\370\372\375\375\376\202\375\375\375+\371" + "\371\371\343\343\343;;<\35\35\36QQT{{{\237\240\240\247\247\250\32\32\32*" + "*,\177\177\177\263\263\263\321\321\321\352\352\352\371\371\371\374\374\374" + "\364\364\364\211\210\211\22\23\22DDE\310\310\310\253\254\254&&&\271\271\271" + "\312\312\312\334\334\334\357\357\357\372\372\373\375\375\376\363\363\364" + "ZZ[\13\13\13\217\217\217\320\320\320\351\351\351\371\371\371\375\375\375" + "\331\331\331GGH\36\36\37\266\265\266\325\325\326\355\355\356\202\373\373" + "\374!\362\362\363~~\177\36\36\37+++\271\272\272\331\331\332\344\344\347\255" + "\255\256AAB\25\25\26\245\245\246\320\320\321\354\354\355\370\370\371\361" + "\361\363\356\356\361\355\355\357ggg\15\15\15YY\\OOQ\16\16\17\17\17\20\245" + "\245\246\332\332\334\346\346\350\344\344\350\343\343\351\353\353\360\370" + "\370\372\354\354\361\347\347\355\357\357\364\202\366\366\372\14\363\362\367" + "\357\357\365\361\361\365\364\364\371\341\341\351\326\326\337\330\330\340" + "\333\333\342\347\347\356\363\363\370\366\366\373\374\374\376\202\375\375" + "\376\27\373\373\374\364\364\367\344\344\352\350\350\354\341\341\346\330\330" + "\333\314\314\314\272\272\273\245\245\246\304\304\315\303\303\312\277\303" + "\274\274\305\255\270\305\235\265\306\216\261\307\200\256\310q\254\312b\251" + "\313S\246\314D\243\3165\241\320'\236\322\31\202\236\322\26*\251\3270\316" + "\350\212\272\306\230||\177\217\217\222\245\245\246\262\262\264\273\273\275" + "\311\311\313\332\332\335\343\343\345\336\336\343\352\352\355\364\364\367" + "\362\362\365\362\362\366\366\366\371\355\355\361\346\346\353\362\362\366" + "\364\364\367\356\356\362\362\362\366\363\363\367\347\347\355\353\353\360" + "\347\347\354\341\341\347\350\350\356\343\343\351\335\335\344\354\354\361" + "\356\356\364\357\357\364\361\361\367\360\360\366\357\357\364\360\360\365" + "\365\365\372\350\350\356\347\347\355\373\373\374\202\376\376\376\11\366\366" + "\371\354\354\362\372\371\374\366\366\372\351\351\357\342\342\351\346\346" + "\353\362\362\366\374\374\375\202\375\375\375I\373\373\373\260\261\261\16" + "\16\16\0\0\0\203\203\204\201\201\201\272\272\272lmo\3\3\3kkk\235\235\237" + "\276\276\300\334\334\334\361\361\361\374\374\374\376\376\376\370\370\370" + "\311\311\311QQR\17\17\20\253\254\255YY[bcc\306\306\306\320\320\320\345\345" + "\345\366\366\366\375\375\375\375\375\376\362\362\363YYY\13\13\13\221\221" + "\222\320\320\320\351\351\351\371\371\371\375\375\375\331\331\331HHI\36\36" + "\37\266\267\270\324\324\325\355\355\356\373\373\374\375\375\376\366\366\367" + "\221\220\221\15\15\15""124\270\267\270\321\321\323\346\346\350\267\267\267" + "DDE\23\23\24\244\244\246\322\322\323\353\353\354\357\357\361\355\355\360" + "\362\362\365\300\300\301@@Afff\261\261\261\253\253\254\220\220\224\6\6\6" + "qqs\314\314\316\330\330\334\337\337\344\346\346\353\202\364\364\370\20\345" + "\345\352\351\351\357\361\361\366\367\367\373\364\364\370\357\357\365\354" + "\354\362\364\364\370\356\356\362\331\331\341\325\325\335\327\327\337\334" + "\334\342\355\355\362\364\364\371\370\370\373\203\375\375\376\27\373\373\374" + "\360\360\364\346\346\354\347\347\353\336\336\343\330\330\333\313\313\314" + "\271\271\272\243\243\245\224\224\225\224\225\223\225\231\212\224\235\200" + "\225\242u\226\247k\227\254`\227\261U\227\265K\230\273@\231\3006\232\305+" + "\233\312!\234\317\27\202\234\320\25\25\237\321\33\307\344|\313\335\234\205" + "\207\204\213\213\215\241\241\243\261\261\264\273\273\276\310\310\312\327" + "\327\332\344\344\345\336\336\342\347\347\353\364\364\366\364\364\367\362" + "\362\365\366\366\372\361\361\364\344\344\351\355\355\361\365\365\370\202" + "\360\360\364\1\364\364\370\202\351\351\356\12\351\351\357\341\341\347\351" + "\351\356\350\350\355\334\334\343\345\345\353\355\355\363\354\353\361\360" + "\360\365\360\360\366\202\357\357\364\4\363\363\370\354\354\362\341\341\350" + "\364\364\370\202\375\375\375&\373\373\374\354\354\362\360\360\365\372\372" + "\374\357\357\364\345\345\353\343\343\351\352\352\360\371\371\372\373\374" + "\375\373\373\374\367\367\367efg\1\1\1ddf\200\200\200\264\264\264\257\257" + "\260\31\31\32\36\36\35\222\222\223\236\235\240\225\225\226\335\335\335\363" + "\363\363\373\373\373\375\375\375\373\373\373\357\357\357{z|\7\7\7cce**,\247" + "\247\250\305\305\305\330\330\330\354\354\354\371\371\371\202\375\375\375" + "7\362\362\362UUV\14\14\14\221\221\222\317\317\317\350\350\350\371\371\371" + "\374\374\374\330\330\330IIJ\36\36\37\266\266\267\323\323\324\354\354\355" + "\372\372\373\375\375\375\365\365\365\205\205\206\0\0\0\\\\\\\271\271\273" + "\326\326\330\357\357\357\274\274\274HHJ\22\22\22\242\242\242\320\320\320" + "\342\342\345\351\351\354\362\362\364\365\365\367\177\177\200\34\34\35\275" + "\275\276\315\315\315\272\272\273qqp,,.%%&\262\262\265\313\313\317\333\333" + "\341\353\353\360\341\341\343\237\237\242\306\306\311\345\345\353\361\361" + "\364\365\365\371\357\357\364\350\350\357\353\353\361\364\364\370\341\341" + "\350\202\323\323\333\5\325\325\335\336\336\346\361\361\367\364\364\370\371" + "\371\373\203\374\374\375\11\372\372\374\356\356\363\351\351\356\346\346\351" + "\336\336\342\327\327\333\311\311\313\266\266\271\240\240\243\221\232\320" + "\25)\275\340g\321\347\235\224\227\212\210\210\212\234\234\236\260\260\261" + "\273\273\275\305\305\307\325\325\330\343\343\344\337\337\343\345\345\350" + "\362\362\364\365\365\370\361\361\365\364\364\367\363\363\366\344\344\351" + "\347\347\354\363\363\367\361\361\365\360\360\364\364\364\370\352\352\357" + "\346\345\353\354\354\361\342\342\350\347\347\355\354\354\361\337\337\345" + "\336\336\345\353\353\361\351\351\357\355\355\363\360\360\365\357\357\364" + "\356\356\363\357\357\365\360\360\366\337\337\346\352\352\360\203\374\374" + "\374%\362\362\366\350\350\356\367\367\372\366\366\372\351\351\357\344\344" + "\352\346\346\354\363\363\366\373\373\373\370\370\372\314\314\315\34\34\34" + "\32\32\31zz{\241\241\241\277\277\277eeg\6\6\6\250\250\251ffg233\216\215\216" + "\326\326\330\357\357\360\372\372\372\374\374\374\373\373\373\364\364\364" + "\257\257\257>>>\0\0\0OOP\273\274\274\310\310\310\340\340\340\362\362\362" + "\373\373\373\202\374\374\374?\362\362\362RRT\14\14\15\225\225\225\316\316" + "\316\347\347\347\367\367\367\373\373\373\342\342\342JJK\34\34\35\266\266" + "\267\321\321\321\351\351\351\367\367\367\366\366\366\310\310\312\23\23\23" + "\17\17\17\251\251\251\303\303\305\340\340\341\360\360\361\311\311\312IIJ" + "\20\20\20\245\245\246\310\310\311\332\332\335\354\354\356\367\367\371\337" + "\337\337TTUBBB\302\302\302\300\300\302\272\272\275ZYY\200\200\200\10\10\10" + "\221\221\223\277\277\303\327\327\333\344\344\350nnp$$%LLM\342\342\346\355" + "\355\361\357\357\362\351\351\356\343\343\352\356\356\363\356\356\362\326" + "\326\336\317\317\331\321\321\331\323\323\333\344\344\352\364\364\370\363" + "\363\367\370\370\373\372\372\374\202\373\373\374\11\367\367\371\355\355\362" + "\347\347\354\342\342\346\335\335\341\326\326\332\306\306\311\264\264\267" + "\236\236\240\221\230\317\25\12\262\333Q\320\350\227\244\254\221\203\203\205" + "\227\227\231\255\255\256\271\271\274\304\304\306\323\323\325\341\341\342" + "\202\340\340\344\2\357\357\362\365\365\370\202\362\362\365\12\365\365\370" + "\347\347\354\342\342\347\355\355\361\362\362\365\357\357\363\363\363\367" + "\354\354\361\343\343\350\353\353\360\202\344\344\352\16\356\356\364\347\347" + "\354\334\334\343\347\347\355\351\351\356\351\351\357\356\356\364\357\357" + "\364\356\356\362\355\355\362\360\360\365\342\342\351\342\342\350\370\370" + "\372\202\373\373\373\31\370\370\371\351\351\356\360\360\363\371\371\372\360" + "\357\364\346\346\354\345\345\353\355\355\360\370\370\372\365\365\367wwy\3" + "\3\4llnqrr\272\272\272\273\273\273\23\23\23\0\0\0VVW,,.\277\277\277\240\236" + "\240\317\317\322\352\352\353\370\370\370\202\373\373\373\11\367\367\367\337" + "\340\337bbc\2\2\2\226\226\227\266\266\266\320\320\320\347\347\347\366\366" + "\366\202\373\373\3731\364\364\364\326\326\327BBD\4\4\5\232\232\233\307\307" + "\307\341\341\341\363\363\363\362\362\362\311\311\312334\0\0\0\205\205\207" + "\303\303\305\320\320\321\315\315\317\225\225\230\34\34\34\13\13\13\204\205" + "\205\276\276\277\321\321\322\345\345\346\353\353\355\301\302\303BBC\2\1\1" + "\237\237\242\275\275\300\330\330\333\357\357\360\361\361\361\253\253\254" + "\15\15\15oop\276\276\277\303\303\306\312\312\314\241\241\243\202\201\203" + "\2\2\2""234\264\264\267\322\322\324\326\326\330RRR667JJL\335\335\340\202" + "\347\347\354\202\342\342\350\26\362\362\365\341\341\347\320\320\331\317\317" + "\331\320\320\330\327\327\336\354\354\361\363\363\367\361\361\365\366\366" + "\372\370\370\373\372\372\374\372\372\373\361\361\365\354\354\361\343\343" + "\350\340\340\345\335\335\341\324\324\327\302\302\306\262\262\265\233\233" + "\237\221\227\317\24\34\247\3269\315\350\215\264\301\227\200\200\201\222\222" + "\223\246\246\250\270\270\271\303\303\305\320\320\322\337\337\340\344\344" + "\347\335\335\342\351\351\354\365\365\367\360\360\363\357\357\362\363\363" + "\366\353\353\357\335\335\343\345\345\352\360\360\364\356\356\362\357\357" + "\363\356\356\362\341\341\346\347\347\354\346\346\354\341\341\346\202\355" + "\355\362\14\337\337\344\341\341\346\350\350\355\344\344\352\352\352\357\355" + "\355\362\355\355\361\353\352\360\354\354\362\350\350\355\334\334\343\356" + "\356\362\203\371\371\371\30\357\357\363\344\344\352\361\361\364\365\365\367" + "\351\351\357\345\345\352\347\347\354\362\362\365\363\363\363[[\\222kkk\246" + "\246\246\306\306\306\222\222\223\37\37!99:\200\200\202\344\344\344\302\302" + "\302\300\300\300\323\323\326\344\344\347\364\364\365\202\371\371\371B\370" + "\370\370\356\356\356\211\211\211MMO\264\264\264\277\277\277\330\330\330\355" + "\355\355\367\367\367\371\371\371\367\367\367\235\235\235zzzFFG443^^`\215" + "\215\215\323\323\324\351\351\352\247\250\251||}AAB:::445}}~\215\215\217y" + "yzNON{{{www\267\267\266\310\310\311\334\334\335\352\352\352\223\223\224\202" + "\202\204RQR454]]_\207\207\211\321\321\322\317\317\316\205\205\206yyz///a" + "cd\231\231\234\276\276\302\260\260\262\211\211\212wxy>>?../wwy\262\262\263" + "\325\325\332}}\200EEFnnp\333\333\337\343\343\345\337\337\344\334\334\343" + "\351\351\356\353\353\360\323\323\333\202\314\314\324\3\316\316\326\334\334" + "\343\362\362\366\202\356\356\363\15\363\363\367\365\365\372\370\370\372\363" + "\363\367\356\356\363\352\352\357\337\337\343\336\336\344\334\334\340\317" + "\317\323\277\277\303\256\256\262\231\231\233\221\242\323-\22\247\3269\314" + "\347\214\312\331\244\205\205\202\214\214\215\241\241\242\265\265\266\300" + "\300\303\315\315\317\332\332\334\342\342\344\333\333\340\343\343\347\362" + "\362\365\360\360\363\354\354\357\356\356\361\354\354\360\202\333\333\340" + "\27\351\351\354\354\354\360\353\353\357\354\354\360\337\337\345\337\337\344" + "\346\346\352\336\336\344\351\351\355\357\357\363\342\342\350\330\327\337" + "\344\344\352\342\342\350\342\342\347\351\351\355\352\352\356\350\350\354" + "\345\345\352\350\350\355\332\332\341\340\340\346\363\363\363\202\364\364" + "\364\31\362\362\363\343\343\351\342\342\347\361\361\363\354\354\360\344\344" + "\351\342\342\347\350\350\353\354\354\355\233\233\233\251\251\251\235\235" + "\235\301\301\301\322\322\322\257\257\257~~~\267\267\267\335\335\335\273\273" + "\273\275\275\275\320\320\320\340\340\341\347\347\352\354\354\357\361\361" + "\363\202\364\364\364\7\356\356\356\273\273\273\215\216\216\270\270\270\314" + "\314\314\337\337\337\355\355\355\202\364\364\364L\361\361\361\223\223\223" + "\230\230\230\245\245\245\236\236\236\223\223\223\243\243\243\310\310\311" + "\337\337\340\223\224\223\245\246\245\271\271\272\274\274\274\272\272\272" + "\267\267\266\270\270\270\306\305\305\331\332\332\301\301\301\276\276\276" + "\306\306\307\325\325\326\344\344\346\352\352\352\216\216\216\314\314\315" + "\321\322\321\322\322\322\312\312\312\257\257\257\316\316\316\270\270\271" + "\261\261\261\325\325\325\327\327\327\323\323\323\233\233\232\302\302\304" + "\244\244\246\273\273\274\323\323\323\326\326\326\330\330\330\266\266\266" + "\246\246\247\300\300\305\304\304\312\302\302\307\326\326\331\330\330\335" + "\331\331\336\323\323\331\332\332\340\354\354\360\331\331\340\311\311\322" + "\310\310\317\306\306\320\314\314\324\342\342\350\356\356\360\345\345\352" + "\352\352\356\355\355\362\357\357\363\360\360\364\355\355\362\353\353\360" + "\342\342\350\330\330\335\335\335\342\331\331\333\312\312\317\274\274\276" + "\255\255\260\227\227\231\222\235\317*\24\275\336s\324\350\250\224\227\212" + "\205\205\207\231\231\233\256\256\257\274\274\276\306\306\311\325\325\330" + "\337\337\341\332\332\336\334\334\340\354\354\356\353\353\356\351\351\353" + "\350\350\352\352\352\354\334\334\340\323\323\330\337\337\343\202\350\350" + "\352,\350\350\354\336\336\343\327\327\333\340\340\345\333\333\341\337\337" + "\344\353\353\357\345\345\351\323\323\332\331\331\337\337\337\344\332\332" + "\336\340\340\346\344\344\350\343\343\347\337\337\345\341\341\350\334\334" + "\341\323\323\332\351\351\353\356\356\356\355\355\356\356\356\356\346\346" + "\350\332\332\337\345\345\350\353\353\355\343\343\350\336\336\343\337\337" + "\344\344\344\347\336\336\336\314\314\316\305\305\307\315\315\315\333\333" + "\333\335\335\335\324\324\324\304\304\304\275\275\275\302\302\302\317\317" + "\317\335\335\335\347\347\347\203\351\351\353\11\354\355\356\356\356\356\353" + "\353\353\343\343\343\330\330\330\321\321\321\327\327\327\343\343\343\353" + "\353\353\202\356\356\356L\353\353\353\344\344\344\326\326\326\310\310\310" + "\277\277\277\275\275\275\304\304\304\320\320\320\334\334\335\336\336\337" + "\325\325\326\306\306\307\276\276\276\273\273\273\275\275\275\277\277\277" + "\301\301\301\302\302\302\304\304\304\312\312\313\326\326\327\341\341\341" + "\350\350\351\347\347\347\332\332\333\306\306\310\272\272\276\270\270\271" + "\274\274\274\304\304\304\320\320\321\333\333\334\332\332\332\314\314\315" + "\270\270\273\254\254\257\265\266\270\316\316\317\322\322\326\304\304\307" + "\266\266\271\253\253\257\257\257\263\274\274\276\270\270\275\270\270\276" + "\310\310\317\330\330\333\333\333\336\327\327\333\320\320\327\314\314\323" + "\336\336\342\341\341\346\310\310\320\302\302\311\300\300\310\302\302\311" + "\316\316\325\346\346\351\342\342\347\334\334\343\344\344\351\347\347\353" + "\350\350\354\347\347\354\350\350\353\346\346\352\327\327\334\323\323\331" + "\331\331\336\323\323\326\304\304\310\270\270\273\251\251\254\225\225\227" + "\222\230\311&*\256\324X\315\341\237\243\252\217~~\200\220\220\222\246\246" + "\247\266\266\267\302\302\303\315\315\317\332\332\334\330\330\333\324\324" + "\330\342\342\345\347\347\350\342\342\345\340\340\343\342\342\344\333\333" + "\336\314\314\322\322\322\326\336\336\342\341\341\343\341\341\345\333\333" + "\336\316\316\323\326\326\333\327\327\333\324\324\331\342\342\345\343\343" + "\346\323\323\331\313\312\321\325\325\332\323\323\327\324\324\331\332\332" + "\336\332\332\337\330\330\335\326\326\334\330\330\335\312\312\322\326\326" + "\332\203\345\345\345\14\343\343\344\331\331\334\323\323\330\341\341\342\341" + "\341\344\332\332\336\327\327\333\331\331\335\332\332\335\326\326\327\320" + "\320\323\326\326\327\202\335\335\335\23\332\332\332\323\323\323\320\320\320" + "\323\323\323\332\332\332\340\340\340\343\343\343\345\345\345\344\344\345" + "\342\341\343\342\342\344\344\344\345\344\344\344\341\341\341\334\334\334" + "\332\332\332\334\334\334\341\341\341\344\344\344\202\345\345\345\15\343\343" + "\343\340\340\340\331\331\331\323\323\323\317\317\317\316\316\316\321\321" + "\321\326\326\326\334\334\334\335\335\335\331\331\331\323\323\323\317\317" + "\317\204\316\316\316\12\320\320\320\323\323\323\330\330\330\334\334\335\336" + "\336\337\333\333\336\325\325\331\321\321\324\317\317\322\316\316\317\202" + "\316\316\316/\321\321\322\326\326\327\333\333\333\331\331\332\312\312\315" + "\271\271\275\275\275\300\314\314\316\320\320\321\307\307\313\301\301\305" + "\274\274\301\277\277\303\311\311\313\302\302\305\264\264\272\275\275\303" + "\316\316\323\330\330\333\325\325\332\313\313\321\302\302\311\313\313\322" + "\334\334\340\311\311\320\273\273\303\271\271\300\271\271\301\275\275\304" + "\322\323\327\336\336\341\323\323\330\325\325\333\333\333\340\335\335\341" + "\336\336\342\334\334\341\340\340\344\326\326\333\313\313\321\317\317\324" + "\323\323\330\312\312\316\275\275\301\265\265\267\245\245\251\224\224\226" + "\222\222\302$3\236\310=\303\331\217\263\277\224zz{\205\205\207\231\231\233" + "\253\253\255\271\271\273\304\304\306\320\320\321\323\323\325\313\313\316" + "\325\325\330\334\334\337\331\331\334\325\325\330\324\324\330\325\325\330" + "\310\310\314\304\304\311\320\320\323\326\326\331\327\327\332\325\325\330" + "\306\306\313\307\307\314\320\320\324\311\311\317\324\324\330\333\333\334" + "\324\324\326\303\302\310\304\304\312\311\311\316\306\306\312\314\314\321" + "\320\320\323\317\317\323\312\312\320\315\315\322\306\306\314\302\302\310" + "\326\326\330\332\332\332\331\331\332\332\332\332\330\330\330\311\311\317" + "\312\312\317\330\330\331\325\325\330\202\316\316\323\4\321\321\324\326\326" + "\327\322\322\324\321\321\324\202\330\330\330\6\326\326\326\324\324\324\323" + "\323\323\326\326\326\330\330\330\331\331\331\204\332\332\332\10\330\330\332" + "\331\331\332\332\332\332\331\331\331\330\330\330\327\327\327\330\330\330" + "\331\331\331\204\332\332\332\7\330\330\330\327\327\327\325\325\325\324\324" + "\324\323\323\323\324\324\324\326\326\326\202\330\330\330\2\327\327\327\325" + "\325\325\203\324\324\324\1\323\323\323\202\324\324\324\11\323\323\324\323" + "\323\323\320\320\323\316\315\321\315\315\320\322\322\324\325\325\326\327" + "\327\327\325\325\325\202\323\323\323\16\325\325\325\326\326\326\325\325\326" + "\310\310\313\275\275\302\302\302\305\320\320\322\315\315\320\303\303\307" + "\276\276\302\274\274\301\303\303\306\315\315\321\306\306\311\202\265\265" + "\273\37\302\302\307\316\316\323\317\317\323\305\305\312\272\272\277\271\271" + "\277\316\316\322\310\310\314\263\263\273\260\260\270\257\257\267\261\261" + "\271\274\274\303\322\322\325\314\314\320\304\304\311\312\312\317\316\316" + "\323\320\320\324\317\317\324\323\323\327\324\324\330\304\304\311\301\301" + "\306\307\307\315\310\310\315\277\277\303\266\266\271\257\257\263\241\241" + "\243\221\221\224\222\214\273!\17\215\274$\257\313o\302\324\232\203\205\177" + "}}\177\215\215\217\240\240\241\256\256\260\270\270\273\304\304\305\310\310" + "\311\301\301\305\305\305\310\321\321\322\315\315\320\202\310\310\313\14\311" + "\311\313\302\302\305\267\267\273\276\276\302\310\310\314\312\312\315\312" + "\312\314\277\277\303\270\270\274\301\301\305\276\276\302\302\302\306\202" + "\314\314\315\14\276\276\303\264\264\272\275\275\302\272\272\276\272\272\300" + "\301\301\305\303\303\306\277\277\304\276\276\303\300\300\304\264\264\271" + "\300\300\304\202\314\314\314\16\313\313\314\314\314\314\307\307\310\270\270" + "\276\301\301\304\313\313\314\306\306\311\301\301\305\302\302\306\310\310" + "\312\313\313\313\307\307\311\310\310\312\313\313\314\207\313\313\313\233" + "\314\314\314\1\313\313\314\202\312\312\313\7\310\310\312\305\305\307\302" + "\302\305\301\301\304\303\303\305\307\307\311\312\312\312\204\314\314\314" + "\1\313\314\314\202\314\314\314\12\312\312\312\274\274\301\262\262\266\272" + "\272\276\310\310\312\304\304\307\271\271\276\263\263\267\262\262\267\267" + "\267\274\202\304\304\307\13\260\260\265\251\251\261\264\264\271\301\301\304" + "\304\304\310\275\275\302\260\260\265\251\251\260\272\272\276\303\303\306" + "\256\256\264\203\244\244\253\6\251\251\260\272\272\277\306\306\311\267\267" + "\274\267\267\275\276\276\303\202\300\300\305\14\300\300\304\310\310\314\300" + "\300\304\262\262\270\270\270\275\275\275\301\273\273\277\262\262\267\255" + "\255\262\251\251\254\233\233\236\215\215\216\223\206\264\36:\235\300R\272" + "\316\221\221\226\202sst\200\200\201\222\222\223\237\237\240\250\250\253\264" + "\264\266\272\272\274\265\265\270\263\263\266\276\276\301\275\275\277\271" + "\271\274\270\270\273\271\271\273\270\270\272\254\254\260\252\252\256\266" + "\266\271\272\272\275\273\273\276\264\264\270\253\253\257\257\257\263\263" + "\263\267\260\260\264\273\273\274\275\275\275\270\270\272\252\252\256\251" + "\251\256\256\256\262\251\251\255\256\256\263\263\263\267\261\261\266\256" + "\256\262\260\260\265\253\253\257\250\250\254\270\270\272\274\274\274\273" + "\273\274\274\274\274\273\273\273\262\262\265\252\252\256\265\265\267\273" + "\273\273\266\266\271\263\263\267\266\266\271\273\273\273\272\272\273\267" + "\267\271\271\271\273\217\273\273\273\221\274\274\274\202\273\273\274\2\271" + "\271\273\270\270\273\204\267\267\271\2\271\271\273\273\273\273\210\274\274" + "\274\30\267\267\271\253\253\257\244\244\252\255\255\261\271\271\272\265\265" + "\267\252\252\256\244\244\251\243\243\251\251\251\255\265\265\267\267\267" + "\271\245\245\252\234\234\242\242\242\247\256\256\262\265\265\270\261\261" + "\265\245\245\253\232\232\241\244\244\252\266\266\271\251\251\255\231\231" + "\240\202\226\226\236\20\230\230\237\244\244\252\265\265\270\256\256\262\245" + "\245\252\252\252\256\255\255\262\257\257\263\256\256\262\263\263\267\270" + "\270\273\251\251\255\245\245\251\254\254\260\256\256\263\253\253\257\202" + "\245\245\250\3\241\241\242\223\223\225\207\207\207", +}; + diff --git a/src/image_data/gvo_banner_sdi_sync_green.h b/src/image_data/gvo_banner_sdi_sync_green.h new file mode 100644 index 0000000..f8a2e0a --- /dev/null +++ b/src/image_data/gvo_banner_sdi_sync_green.h @@ -0,0 +1,143 @@ +/* GIMP RGB C-Source image dump 1-byte-run-length-encoded */ + +#include "image.h" + +static const nv_image_t gvo_banner_sdi_sync_green_image = { + 26, 60, 3, + "\232\201\221\33\232\235\257!\232\261\306&\232\301\326,\232\314\340.\232\321" + "\345/\232\324\3462\232\325\3472\264\334\3567\232\335\3578\202\374\374\375" + "\203\375\375\375\213\376\376\376\202\375\375\376\204\375\375\375\202\374" + "\374\375\202\374\374\374\202\351\351\355\202\352\352\356\202\353\353\356" + "\202\354\354\357\2\355\355\357\355\355\360\203\356\356\360\202\357\357\361" + "\2\360\360\361\360\360\362\202\361\361\362\202\362\362\363\202\363\363\363" + "\203\364\364\364\3\351\351\355\352\352\355\352\352\356\202\353\353\356\1" + "\353\353\357\202\354\354\357\2\355\355\357\355\355\360\202\356\356\360\202" + "\357\357\361\2\360\360\361\360\360\362\202\361\361\362\2\362\362\362\362" + "\362\363\202\363\363\363\204\364\364\364\202\352\352\356\202\353\353\356" + "\202\354\354\357\2\355\355\357\355\355\360\202\356\356\360\202\357\357\361" + "\2\360\360\361\360\360\362\203\361\361\362\202\362\362\363\2\363\363\363" + "\363\363\364\205\364\364\364\202\353\353\356\202\354\354\357\2\355\355\357" + "\355\355\360\202\356\356\360\203\357\357\361\2\360\360\361\360\360\362\202" + "\361\361\362\202\362\362\363\2\363\363\363\363\363\364\207\364\364\364\202" + "\354\354\357\1\355\355\357\202\355\355\360\2\356\356\360ppp\202\0\0\0\4\200" + "\200\200\360\360\362\361\361\362\0\0\0\202\20\20\20\5\0\0\0AAA\323\323\323" + "\364\364\364\0\0\0\204\364\364\364\5\363\363\364\363\363\363\354\354\357" + "\355\355\357\355\355\360\202\356\356\360\11\357\357\361\0\0\0\326\326\327" + "\334\334\334DDD\367\367\370\362\362\362\0\0\0\376\376\376\202\375\375\375" + "\5\"\"\"TTT\365\365\365\0\0\0\376\376\376\202\364\364\364\203\363\363\363" + "\1\355\355\360\202\356\356\360\202\357\357\361\3\360\360\361\0\0\0\207\207" + "\207\202\363\363\364\4\373\373\373\362\362\363\0\0\0\376\376\376\202\364" + "\364\364\6\242\242\242\21\21\21\373\373\373\0\0\0\376\376\376\363\363\364" + "\204\363\363\363\202\356\356\360\202\357\357\361\12\360\360\361\360\360\362" + "\240\240\241\"\"\"\0\0\0\201\201\201\363\363\363\363\363\364\0\0\0\376\376" + "\376\203\364\364\364\4\0\0\0\375\375\375\0\0\0\376\376\376\204\363\363\363" + "\1\362\362\363\202\357\357\361\2\360\360\361\360\360\362\202\361\361\362" + "\10\362\362\363\366\366\367\250\250\250\0\0\0\371\371\371\364\364\364\0\0" + "\0\376\376\376\202\364\364\364\5\303\303\303\0\0\0\376\376\376\0\0\0\376" + "\376\376\202\363\363\363\202\362\362\363\3\362\362\362\360\360\361\360\360" + "\362\202\361\361\362\12\362\362\362\362\362\363\0\0\0\363\363\363\322\322" + "\323\0\0\0\376\376\376\364\364\364\0\0\0\376\376\376\202\364\364\364\5!!" + "!RRR\376\376\376\0\0\0\376\376\376\202\362\362\363\203\362\362\362\1\360" + "\360\362\202\361\361\362\202\362\362\363\20\363\363\363bbb\21\21\21\20\20" + "\20\202\202\202\376\376\376\364\364\364\0\0\0\21\21\21\20\20\20\0\0\0""1" + "11\333\333\333\372\372\372\0\0\0\376\376\376\203\362\362\362\203\361\361" + "\362\202\362\362\363\202\363\363\363\202\364\364\364\1\372\372\372\202\375" + "\375\375\4\371\371\371\364\364\364\363\363\364\376\376\376\202\375\375\375" + "\6\376\376\376\374\374\374\364\364\364\362\362\362\376\376\376\362\362\362" + "\202\361\361\362\202\361\361\361\1\362\362\363\202\363\363\363\1rrr\202\0" + "\0\0\1\202\202\202\203\364\364\364\1\363\363\364\205\363\363\363\202\362" + "\362\363\202\362\362\362\203\361\361\362\1\361\361\361\202\360\360\361\11" + "\363\363\363\363\363\364\364\364\364\0\0\0\330\330\330\334\334\334DDD\371" + "\371\371\364\364\364\205\363\363\363\202\362\362\363\203\362\362\362\202" + "\361\361\362\1\361\361\361\203\360\360\361\1\360\360\360\203\364\364\364" + "\2\0\0\0\207\207\207\202\365\365\365\16\373\373\373AAArrr\363\363\363\302" + "\302\302\0\0\0\362\362\363\0\0\0QQQ\40\40\40\0\0\0qqq\361\361\361\200\200" + "\200\202000\1```\202\357\357\360\203\364\364\364\27\242\242\242\"\"\"\0\0" + "\0\201\201\201\363\363\363\302\302\302\21\21\21\371\371\371aabrrs\376\376" + "\376\0\0\0\251\251\251\372\372\372\332\332\332\0\0\0\367\367\370\0\0\0\326" + "\326\326\373\373\373eee\370\370\370\356\356\357\203\364\364\364\27\363\363" + "\364\367\367\367\250\250\250\0\0\0\370\370\370\363\363\363\0\0\0\312\312" + "\312\20\20\20\330\330\330\370\370\370\0\0\0\376\376\376\365\365\365\360\360" + "\361\0\0\0\376\376\376\0\0\0\376\376\376\361\361\362\357\357\360\370\370" + "\370\356\356\357\202\364\364\364\16\363\363\364\0\0\0\363\363\363\322\322" + "\322\0\0\0\376\376\376\361\362\362`a`232010\374\375\374\362\363\363\0\0\0" + "\375\376\375\202\357\360\360\11\0\0\0\376\376\376\0\0\0\334\334\334\316\316" + "\317000\356\356\357\355\355\356\363\363\364\202\363\363\363\27bbb\21\21\21" + "\20\20\20\201\202\201\373\375\373\357\361\356\316\321\316\0\0\0\201\204\202" + "\367\372\367\355\360\355\0\0\0\372\375\372\354\357\354\353\356\354\0\0\0" + "\375\376\374~\177\177\21\21\21\20\20\20\200\200\200\373\373\373\355\355\356" + "\204\363\363\363\11\370\371\371\372\374\372\371\374\371\364\367\364\355\360" + "\356\315\320\316\2\3\2\371\375\371\362\366\362\202\354\357\354\1\371\375" + "\371\202\353\356\354\4\352\355\354\372\375\372\353\355\354\364\365\365\202" + "\375\375\375\2\364\364\365\354\354\355\202\363\363\363\202\362\362\363\1" + "\357\361\357\202\356\361\356\7\355\360\356\355\360\355qupEJE\367\374\367" + "\352\357\353\352\357\352\203\351\356\352\6\350\355\351\351\355\352\352\355" + "\353\351\354\352\352\354\352\353\354\355\202\354\354\355\6\353\353\355\363" + "\363\363\362\362\363\362\362\362\361\362\361\356\361\356\202\355\360\356" + "\5\354\360\354\353\360\353\352\357\352\360\366\361\363\371\363\203\351\356" + "\351\203\350\355\351\2\347\354\351\350\354\350\202\350\353\352\1\352\354" + "\353\202\353\353\355\1\353\353\354\203\362\362\362\5\356\360\357\355\360" + "\356\355\360\355\354\360\354\352\357\353\202\352\357\352\16\261\266\262L" + "LL\16\16\16\35\35\35---<<<\200\200\200\305\312\305\347\354\350\346\353\350" + "\347\353\347\347\352\351\350\352\351\352\353\353\202\352\352\354\15\362\362" + "\362\361\361\362\360\361\361\356\360\356\355\360\355\354\357\354\352\357" + "\353\352\357\352\351\356\351jjj\0\0\0\5\5\5\2\2\2\202\0\0\0\11\4\4\4\"\"" + "\"]]]\246\246\247\346\353\347\345\352\347\346\352\347\346\351\350\350\352" + "\352\202\351\351\353\202\361\361\362\1\360\361\360\202\354\357\355\10\353" + "\357\353\352\357\352\351\356\351[[[\0\0\0\1\13\1\0M\0\0\217\0\202\0\230\0" + "\13\0\217\0\0M\0\7\7\7ooo\277\277\277\344\352\346\344\351\346\346\351\350" + "\347\351\351\351\351\353\350\350\352\202\361\361\361\30\357\360\360\354\357" + "\355\354\357\354\351\356\352\351\356\351\261\266\262\0\0\0\1\13\1\0}\0\0" + "\230\0q\312o\243\341\237\212\326\207`\303^1\2560\0}\0\11\11\11\222\222\222" + "\330\335\331\343\351\345\344\350\346\346\347\350\350\350\352\347\347\352" + "\202\360\360\361\12\357\360\360\353\356\354\353\356\353\351\356\352\350\355" + "\351LLL\5\5\5\0M\0\0\230\0\201\322\177\202\345\376\340\21\306\360\302\225" + "\333\222d\305b2\2561\0M\0DDD\324\324\324\342\350\345\343\347\345\345\347" + "\347\347\347\352\347\347\351\360\360\361\360\360\360\356\357\357\353\356" + "\354\353\356\353\202\350\355\351\23\16\16\16\2\2\2\0\217\0B\265A\243\341" + "\237\334\372\327\341\374\334\310\361\304\243\341\237y\316vK\271I\32\232\31" + "\14\14\14\325\325\325\342\350\344\342\346\345\344\346\346\346\346\351\346" + "\346\350\202\357\357\360\26\356\357\357\352\355\353\352\355\352\350\355\351" + "\347\354\350\35\35\35\0\0\0\0\230\0R\274P\225\333\222\273\353\267\303\357" + "\277\265\351\261\232\335\227y\316vR\274P(\252'\0\0\0\344\344\344\341\347" + "\343\341\345\344\343\345\346\202\345\345\350\5\357\357\360\356\356\357\355" + "\356\356\352\355\353\351\354\352\202\347\354\350\23---\0\0\0\0\230\0I\270" + "G}\317z\232\335\226\243\341\237\233\335\230\210\325\205n\311kM\272K(\252" + "'\0\0\0\364\364\364\340\346\343\341\345\343\342\344\345\345\345\347\344\344" + "\347\202\356\356\357s\354\355\356\351\354\352\351\354\351\346\353\350\346" + "\353\347<<<\4\4\4\0\217\0""5\2604`\302^y\316v\202\322\200\177\320|q\312o" + "\\\301Z@\264?\36\234\35\16\16\16\376\376\376\337\345\342\340\344\343\341" + "\343\344\344\344\347\343\343\346\355\355\357\355\355\356\354\355\355\350" + "\353\352\350\353\351\346\353\347\345\353\347\177\177\177\"\"\"\0M\0\34\244" + "\33A\265?W\277Ua\303_`\303^V\276TE\267D.\254-\11Q\11___\372\372\372\336\344" + "\341\340\343\342\341\342\343\343\343\346\342\342\346\355\355\356\354\354" + "\356\353\354\355\350\353\351\347\352\351\346\352\347\344\352\346\303\310" + "\303]]]\7\7\7\0}\0!\247\40""6\2604@\264?A\265@:\2629,\253+\24\205\24\17\17" + "\17\336\336\336\345\353\347\336\343\341\337\342\342\340\342\344\342\342\345" + "\341\341\345\354\354\356\354\354\355\352\353\354\350\352\352\347\352\350" + "\346\351\347\344\352\346\343\351\345\256\256\256ooo\11\11\11\0M\0\23\227" + "\22\36\245\36!\247\40\32\232\31\11P\10\17\17\17\316\316\316\367\367\370\336" + "\343\340\336\343\341\336\341\341\340\341\344\341\341\345\340\340\344\354" + "\354\355\353\353\355\353\353\354\351\352\352\346\351\350\345\350\347\344" + "\350\346\343\351\345\342\350\344\276\276\277\222\222\222DDD\14\14\14\202" + "\0\0\0\14\16\16\16___\336\336\336\367\367\370\336\343\340\335\342\337\336" + "\341\341\336\340\342\341\341\344\340\340\344\337\337\343\353\353\355\202" + "\352\352\354\21\351\352\352\346\350\350\345\350\347\344\347\346\343\347\344" + "\341\347\344\341\347\343\325\333\327\323\323\323\325\325\325\344\344\344" + "\364\364\364\376\376\376\371\371\372\344\352\346\335\342\340\335\342\337" + "\202\335\340\340\4\337\340\343\340\340\343\337\337\343\336\336\342\202\352" + "\352\354\202\351\351\353\10\347\350\352\345\347\346\343\346\346\343\346\345" + "\341\345\344\341\346\343\340\346\342\337\345\342\202\336\344\341\10\336\343" + "\341\336\343\340\335\342\340\335\342\337\334\341\340\335\340\340\334\337" + "\340\336\340\342\202\337\337\343\4\336\336\342\335\335\342\351\351\353\350" + "\350\353\202\350\350\352\4\347\347\352\346\347\350\344\346\347\343\345\344" + "\202\341\344\344\2\340\343\342\337\343\342\202\336\343\341\202\335\342\340" + "\1\335\340\340\202\334\337\340\2\334\336\340\336\337\342\202\336\336\342" + "\3\335\335\341\334\334\341\334\334\340\202\212\212\215\1\212\212\216\203" + "\213\213\216\5\214\214\216\213\214\216\213\215\215\213\215\216\213\214\215" + "\202\213\215\215\1\213\215\216\202\214\216\216\4\216\217\216\216\220\217" + "\217\220\221\220\220\222\203\221\221\223\3\222\222\223\222\222\224\223\223" + "\224\232\232\320\25\232\230\317\25\232\227\317\24\232\242\323-\232\235\317" + "*\232\230\311&\232\222\302$\232\214\273!\232\206\264\36", +}; + diff --git a/src/image_data/gvo_banner_sdi_sync_grey.h b/src/image_data/gvo_banner_sdi_sync_grey.h new file mode 100644 index 0000000..556f2f6 --- /dev/null +++ b/src/image_data/gvo_banner_sdi_sync_grey.h @@ -0,0 +1,138 @@ +/* GIMP RGB C-Source image dump 1-byte-run-length-encoded */ + +#include "image.h" + +static const nv_image_t gvo_banner_sdi_sync_grey_image = { + 26, 60, 3, + "\232\201\221\33\232\235\257!\232\261\306&\232\301\326,\232\314\340.\232\321" + "\345/\232\324\3462\232\325\3472\264\334\3567\232\335\3578\202\374\374\375" + "\203\375\375\375\213\376\376\376\202\375\375\376\204\375\375\375\202\374" + "\374\375\202\374\374\374\202\351\351\355\202\352\352\356\202\353\353\356" + "\202\354\354\357\2\355\355\357\355\355\360\203\356\356\360\202\357\357\361" + "\2\360\360\361\360\360\362\202\361\361\362\202\362\362\363\202\363\363\363" + "\203\364\364\364\3\351\351\355\352\352\355\352\352\356\202\353\353\356\1" + "\353\353\357\202\354\354\357\2\355\355\357\355\355\360\202\356\356\360\202" + "\357\357\361\2\360\360\361\360\360\362\202\361\361\362\2\362\362\362\362" + "\362\363\202\363\363\363\204\364\364\364\202\352\352\356\202\353\353\356" + "\202\354\354\357\2\355\355\357\355\355\360\202\356\356\360\202\357\357\361" + "\2\360\360\361\360\360\362\203\361\361\362\202\362\362\363\2\363\363\363" + "\363\363\364\205\364\364\364\202\353\353\356\202\354\354\357\2\355\355\357" + "\355\355\360\202\356\356\360\203\357\357\361\2\360\360\361\360\360\362\202" + "\361\361\362\202\362\362\363\2\363\363\363\363\363\364\207\364\364\364\202" + "\354\354\357\1\355\355\357\202\355\355\360\2\356\356\360ppp\202\0\0\0\4\200" + "\200\200\360\360\362\361\361\362\0\0\0\202\20\20\20\5\0\0\0AAA\323\323\323" + "\364\364\364\0\0\0\204\364\364\364\5\363\363\364\363\363\363\354\354\357" + "\355\355\357\355\355\360\202\356\356\360\11\357\357\361\0\0\0\326\326\327" + "\334\334\334DDD\367\367\370\362\362\362\0\0\0\376\376\376\202\375\375\375" + "\5\"\"\"TTT\365\365\365\0\0\0\376\376\376\202\364\364\364\203\363\363\363" + "\1\355\355\360\202\356\356\360\202\357\357\361\3\360\360\361\0\0\0\207\207" + "\207\202\363\363\364\4\373\373\373\362\362\363\0\0\0\376\376\376\202\364" + "\364\364\6\242\242\242\21\21\21\373\373\373\0\0\0\376\376\376\363\363\364" + "\204\363\363\363\202\356\356\360\202\357\357\361\12\360\360\361\360\360\362" + "\240\240\241\"\"\"\0\0\0\201\201\201\363\363\363\363\363\364\0\0\0\376\376" + "\376\203\364\364\364\4\0\0\0\375\375\375\0\0\0\376\376\376\204\363\363\363" + "\1\362\362\363\202\357\357\361\2\360\360\361\360\360\362\202\361\361\362" + "\10\362\362\363\366\366\367\250\250\250\0\0\0\371\371\371\364\364\364\0\0" + "\0\376\376\376\202\364\364\364\5\303\303\303\0\0\0\376\376\376\0\0\0\376" + "\376\376\202\363\363\363\202\362\362\363\3\362\362\362\360\360\361\360\360" + "\362\202\361\361\362\12\362\362\362\362\362\363\0\0\0\363\363\363\322\322" + "\323\0\0\0\376\376\376\364\364\364\0\0\0\376\376\376\202\364\364\364\5!!" + "!RRR\376\376\376\0\0\0\376\376\376\202\362\362\363\203\362\362\362\1\360" + "\360\362\202\361\361\362\202\362\362\363\20\363\363\363bbb\21\21\21\20\20" + "\20\202\202\202\376\376\376\364\364\364\0\0\0\21\21\21\20\20\20\0\0\0""1" + "11\333\333\333\372\372\372\0\0\0\376\376\376\203\362\362\362\203\361\361" + "\362\202\362\362\363\202\363\363\363\202\364\364\364\1\372\372\372\202\375" + "\375\375\4\371\371\371\364\364\364\363\363\364\376\376\376\202\375\375\375" + "\6\376\376\376\374\374\374\364\364\364\362\362\362\376\376\376\362\362\362" + "\202\361\361\362\202\361\361\361\1\362\362\363\202\363\363\363\1rrr\202\0" + "\0\0\1\202\202\202\203\364\364\364\1\363\363\364\205\363\363\363\202\362" + "\362\363\202\362\362\362\203\361\361\362\1\361\361\361\202\360\360\361\11" + "\363\363\363\363\363\364\364\364\364\0\0\0\330\330\330\334\334\334DDD\371" + "\371\371\364\364\364\205\363\363\363\202\362\362\363\203\362\362\362\202" + "\361\361\362\1\361\361\361\203\360\360\361\1\360\360\360\203\364\364\364" + "\2\0\0\0\207\207\207\202\365\365\365\16\373\373\373AAArrr\363\363\363\302" + "\302\302\0\0\0\362\362\363\0\0\0QQQ\40\40\40\0\0\0qqq\361\361\361\200\200" + "\200\202000\1```\202\357\357\360\203\364\364\364\27\242\242\242\"\"\"\0\0" + "\0\201\201\201\363\363\363\302\302\302\21\21\21\371\371\371aabrrs\376\376" + "\376\0\0\0\251\251\251\372\372\372\332\332\332\0\0\0\367\367\370\0\0\0\326" + "\326\326\373\373\373eee\370\370\370\356\356\357\203\364\364\364\27\363\363" + "\364\367\367\367\250\250\250\0\0\0\370\370\370\363\363\363\0\0\0\312\312" + "\312\20\20\20\330\330\330\370\370\370\0\0\0\376\376\376\365\365\365\360\360" + "\361\0\0\0\376\376\376\0\0\0\376\376\376\361\361\362\357\357\360\370\370" + "\370\356\356\357\202\364\364\364\16\363\363\364\0\0\0\363\363\363\322\322" + "\322\0\0\0\376\376\376\362\362\363aaa333111\375\375\375\363\363\364\0\0\0" + "\376\376\376\202\360\360\361\11\0\0\0\376\376\376\0\0\0\334\334\334\316\316" + "\317000\356\356\357\355\355\356\363\363\364\202\363\363\363\27bbb\21\21\21" + "\20\20\20\202\202\202\376\376\376\362\362\362\322\322\322\0\0\0\205\205\206" + "\373\373\373\361\361\361\0\0\0\376\376\376\360\360\360\357\357\360\0\0\0" + "\376\376\376\177\177\200\21\21\21\20\20\20\200\200\200\373\373\373\355\355" + "\356\204\363\363\363\1\371\371\372\202\375\375\375\6\370\370\370\361\361" + "\362\321\321\322\0\0\0\376\376\376\367\367\367\202\360\360\361\1\376\376" + "\376\202\357\357\360\4\356\356\360\376\376\376\356\356\357\365\365\366\202" + "\375\375\375\2\364\364\365\354\354\355\202\363\363\363\202\362\362\363\203" + "\362\362\362\202\361\361\362\5qqqAAA\376\376\376\360\360\361\360\360\360" + "\203\357\357\360\203\356\356\357\202\355\355\356\1\354\354\356\202\354\354" + "\355\3\353\353\355\363\363\363\362\362\363\203\362\362\362\202\361\361\362" + "\202\361\361\361\3\360\360\361\367\367\370\372\372\372\203\357\357\360\203" + "\356\356\357\2\355\355\357\355\355\356\202\354\354\356\1\354\354\355\202" + "\353\353\355\1\353\353\354\203\362\362\362\202\361\361\362\202\361\361\361" + "\203\360\360\361\13\263\263\264HHI\16\16\16\35\35\35---<<<||}\310\310\311" + "\355\355\356\354\354\356\354\354\355\202\353\353\355\1\353\353\354\202\352" + "\352\354\1\362\362\362\203\361\361\362\1\361\361\361\203\360\360\361\5\357" + "\357\360eeg\0\0\0\5\5\5\2\2\2\202\0\0\0\7\4\4\4\"\"\"]]]\243\243\245\354" + "\354\355\353\353\355\353\353\354\202\352\352\354\202\351\351\353\202\361" + "\361\362\1\361\361\361\203\360\360\361\7\360\360\360\357\357\360VVX\0\0\0" + "\11\11\11;;;ooo\202ttt\5ooo;;;\7\7\7ooo\274\274\275\203\352\352\354\202\351" + "\351\353\1\350\350\352\202\361\361\361\202\360\360\361\1\360\360\360\202" + "\357\357\360\16\263\263\264\0\0\0\11\11\11aaasss\244\260\241\272\313\267" + "\257\275\254\234\246\232\207\214\206aaa\11\11\11\222\222\222\335\335\336" + "\202\351\351\353\3\350\350\353\350\350\352\347\347\352\203\360\360\361\203" + "\357\357\360\6\356\356\357HHI\5\5\5;;;sss\253\271\250\202\327\357\322\10" + "\311\337\305\264\304\261\236\251\234\210\215\207;;;DDD\322\322\323\350\350" + "\353\202\350\350\352\4\347\347\352\347\347\351\360\360\361\360\360\360\203" + "\357\357\360\202\356\356\357\23\16\16\16\2\2\2ooo\217\226\215\272\313\267" + "\323\352\316\325\355\320\312\340\306\272\313\267\247\264\244\223\233\221" + "{~z\14\14\14\325\325\325\350\350\352\347\347\352\347\347\351\346\346\351" + "\346\346\350\203\357\357\360\203\356\356\357\20\355\355\356\35\35\35\0\0" + "\0ttt\226\237\224\264\304\261\304\331\300\310\335\303\302\325\276\267\307" + "\263\247\264\245\226\237\224\205\211\204\0\0\0\344\344\344\347\347\351\202" + "\346\346\351\202\345\345\350\1\357\357\360\203\356\356\357\1\355\355\357" + "\202\355\355\356\23---\0\0\0ttt\222\232\220\251\267\246\266\306\263\272\313" + "\267\267\307\264\256\274\253\242\256\240\223\234\222\205\211\204\0\0\0\364" + "\364\364\346\346\351\346\346\350\345\345\350\345\345\347\344\344\347\202" + "\356\356\357\1\355\355\357\202\355\355\356\20\354\354\356\354\354\355<<<" + "\4\4\4ooo\211\217\210\234\246\232\247\264\245\254\272\251\252\270\247\244" + "\260\241\232\244\230\216\225\214|\177|\16\16\16\376\376\376\202\345\345\350" + "\202\344\344\347\2\343\343\346\355\355\357\202\355\355\356\1\354\354\356" + "\202\354\354\355\17\353\353\355}}~\"\"\";;;\177\201~\216\225\215\230\242" + "\226\235\247\232\234\247\232\230\241\226\220\227\216\206\213\205?@?___\372" + "\372\372\202\344\344\347\202\343\343\346\2\342\342\346\355\355\356\202\354" + "\354\356\1\354\354\355\202\353\353\355\26\352\352\354\306\306\307]]]\7\7" + "\7aaa\200\203\200\211\217\210\216\225\214\216\225\215\213\221\212\205\211" + "\204jki\17\17\17\336\336\336\353\353\355\343\343\347\343\343\346\342\342" + "\346\342\342\345\341\341\345\354\354\356\354\354\355\202\353\353\355\1\353" + "\353\354\202\352\352\354\15\351\351\353\254\254\255ooo\11\11\11;;;wyv\201" + "\204\200\202\205\201z}z>?>\17\17\17\316\316\316\371\371\371\202\343\343\346" + "\1\342\342\345\202\341\341\345\4\340\340\344\354\354\355\353\353\355\353" + "\353\354\202\352\352\354\203\351\351\353\5\350\350\352\275\275\276\222\222" + "\222DDD\14\14\14\202\0\0\0\5\16\16\16___\336\336\336\371\371\371\343\343" + "\346\202\342\342\345\5\341\341\345\341\341\344\340\340\344\337\337\343\353" + "\353\355\202\352\352\354\1\352\352\353\202\351\351\353\202\350\350\352\22" + "\347\347\352\347\347\351\332\332\334\323\323\324\325\325\325\344\344\344" + "\364\364\364\376\376\376\373\373\373\352\352\354\342\342\346\342\342\345" + "\341\341\345\341\341\344\340\340\344\340\340\343\337\337\343\336\336\342" + "\202\352\352\354\202\351\351\353\4\350\350\353\350\350\352\347\347\352\347" + "\347\351\202\346\346\351\2\346\346\350\345\345\350\202\344\344\347\6\343" + "\343\347\343\343\346\342\342\346\342\342\345\341\341\345\341\341\344\202" + "\340\340\344\202\337\337\343\4\336\336\342\335\335\342\351\351\353\350\350" + "\353\202\350\350\352\4\347\347\352\347\347\351\346\346\351\346\346\350\202" + "\345\345\350\202\344\344\347\202\343\343\346\202\342\342\345\1\341\341\345" + "\202\340\340\344\202\337\337\343\202\336\336\342\3\335\335\341\334\334\341" + "\334\334\340\202\212\212\215\1\212\212\216\203\213\213\216\3\214\214\216" + "\214\214\217\215\215\217\202\215\215\220\202\216\216\220\1\216\216\221\202" + "\217\217\221\202\220\220\221\202\220\220\222\203\221\221\223\3\222\222\223" + "\222\222\224\223\223\224\232\232\320\25\232\230\317\25\232\227\317\24\232" + "\242\323-\232\235\317*\232\230\311&\232\222\302$\232\214\273!\232\206\264" + "\36", +}; + diff --git a/src/image_data/gvo_banner_sdi_sync_red.h b/src/image_data/gvo_banner_sdi_sync_red.h new file mode 100644 index 0000000..0894cd2 --- /dev/null +++ b/src/image_data/gvo_banner_sdi_sync_red.h @@ -0,0 +1,143 @@ +/* GIMP RGB C-Source image dump 1-byte-run-length-encoded */ + +#include "image.h" + +static const nv_image_t gvo_banner_sdi_sync_red_image = { + 26, 60, 3, + "\232\201\221\33\232\235\257!\232\261\306&\232\301\326,\232\314\340.\232\321" + "\345/\232\324\3462\232\325\3472\264\334\3567\232\335\3578\202\374\374\375" + "\203\375\375\375\213\376\376\376\202\375\375\376\204\375\375\375\202\374" + "\374\375\202\374\374\374\202\351\351\355\202\352\352\356\202\353\353\356" + "\202\354\354\357\2\355\355\357\355\355\360\203\356\356\360\202\357\357\361" + "\2\360\360\361\360\360\362\202\361\361\362\202\362\362\363\202\363\363\363" + "\203\364\364\364\3\351\351\355\352\352\355\352\352\356\202\353\353\356\1" + "\353\353\357\202\354\354\357\2\355\355\357\355\355\360\202\356\356\360\202" + "\357\357\361\2\360\360\361\360\360\362\202\361\361\362\2\362\362\362\362" + "\362\363\202\363\363\363\204\364\364\364\202\352\352\356\202\353\353\356" + "\202\354\354\357\2\355\355\357\355\355\360\202\356\356\360\202\357\357\361" + "\2\360\360\361\360\360\362\203\361\361\362\202\362\362\363\2\363\363\363" + "\363\363\364\205\364\364\364\202\353\353\356\202\354\354\357\2\355\355\357" + "\355\355\360\202\356\356\360\203\357\357\361\2\360\360\361\360\360\362\202" + "\361\361\362\202\362\362\363\2\363\363\363\363\363\364\207\364\364\364\202" + "\354\354\357\1\355\355\357\202\355\355\360\2\356\356\360ppp\202\0\0\0\4\200" + "\200\200\360\360\362\361\361\362\0\0\0\202\20\20\20\5\0\0\0AAA\323\323\323" + "\364\364\364\0\0\0\204\364\364\364\5\363\363\364\363\363\363\354\354\357" + "\355\355\357\355\355\360\202\356\356\360\11\357\357\361\0\0\0\326\326\327" + "\334\334\334DDD\367\367\370\362\362\362\0\0\0\376\376\376\202\375\375\375" + "\5\"\"\"TTT\365\365\365\0\0\0\376\376\376\202\364\364\364\203\363\363\363" + "\1\355\355\360\202\356\356\360\202\357\357\361\3\360\360\361\0\0\0\207\207" + "\207\202\363\363\364\4\373\373\373\362\362\363\0\0\0\376\376\376\202\364" + "\364\364\6\242\242\242\21\21\21\373\373\373\0\0\0\376\376\376\363\363\364" + "\204\363\363\363\202\356\356\360\202\357\357\361\12\360\360\361\360\360\362" + "\240\240\241\"\"\"\0\0\0\201\201\201\363\363\363\363\363\364\0\0\0\376\376" + "\376\203\364\364\364\4\0\0\0\375\375\375\0\0\0\376\376\376\204\363\363\363" + "\1\362\362\363\202\357\357\361\2\360\360\361\360\360\362\202\361\361\362" + "\10\362\362\363\366\366\367\250\250\250\0\0\0\371\371\371\364\364\364\0\0" + "\0\376\376\376\202\364\364\364\5\303\303\303\0\0\0\376\376\376\0\0\0\376" + "\376\376\202\363\363\363\202\362\362\363\3\362\362\362\360\360\361\360\360" + "\362\202\361\361\362\12\362\362\362\362\362\363\0\0\0\363\363\363\322\322" + "\323\0\0\0\376\376\376\364\364\364\0\0\0\376\376\376\202\364\364\364\5!!" + "!RRR\376\376\376\0\0\0\376\376\376\202\362\362\363\203\362\362\362\1\360" + "\360\362\202\361\361\362\202\362\362\363\20\363\363\363bbb\21\21\21\20\20" + "\20\202\202\202\376\376\376\364\364\364\0\0\0\21\21\21\20\20\20\0\0\0""1" + "11\333\333\333\372\372\372\0\0\0\376\376\376\203\362\362\362\203\361\361" + "\362\202\362\362\363\202\363\363\363\202\364\364\364\1\372\372\372\202\375" + "\375\375\4\371\371\371\364\364\364\363\363\364\376\376\376\202\375\375\375" + "\6\376\376\376\374\374\374\364\364\364\362\362\362\376\376\376\362\362\362" + "\202\361\361\362\202\361\361\361\1\362\362\363\202\363\363\363\1rrr\202\0" + "\0\0\1\202\202\202\203\364\364\364\1\363\363\364\205\363\363\363\202\362" + "\362\363\202\362\362\362\203\361\361\362\1\361\361\361\202\360\360\361\11" + "\363\363\363\363\363\364\364\364\364\0\0\0\330\330\330\334\334\334DDD\371" + "\371\371\364\364\364\205\363\363\363\202\362\362\363\203\362\362\362\202" + "\361\361\362\1\361\361\361\203\360\360\361\1\360\360\360\203\364\364\364" + "\2\0\0\0\207\207\207\202\365\365\365\16\373\373\373AAArrr\363\363\363\302" + "\302\302\0\0\0\362\362\363\0\0\0QQQ\40\40\40\0\0\0qqq\361\361\361\200\200" + "\200\202000\1```\202\357\357\360\203\364\364\364\27\242\242\242\"\"\"\0\0" + "\0\201\201\201\363\363\363\302\302\302\21\21\21\371\371\371aabrrs\376\376" + "\376\0\0\0\251\251\251\372\372\372\332\332\332\0\0\0\367\367\370\0\0\0\326" + "\326\326\373\373\373eee\370\370\370\356\356\357\203\364\364\364\27\363\363" + "\364\367\367\367\250\250\250\0\0\0\370\370\370\363\363\363\0\0\0\312\312" + "\312\20\20\20\330\330\330\370\370\370\0\0\0\376\376\376\365\365\365\360\360" + "\361\0\0\0\376\376\376\0\0\0\376\376\376\361\361\362\357\357\360\370\370" + "\370\356\356\357\202\364\364\364\31\363\363\364\0\0\0\363\363\363\322\322" + "\322\0\0\0\376\376\376\362\362\363aaa322100\375\374\374\363\362\363\0\0\0" + "\376\375\375\360\357\360\360\360\361\0\0\0\376\376\376\0\0\0\334\334\334" + "\316\316\317000\356\356\357\355\355\356\363\363\364\202\363\363\363\27bb" + "b\21\21\21\20\20\20\202\201\201\376\375\375\362\360\360\322\320\320\0\0\0" + "\205\203\204\373\371\371\361\357\357\0\0\0\376\374\374\360\356\356\357\355" + "\356\0\0\0\376\375\375\177\177\200\21\21\21\20\20\20\200\200\200\373\373" + "\373\355\355\356\204\363\363\363\11\371\371\372\375\374\374\375\373\373\370" + "\366\366\361\357\360\321\317\320\3\3\3\376\374\374\367\365\365\202\360\356" + "\357\1\376\374\374\202\357\355\356\4\356\354\356\376\374\374\356\355\356" + "\365\364\365\202\375\375\375\2\364\364\365\354\354\355\202\363\363\363\202" + "\362\362\363\1\362\361\361\202\362\360\360\202\361\357\360\5vttLII\376\373" + "\373\361\355\356\361\355\355\202\360\355\355\2\360\355\356\357\354\355\202" + "\356\354\355\202\355\353\354\1\354\354\356\202\354\354\355\6\353\353\355" + "\363\363\363\362\362\363\362\362\362\362\361\361\362\360\360\202\361\357" + "\360\5\361\357\357\362\356\356\361\355\356\367\364\365\372\367\367\203\360" + "\354\355\203\357\354\354\2\356\353\355\356\353\354\202\354\352\354\1\354" + "\353\354\202\353\353\355\1\353\353\354\203\362\362\362\2\361\360\361\361" + "\357\360\202\361\357\357\203\361\355\356\13\270\265\266GGH\16\16\16\35\35" + "\35---<<<yy{\314\310\311\356\353\354\355\352\354\355\352\353\202\353\351" + "\353\1\353\353\354\202\352\352\354\1\362\362\362\202\361\361\362\12\361\357" + "\360\361\357\357\360\356\357\361\356\356\361\355\356\360\354\355cce\0\0\0" + "\5\5\5\2\2\2\202\0\0\0\11\4\4\4\"\"\"]]]\237\237\240\355\352\353\354\351" + "\353\353\351\352\352\350\352\352\351\353\202\351\351\353\202\361\361\362" + "\1\361\361\361\203\360\356\357\7\361\355\355\360\354\355UUV\0\0\0\21\1\1" + "\200\0\0\357\0\0\202\376\0\0\5\357\0\0\200\0\0\7\7\7ooo\265\265\267\202\353" + "\350\352\4\352\350\352\351\350\352\351\351\353\350\350\352\202\361\361\361" + "\30\360\357\360\360\356\357\360\356\356\360\355\356\360\354\355\270\265\266" + "\0\0\0\21\1\1\317\0\0\376\0\0\376\230\230\376\315\315\376\264\264\376\203" + "\203\376GG\317\0\0\11\11\11\222\222\222\337\334\335\352\347\351\351\347\351" + "\350\347\352\350\350\352\347\347\352\202\360\360\361\1\360\357\360\202\357" + "\355\356\7\360\355\355\357\354\354FFG\5\5\5\200\0\0\376\0\0\376\252\252\202" + "\376\376\376\17\376\352\352\376\300\300\376\210\210\376II\200\0\0DDD\314" + "\314\316\351\346\351\351\346\350\350\347\351\347\347\352\347\347\351\360" + "\360\361\360\360\360\357\356\357\202\357\355\356\25\357\354\355\357\354\354" + "\16\16\16\2\2\2\357\0\0\376^^\376\314\314\376\367\367\376\372\372\376\353" + "\353\376\314\314\376\240\240\376jj\357''\14\14\14\325\325\325\351\346\350" + "\350\345\350\347\346\350\346\346\351\346\346\350\202\357\357\360\1\357\356" + "\357\202\356\354\355\23\357\354\355\356\353\354\35\35\35\0\0\0\376\0\0\376" + "rr\376\300\300\376\342\342\376\350\350\376\335\335\376\305\305\376\240\240" + "\376rr\376::\0\0\0\344\344\344\350\345\347\347\344\347\346\345\350\202\345" + "\345\350\5\357\357\360\356\356\357\356\355\356\356\354\355\355\353\355\202" + "\356\353\354\23---\0\0\0\376\0\0\376gg\376\245\245\376\304\304\376\314\314" + "\376\305\305\376\262\262\376\223\223\376ll\376::\0\0\0\364\364\364\350\344" + "\347\347\344\346\345\344\347\345\345\347\344\344\347\202\356\356\357\1\355" + "\354\356\202\355\353\3540\355\352\354\355\352\353<<<\4\4\4\357\0\0\376LL" + "\376\203\203\376\240\240\376\253\253\376\247\247\376\230\230\376\177\177" + "\376[[\357,,\16\16\16\376\376\376\347\343\346\346\343\346\344\343\346\344" + "\344\347\343\343\346\355\355\357\355\355\356\355\354\355\354\352\354\354" + "\352\353\355\352\353\354\351\353yyz\"\"\"\200\0\0\376))\376\\\\\376yy\376" + "\205\205\376\203\203\376xx\376bb\376CC\200\16\16___\361\361\363\346\343\345" + "\345\342\345\343\342\345\343\343\346\342\342\346\355\355\356\202\354\354" + "\3567\354\352\353\353\351\353\354\351\353\353\350\352\312\306\307]]]\7\7" + "\7\317\0\0\37600\376MM\376[[\376\\\\\376SS\376@@\317\35\35\17\17\17\336\336" + "\336\354\351\353\344\342\345\343\341\344\342\341\345\342\342\345\341\341" + "\345\354\354\356\354\354\355\353\353\355\353\352\354\353\351\352\352\350" + "\352\353\350\352\352\347\351\243\243\245ooo\11\11\11\200\0\0\357\33\33\376" + "--\37600\357''\200\15\15\17\17\17\316\316\316\353\353\356\345\342\344\344" + "\341\344\342\340\343\341\340\344\341\341\345\340\340\344\354\354\355\353" + "\353\355\353\353\354\352\351\353\352\350\352\351\347\351\202\352\347\351" + "\5\351\346\350\263\263\265\222\222\222DDD\14\14\14\202\0\0\0\14\16\16\16" + "___\336\336\336\353\353\356\345\342\344\343\341\343\342\340\343\341\340\344" + "\341\341\344\340\340\344\337\337\343\353\353\355\202\352\352\354\27\352\352" + "\353\351\350\352\351\347\351\350\346\350\351\346\350\350\345\350\350\345" + "\347\335\331\333\313\313\315\325\325\325\344\344\344\364\364\364\376\376" + "\376\361\361\363\353\350\352\344\341\344\343\341\343\342\337\343\341\337" + "\342\340\337\343\340\340\343\337\337\343\336\336\342\202\352\352\354\202" + "\351\351\353\4\350\347\352\350\346\350\347\345\350\347\345\347\202\347\344" + "\347\2\347\344\346\347\343\346\202\346\343\345\10\345\342\345\345\342\344" + "\344\341\344\344\341\343\342\340\343\341\337\342\340\336\342\340\337\343" + "\202\337\337\343\4\336\336\342\335\335\342\351\351\353\350\350\353\202\350" + "\350\352\4\347\347\352\347\347\351\346\345\350\346\344\346\202\345\343\346" + "\202\345\342\345\202\344\341\344\202\343\340\343\1\342\337\343\202\340\336" + "\342\202\337\336\342\202\336\336\342\3\335\335\341\334\334\341\334\334\340" + "\202\212\212\215\1\212\212\216\203\213\213\216\3\214\214\216\214\214\217" + "\215\214\216\202\215\214\217\202\216\215\217\1\216\215\220\202\217\216\220" + "\202\220\217\220\2\220\217\221\220\220\222\203\221\221\223\3\222\222\223" + "\222\222\224\223\223\224\232\232\320\25\232\230\317\25\232\227\317\24\232" + "\242\323-\232\235\317*\232\230\311&\232\222\302$\232\214\273!\232\206\264" + "\36", +}; + diff --git a/src/image_data/gvo_banner_sdi_sync_yellow.h b/src/image_data/gvo_banner_sdi_sync_yellow.h new file mode 100644 index 0000000..b31475d --- /dev/null +++ b/src/image_data/gvo_banner_sdi_sync_yellow.h @@ -0,0 +1,142 @@ +/* GIMP RGB C-Source image dump 1-byte-run-length-encoded */ + +#include "image.h" + +static const nv_image_t gvo_banner_sdi_sync_yellow_image = { + 26, 60, 3, + "\232\201\221\33\232\235\257!\232\261\306&\232\301\326,\232\314\340.\232\321" + "\345/\232\324\3462\232\325\3472\264\334\3567\232\335\3578\202\374\374\375" + "\203\375\375\375\213\376\376\376\202\375\375\376\204\375\375\375\202\374" + "\374\375\202\374\374\374\202\351\351\355\202\352\352\356\202\353\353\356" + "\202\354\354\357\2\355\355\357\355\355\360\203\356\356\360\202\357\357\361" + "\2\360\360\361\360\360\362\202\361\361\362\202\362\362\363\202\363\363\363" + "\203\364\364\364\3\351\351\355\352\352\355\352\352\356\202\353\353\356\1" + "\353\353\357\202\354\354\357\2\355\355\357\355\355\360\202\356\356\360\202" + "\357\357\361\2\360\360\361\360\360\362\202\361\361\362\2\362\362\362\362" + "\362\363\202\363\363\363\204\364\364\364\202\352\352\356\202\353\353\356" + "\202\354\354\357\2\355\355\357\355\355\360\202\356\356\360\202\357\357\361" + "\2\360\360\361\360\360\362\203\361\361\362\202\362\362\363\2\363\363\363" + "\363\363\364\205\364\364\364\202\353\353\356\202\354\354\357\2\355\355\357" + "\355\355\360\202\356\356\360\203\357\357\361\2\360\360\361\360\360\362\202" + "\361\361\362\202\362\362\363\2\363\363\363\363\363\364\207\364\364\364\202" + "\354\354\357\1\355\355\357\202\355\355\360\2\356\356\360ppp\202\0\0\0\4\200" + "\200\200\360\360\362\361\361\362\0\0\0\202\20\20\20\5\0\0\0AAA\323\323\323" + "\364\364\364\0\0\0\204\364\364\364\5\363\363\364\363\363\363\354\354\357" + "\355\355\357\355\355\360\202\356\356\360\11\357\357\361\0\0\0\326\326\327" + "\334\334\334DDD\367\367\370\362\362\362\0\0\0\376\376\376\202\375\375\375" + "\5\"\"\"TTT\365\365\365\0\0\0\376\376\376\202\364\364\364\203\363\363\363" + "\1\355\355\360\202\356\356\360\202\357\357\361\3\360\360\361\0\0\0\207\207" + "\207\202\363\363\364\4\373\373\373\362\362\363\0\0\0\376\376\376\202\364" + "\364\364\6\242\242\242\21\21\21\373\373\373\0\0\0\376\376\376\363\363\364" + "\204\363\363\363\202\356\356\360\202\357\357\361\12\360\360\361\360\360\362" + "\240\240\241\"\"\"\0\0\0\201\201\201\363\363\363\363\363\364\0\0\0\376\376" + "\376\203\364\364\364\4\0\0\0\375\375\375\0\0\0\376\376\376\204\363\363\363" + "\1\362\362\363\202\357\357\361\2\360\360\361\360\360\362\202\361\361\362" + "\10\362\362\363\366\366\367\250\250\250\0\0\0\371\371\371\364\364\364\0\0" + "\0\376\376\376\202\364\364\364\5\303\303\303\0\0\0\376\376\376\0\0\0\376" + "\376\376\202\363\363\363\202\362\362\363\3\362\362\362\360\360\361\360\360" + "\362\202\361\361\362\12\362\362\362\362\362\363\0\0\0\363\363\363\322\322" + "\323\0\0\0\376\376\376\364\364\364\0\0\0\376\376\376\202\364\364\364\5!!" + "!RRR\376\376\376\0\0\0\376\376\376\202\362\362\363\203\362\362\362\1\360" + "\360\362\202\361\361\362\202\362\362\363\20\363\363\363bbb\21\21\21\20\20" + "\20\202\202\202\376\376\376\364\364\364\0\0\0\21\21\21\20\20\20\0\0\0""1" + "11\333\333\333\372\372\372\0\0\0\376\376\376\203\362\362\362\203\361\361" + "\362\202\362\362\363\202\363\363\363\202\364\364\364\1\372\372\372\202\375" + "\375\375\4\371\371\371\364\364\364\363\363\364\376\376\376\202\375\375\375" + "\6\376\376\376\374\374\374\364\364\364\362\362\362\376\376\376\362\362\362" + "\202\361\361\362\202\361\361\361\1\362\362\363\202\363\363\363\1rrr\202\0" + "\0\0\1\202\202\202\203\364\364\364\1\363\363\364\205\363\363\363\202\362" + "\362\363\202\362\362\362\203\361\361\362\1\361\361\361\202\360\360\361\11" + "\363\363\363\363\363\364\364\364\364\0\0\0\330\330\330\334\334\334DDD\371" + "\371\371\364\364\364\205\363\363\363\202\362\362\363\203\362\362\362\202" + "\361\361\362\1\361\361\361\203\360\360\361\1\360\360\360\203\364\364\364" + "\2\0\0\0\207\207\207\202\365\365\365\16\373\373\373AAArrr\363\363\363\302" + "\302\302\0\0\0\362\362\363\0\0\0QQQ\40\40\40\0\0\0qqq\361\361\361\200\200" + "\200\202000\1```\202\357\357\360\203\364\364\364\27\242\242\242\"\"\"\0\0" + "\0\201\201\201\363\363\363\302\302\302\21\21\21\371\371\371aabrrs\376\376" + "\376\0\0\0\251\251\251\372\372\372\332\332\332\0\0\0\367\367\370\0\0\0\326" + "\326\326\373\373\373eee\370\370\370\356\356\357\203\364\364\364\27\363\363" + "\364\367\367\367\250\250\250\0\0\0\370\370\370\363\363\363\0\0\0\312\312" + "\312\20\20\20\330\330\330\370\370\370\0\0\0\376\376\376\365\365\365\360\360" + "\361\0\0\0\376\376\376\0\0\0\376\376\376\361\361\362\357\357\360\370\370" + "\370\356\356\357\202\364\364\364\16\363\363\364\0\0\0\363\363\363\322\322" + "\322\0\0\0\376\376\376\362\362\363aaa333111\375\375\375\363\363\364\0\0\0" + "\376\376\376\202\360\360\361\11\0\0\0\376\376\376\0\0\0\334\334\334\316\316" + "\317000\356\356\357\355\355\356\363\363\364\202\363\363\363\27bbb\21\21\21" + "\20\20\20\202\202\202\376\376\376\362\362\362\322\322\322\0\0\0\205\205\206" + "\373\373\373\361\361\361\0\0\0\376\376\376\360\360\360\357\357\360\0\0\0" + "\376\376\376\177\177\200\21\21\21\20\20\20\200\200\200\373\373\373\355\355" + "\356\204\363\363\363\1\371\371\372\202\375\375\375\6\370\370\370\361\361" + "\362\321\321\321\0\0\0\375\376\373\366\367\364\202\357\360\356\7\375\376" + "\373\356\357\356\357\357\357\356\356\360\376\376\376\356\356\357\365\365" + "\366\202\375\375\375\2\364\364\365\354\354\355\202\363\363\363\202\362\362" + "\363\203\362\362\362\7\361\361\361\360\361\357ppk??8\373\374\364\355\356" + "\347\355\356\346\202\354\355\346\4\354\355\347\354\355\350\355\355\354\356" + "\356\356\202\355\355\356\1\354\354\356\202\354\354\355\3\353\353\355\363" + "\363\363\362\362\363\203\362\362\362\7\361\361\362\361\361\361\360\360\354" + "\357\357\350\355\356\346\364\365\355\367\370\357\203\354\355\345\203\353" + "\354\344\5\352\353\345\353\354\347\353\354\354\354\354\356\354\354\355\202" + "\353\353\355\1\353\353\354\203\362\362\362\202\361\361\362\3\361\361\360" + "\360\360\354\355\356\347\202\355\356\346\16\260\261\251JJK\16\16\16\35\35" + "\35---<<<}}~\305\306\276\352\353\343\351\352\343\352\353\346\353\353\354" + "\353\353\355\353\353\354\202\352\352\354\1\362\362\362\203\361\361\362\11" + "\361\361\361\357\360\356\356\356\350\355\356\346\354\355\345hhi\0\0\0\5\5" + "\5\2\2\2\202\0\0\0\7\4\4\4\"\"\"]]]\244\244\244\351\352\342\350\351\342\352" + "\352\350\202\352\352\354\202\351\351\353\202\361\361\362\13\361\361\361\360" + "\360\361\360\360\360\357\357\353\355\356\345\354\355\345YYZ\0\0\0\16\16\1" + "ee\0\274\274\0\202\310\310\0\10\274\274\0ee\0\7\7\7ooo\274\274\274\347\350" + "\341\350\351\344\352\352\353\202\351\351\353\1\350\350\352\202\361\361\361" + "\202\360\360\361\26\360\360\356\355\355\347\354\355\345\260\261\251\0\0\0" + "\16\16\1\243\243\0\310\310\0\326\343o\335\356\237\332\351\207\324\337^\316" + "\3230\243\243\0\11\11\11\222\222\222\332\333\323\346\347\340\350\350\347" + "\350\350\353\350\350\352\347\347\352\203\360\360\361\11\357\357\360\356\357" + "\355\354\355\346\353\354\344JJJ\5\5\5ee\0\310\310\0\330\346\177\202\345\376" + "\340\16\341\367\302\333\353\222\325\340b\316\3241ee\0DDD\321\321\321\345" + "\346\340\347\347\345\350\350\352\347\347\352\347\347\351\360\360\361\360" + "\360\360\202\357\357\360\26\356\357\355\353\354\345\353\354\344\16\16\16" + "\2\2\2\274\274\0\320\330A\335\356\237\344\374\327\344\375\334\341\367\304" + "\335\356\237\327\344v\321\332I\300\303\31\14\14\14\325\325\325\345\346\337" + "\346\346\344\347\347\351\346\346\351\346\346\350\203\357\357\360\25\356\356" + "\357\355\356\354\353\354\345\352\353\343\35\35\35\0\0\0\310\310\0\322\333" + "P\333\353\222\340\364\267\341\366\277\337\363\261\334\354\227\327\344v\322" + "\333P\315\321'\0\0\0\344\344\344\344\345\336\345\345\343\346\346\351\202" + "\345\345\350\1\357\357\360\203\356\356\357\26\354\355\354\352\353\344\352" + "\353\343---\0\0\0\310\310\0\321\331G\330\345z\333\354\226\335\356\237\334" + "\355\230\331\350\205\326\342k\322\332K\315\321'\0\0\0\364\364\364\343\344" + "\336\345\345\342\345\345\350\345\345\347\344\344\347\202\356\356\357\25\355" + "\355\357\355\355\356\354\355\353\351\352\344\351\352\342<<<\4\4\4\274\274" + "\0\317\3244\324\336^\327\344v\330\347\200\330\346|\326\343o\324\335Z\320" + "\327?\300\303\35\16\16\16\376\376\376\342\343\335\344\344\342\202\344\344" + "\347\2\343\343\346\355\355\357\202\355\355\356\24\354\354\356\353\354\353" + "\351\352\344\350\351\342}}}\"\"\"ee\0\314\317\33\320\327?\323\335U\324\337" + "_\324\337^\323\334T\321\330D\316\323-fg\11___\366\366\367\341\342\334\343" + "\343\343\202\343\343\346\2\342\342\346\355\355\356\202\354\354\356\31\354" + "\354\355\353\353\354\351\352\346\347\350\341\303\304\274]]]\7\7\7\243\243" + "\0\314\320\40\317\3254\320\327?\320\327@\317\3269\316\322+\245\250\24\17" + "\17\17\336\336\336\350\351\342\340\341\335\342\343\344\342\342\346\342\342" + "\345\341\341\345\354\354\356\354\354\355\202\353\353\355\23\353\353\354\351" + "\351\351\347\350\342\346\347\340\252\252\253ooo\11\11\11ee\0\277\301\22\314" + "\317\36\314\320\40\277\303\31fg\10\17\17\17\316\316\316\363\363\364\340\341" + "\333\342\342\340\342\342\345\202\341\341\345\4\340\340\344\354\354\355\353" + "\353\355\353\353\354\202\352\352\354\10\351\351\352\347\350\344\346\347\340" + "\345\346\337\272\272\273\222\222\222DDD\14\14\14\202\0\0\0\14\16\16\16__" + "_\336\336\336\362\362\364\340\341\333\340\340\334\341\342\343\341\341\345" + "\341\341\344\340\340\344\337\337\343\353\353\355\202\352\352\354\1\352\352" + "\353\202\351\351\353\24\347\350\350\346\347\343\344\345\337\344\345\336\327" + "\330\321\320\320\321\325\325\325\344\344\344\364\364\364\376\376\376\366" + "\366\367\347\350\341\337\340\333\340\340\334\340\340\341\341\341\344\340" + "\340\344\340\340\343\337\337\343\336\336\342\202\352\352\354\202\351\351" + "\353\10\350\350\353\350\350\352\347\347\352\347\347\350\345\345\345\344\345" + "\341\343\344\335\342\343\335\202\341\342\334\2\340\341\334\340\341\333\202" + "\337\340\333\2\340\340\337\340\341\342\202\340\340\344\202\337\337\343\4" + "\336\336\342\335\335\342\351\351\353\350\350\353\202\350\350\352\10\347\347" + "\352\347\347\351\346\346\351\346\346\350\345\345\350\345\345\347\343\343" + "\343\343\343\342\202\342\342\340\202\341\341\337\3\340\340\341\337\340\342" + "\340\340\344\202\337\337\343\202\336\336\342\3\335\335\341\334\334\341\334" + "\334\340\202\212\212\215\1\212\212\216\203\213\213\216\3\214\214\216\214" + "\214\217\215\215\217\202\215\215\220\202\216\216\220\1\216\216\221\202\217" + "\217\221\202\220\220\221\202\220\220\222\203\221\221\223\3\222\222\223\222" + "\222\224\223\223\224\232\232\320\25\232\230\317\25\232\227\317\24\232\242" + "\323-\232\235\317*\232\230\311&\232\222\302$\232\214\273!\232\206\264\36", +}; + diff --git a/src/image_data/gvo_banner_vid1_green.h b/src/image_data/gvo_banner_vid1_green.h new file mode 100644 index 0000000..ec2bfea --- /dev/null +++ b/src/image_data/gvo_banner_vid1_green.h @@ -0,0 +1,165 @@ +/* GIMP RGB C-Source image dump 1-byte-run-length-encoded */ + +#include "image.h" + +static const nv_image_t gvo_banner_vid1_green_image = { + 30, 60, 3, + "\236\201\221\33\236\235\257!\236\261\306&\236\301\326,\236\314\340.\236\321" + "\345/\236\324\3462\236\325\3472\274\334\3567\236\335\3578\2\355\357\341\357" + "\357\363\204\360\360\363\1\360\360\364\204\361\361\364\1\362\362\364\204" + "\362\362\365\1\363\363\365\202\363\363\366\204\364\364\366\1\364\364\367" + "\204\365\365\367\202\366\366\370\3\317\321\315\317\317\334\317\317\335\202" + "\320\320\335\202\321\321\336\2\322\322\336\322\322\337\202\323\323\337\2" + "\324\324\337\324\324\340\202\325\325\340\203\326\326\341\202\327\327\342" + "\202\330\330\342\202\331\331\343\2\332\332\343\332\332\344\202\333\333\344" + "\202\334\334\345\1\320\322\316\203\320\320\335\202\321\321\336\202\322\322" + "\336\203\323\323\337\202\324\324\340\202\325\325\340\202\326\326\341\2\327" + "\327\341\327\327\342\202\330\330\342\202\331\331\343\202\332\332\343\203" + "\333\333\344\202\334\334\345\1\321\323\316\202\321\321\335\202\321\321\336" + "\2\322\322\336\322\322\337\202\323\323\337\202\324\324\340\202\325\325\340" + "\202\326\326\341\2\327\327\341\327\327\342\202\330\330\342\203\331\331\343" + "\2\332\332\343\332\332\344\202\333\333\344\202\334\334\345\3\335\335\345" + "\335\335\346\322\324\317\202\321\321\336\2\322\322\336\322\322\337\202\323" + "\323\337\2\324\324\337\324\324\340\202\325\325\340\202\326\326\341\1\327" + "\327\341\202\327\327\342\202\330\330\342\202\331\331\343\2\332\332\343\332" + "\332\344\202\333\333\344\202\334\334\345\202\335\335\345\202\336\336\346" + "\1\323\325\317\202\322\322\336\3\323\323\337\0\0\0\251\251\262\202\324\324" + "\340\6ddi99<\16\16\17\326\326\341\327\327\341\327\327\342\202\330\330\342" + "\4\0\0\0\331\331\343\332\332\343\332\332\344\202\333\333\344\2XX\\\0\0\0" + "\202\335\335\345\1\335\335\346\202\336\336\346\2\337\337\347\324\325\320" + "\203\323\323\337\10""99<fff\335\335\346\325\325\340\35\35\36\234\234\240" + "\364\364\366\373\373\374\202\330\330\342\202\331\331\343\3\0\0\0\376\376" + "\376\332\332\344\202\333\333\344\4vv{;;=\0\0\0\376\376\376\202\336\336\346" + "\16\337\337\346\337\337\347\340\340\347\324\325\320\324\324\340\324\324\337" + "\324\324\340\216\216\225\0\0\0\356\356\362\271\271\303\0\0\0\371\371\372" + "\0\0\0\202\330\330\342\6\220\220\227\17\17\17,,.\0\0\0\376\376\376\333\333" + "\344\202\334\334\345\6\335\335\345\354\354\361\0\0\0\376\376\376\337\337" + "\346\337\337\347\202\340\340\347\2\340\340\350\324\326\320\203\325\325\340" + "\17\326\326\341\0\0\0\334\334\334eejJJM\376\376\376\0\0\0\376\376\376\331" + "\331\343\0\0\0\270\270\275\332\332\332\0\0\0\376\376\376\334\334\345\202" + "\335\335\345\202\336\336\346\5\0\0\0\376\376\376\337\337\347\340\340\347" + "\340\340\350\202\341\341\350\1\325\327\320\202\325\325\341\202\326\326\341" + "\17::<www,,.\275\275\301\362\362\365\0\0\0\376\376\376\332\332\344\0\0\0" + "\376\376\376\343\343\351\0\0\0\376\376\376\335\335\345\335\335\346\202\336" + "\336\346\4\337\337\347\0\0\0\376\376\376\340\340\347\202\341\341\350\3\342" + "\342\350\342\342\351\326\330\321\202\326\326\341\17\327\327\341\327\327\342" + "\220\220\226!!!\20\20\20\367\367\371\341\341\350\0\0\0\376\376\376\333\333" + "\344\0\0\0\376\376\376\277\277\306\0\0\0\376\376\376\202\336\336\346\7\337" + "\337\346\337\337\347\340\340\347\0\0\0\376\376\376\341\341\350\342\342\350" + "\202\342\342\351\2\343\343\351\327\331\321\202\327\327\342\203\330\330\342" + "\16\0\0\0ddd\374\374\374\332\332\344\0\0\0\376\376\376\334\334\345ggk333" + "JJM\0\0\0\376\376\376\337\337\346\0\0\0\202\340\340\347\5\340\340\350\0\0" + "\0\376\376\376\342\342\350\342\342\351\202\343\343\351\2\344\344\352\326" + "\331\322\203\330\330\342\202\331\331\343\6\332\332\343\376\376\376\360\360" + "\364\333\333\344\334\334\344\376\376\376\202\335\335\345\7\357\357\363\370" + "\370\371\363\363\366\376\376\376\337\337\347\340\340\347\376\376\376\202" + "\341\341\350\2\342\342\350\376\376\376\202\343\343\351\202\344\344\352\2" + "\345\345\352\327\331\322\203\331\331\343\2\332\332\343\332\332\344\202\333" + "\333\344\1\277\277\305\203\17\17\17\1\277\277\307\202\336\336\346\202\337" + "\337\347\202\340\340\347\202\341\341\350\2\304\304\311\342\342\351\202\343" + "\343\351\203\344\344\352\7\345\345\352\345\345\353\330\332\322\332\332\343" + "\331\331\343\332\332\343\332\332\344\202\333\333\344\10\334\334\345;;=ii" + "m\374\374\374\206\206\206333\343\343\351\337\337\347\202\340\340\347\202" + "\341\341\350\5\342\342\350\342\342\351\0\0\0\347\347\354\343\343\351\202" + "\344\344\352\2\345\345\352\345\345\353\202\346\346\353\1\331\333\322\202" + "\332\332\344\202\333\333\344\202\334\334\345\11\335\335\345\0\0\0\365\365" + "\370\357\357\363\337\337\346\0\0\0\370\370\371\340\340\347\0\0\0\202\341" + "\341\350\10\0\0\0\342\342\351jjm\0\0\0UUU\344\344\352\345\345\352\345\345" + "\353\202\346\346\353\3\347\347\353\347\347\354\331\334\323\202\333\333\344" + "\2\334\334\344\334\334\345\202\335\335\345\3\335\335\346\0\0\0\376\376\376" + "\202\337\337\347\15\0\0\0\376\376\376\341\341\350\0\0\0\376\376\376\342\342" + "\351\0\0\0\376\376\376\344\344\352\0\0\0\376\376\376\366\366\367\345\345" + "\353\202\346\346\353\202\347\347\354\2\350\350\354\332\335\323\203\334\334" + "\345\2\335\335\345\335\335\346\202\336\336\346\2\0\0\0\376\376\376\202\340" + "\340\347\13\0\0\0\376\376\376\342\342\350\0\0\0\376\376\376\343\343\351\0" + "\0\0\376\376\376\344\344\352\0\0\0\376\376\376\202\346\346\353\202\347\347" + "\354\202\350\350\354\2\351\351\355\332\335\324\202\335\335\345\1\335\335" + "\346\202\336\336\346\21\337\337\346\337\337\347--.\207\207\207\340\341\347" + "xy{,-.\375\376\375\341\342\350\0\0\0\375\376\375\265\266\272\0\0\0\375\376" + "\375\344\345\352\0\0\0\376\376\376\202\347\347\354\202\350\350\354\203\351" + "\351\355\1\332\335\324\203\336\336\346\1\337\337\346\202\337\337\347\23\340" + "\340\347\301\302\310\36\40\36\15\17\14\13\16\14\313\316\316\365\370\366\337" + "\342\345HKJ\0\0\0""9<;\0\0\0\372\375\372\343\345\350\0\0\0\20\21\20\347\347" + "\354\350\350\354\350\350\355\202\351\351\355\202\352\352\356\1\333\336\325" + "\202\336\336\346\202\337\337\347\17\340\340\347\337\340\346\336\340\345\335" + "\340\344\342\345\347\366\371\367\370\373\371\370\373\370\343\346\351\340" + "\343\346\341\344\346\361\365\362\371\375\371\363\367\364\372\375\372\202" + "\343\346\350\2\373\375\373\374\375\374\202\351\351\355\2\352\352\355\352" + "\352\356\202\353\353\356\1\334\337\324\202\337\337\347\202\340\340\347\3" + "\341\341\350\336\340\345\336\341\344\202\336\341\345\2\337\342\345\336\343" + "\344\202\337\344\344\2\340\345\344\340\345\345\202\340\346\345\7\341\347" + "\346\342\346\346\344\347\347\344\347\350\345\350\351\346\350\351\351\352" + "\354\202\352\352\356\4\353\353\356\353\353\357\354\354\357\335\340\326\202" + "\340\340\347\13\340\340\350\341\341\350\340\341\347\336\341\344\336\341\345" + "\337\342\345\336\342\344\337\344\344\336\344\344\337\345\344\337\345\345" + "\202\340\346\345\2\341\347\345\341\347\346\202\342\350\346\5\342\350\347" + "\344\350\347\345\350\351\346\351\352\350\352\354\202\353\353\356\202\354" + "\354\357\2\355\355\357\335\340\327\203\341\341\350\2\342\342\350\337\341" + "\346\202\337\342\345\2\337\343\345\337\344\344\202\337\345\344\23\253\260" + "\256LLL\16\16\16\35\35\35---<<<\200\200\200\302\307\304\343\351\347\344\352" + "\350\345\351\350\347\352\352\350\352\352\353\354\356\354\354\357\355\355" + "\357\355\355\360\356\356\360\336\341\327\202\342\342\350\3\342\342\351\342" + "\343\350\340\342\345\202\340\343\346\7\337\344\344\337\345\344\337\345\345" + "jjj\0\0\0\5\5\5\2\2\2\202\0\0\0\11\4\4\4\"\"\"]]]\246\246\247\345\353\350" + "\345\352\350\347\353\352\350\353\353\352\354\355\202\355\355\360\202\356" + "\356\360\5\337\342\330\343\343\351\342\342\351\343\343\351\342\343\350\202" + "\340\343\346\10\340\344\345\337\345\345\340\346\345[[[\0\0\0\1\13\1\0M\0" + "\0\217\0\202\0\230\0\5\0\217\0\0M\0\7\7\7ooo\277\277\277\202\346\353\351" + "\2\351\354\353\353\355\356\202\356\356\360\202\357\357\361\1\340\343\331" + "\202\343\343\351\27\344\344\352\343\344\351\341\344\346\341\344\347\341\346" + "\345\340\346\345\254\261\256\0\0\0\1\13\1\0}\0\0\230\0q\312o\243\341\237" + "\212\326\207`\303^1\2560\0}\0\11\11\11\222\222\222\332\337\333\347\354\352" + "\351\355\353\354\355\355\202\357\357\361\202\360\360\361\1\341\344\332\202" + "\344\344\352\2\345\345\352\344\345\351\202\342\345\347\7\340\346\345\341" + "\347\346LLL\5\5\5\0M\0\0\230\0\201\322\177\202\345\376\340\17\306\360\302" + "\225\333\222d\305b2\2561\0M\0DDD\324\324\324\350\355\351\351\355\353\354" + "\356\356\357\357\361\360\360\361\360\360\362\361\361\362\341\344\332\202" + "\345\345\352\30\345\345\353\345\346\352\342\345\347\343\346\350\341\347\346" + "\342\350\346\16\16\16\2\2\2\0\217\0B\265A\243\341\237\334\372\327\341\374" + "\334\310\361\304\243\341\237y\316vK\271I\32\232\31\14\14\14\325\325\325\351" + "\356\352\352\356\353\355\357\356\360\360\362\202\361\361\362\2\362\362\362" + "\342\345\334\203\346\346\353\30\346\347\353\343\346\350\344\347\350\342\350" + "\346\343\351\347\35\35\35\0\0\0\0\230\0R\274P\225\333\222\273\353\267\303" + "\357\277\265\351\261\232\335\227y\316vR\274P(\252'\0\0\0\344\344\344\352" + "\357\352\353\357\354\356\360\357\361\361\362\362\362\362\202\362\362\363" + "\1\343\346\334\202\347\347\353\2\347\347\354\346\347\353\202\344\347\350" + "\202\343\351\347\21---\0\0\0\0\230\0I\270G}\317z\232\335\226\243\341\237" + "\233\335\230\210\325\205n\311kM\272K(\252'\0\0\0\364\364\364\352\357\353" + "\354\360\354\356\360\357\202\362\362\363\3\363\363\363\363\363\364\344\347" + "\335\202\347\347\354\27\350\350\354\347\350\354\345\350\351\345\350\350\344" + "\352\347\344\352\350<<<\4\4\4\0\217\0""5\2604`\302^y\316v\202\322\200\177" + "\320|q\312o\\\301Z@\264?\36\234\35\16\16\16\376\376\376\353\360\353\355\361" + "\355\357\361\360\202\363\363\363\202\364\364\364\33\345\350\336\350\350\355" + "\350\350\354\351\351\355\350\351\354\346\351\351\346\351\352\345\352\350" + "\345\353\350\177\177\177\"\"\"\0M\0\34\244\33A\265?W\277Ua\303_`\303^V\276" + "TE\267D.\254-\11Q\11___\372\372\372\354\361\354\356\362\356\361\362\360\363" + "\363\364\203\364\364\364\1\345\350\337\203\351\351\355\26\351\352\355\346" + "\351\352\347\352\352\346\352\350\346\353\351\304\311\306]]]\7\7\7\0}\0!\247" + "\40""6\2604@\264?A\265@:\2629,\253+\24\205\24\17\17\17\336\336\336\356\364" + "\357\355\362\355\357\362\357\362\364\362\204\364\364\364\1\345\350\337\203" + "\352\352\356\4\352\353\355\350\352\353\350\353\353\350\353\352\202\347\354" + "\351\20\256\256\256ooo\11\11\11\0M\0\23\227\22\36\245\36!\247\40\32\232\31" + "\11P\10\17\17\17\316\316\316\367\367\370\355\362\355\356\363\356\360\363" + "\360\363\364\363\204\364\364\364\1\346\351\340\203\353\353\356\5\354\354" + "\357\353\354\355\350\353\353\351\354\354\350\354\352\202\350\355\351\4\276" + "\276\277\222\222\222DDD\14\14\14\202\0\0\0\10\16\16\16___\336\336\336\367" + "\367\370\355\363\355\356\363\356\360\363\357\361\363\361\203\364\364\364" + "\3\363\363\364\363\363\363\347\352\340\202\353\353\357\202\354\354\357\2" + "\354\355\356\352\354\355\202\352\355\354\20\351\356\353\351\356\352\352\357" + "\352\334\341\335\323\323\323\325\325\325\344\344\344\364\364\364\376\376" + "\376\371\371\372\357\365\360\355\363\355\356\363\356\357\363\357\360\363" + "\360\363\364\363\202\364\364\364\203\363\363\363\1\350\353\341\202\354\354" + "\357\11\355\355\357\355\355\360\356\356\360\355\356\357\354\356\355\353\356" + "\355\354\357\355\353\357\354\352\357\354\202\353\360\353\202\354\361\354" + "\3\355\362\354\355\362\355\355\363\355\202\356\363\356\5\360\363\357\360" + "\363\360\362\364\362\364\364\364\363\363\364\204\363\363\363\2\351\354\342" + "\355\355\360\202\356\356\360\203\357\357\361\6\357\360\360\356\360\360\356" + "\360\356\355\360\356\356\361\357\355\361\356\202\356\362\356\203\357\363" + "\356\5\357\363\357\360\363\357\360\363\360\361\363\361\362\363\363\205\363" + "\363\363\3\362\362\363\362\362\362z\177u\202ww\177\202xx\200\203yy\200\6" + "zz\200yz\200xz\200y{\200yz\177y{\177\202y{\200\202z|\200\4{|\200{}\201}~" + "\202~~\204\203\177\177\204\205\200\200\205\236\232\320\25\236\230\317\25" + "\236\227\317\24\236\242\323-\236\235\317*\236\230\311&\236\222\302$\236\214" + "\273!\236\206\264\36", +}; + diff --git a/src/image_data/gvo_banner_vid1_grey.h b/src/image_data/gvo_banner_vid1_grey.h new file mode 100644 index 0000000..3c43908 --- /dev/null +++ b/src/image_data/gvo_banner_vid1_grey.h @@ -0,0 +1,156 @@ +/* GIMP RGB C-Source image dump 1-byte-run-length-encoded */ + +#include "image.h" + +static const nv_image_t gvo_banner_vid1_grey_image = { + 30, 60, 3, + "\236\201\221\33\236\235\257!\236\261\306&\236\301\326,\236\314\340.\236\321" + "\345/\236\324\3462\236\325\3472\274\334\3567\236\335\3578\2\355\357\341\357" + "\357\363\204\360\360\363\1\360\360\364\204\361\361\364\1\362\362\364\204" + "\362\362\365\1\363\363\365\202\363\363\366\204\364\364\366\1\364\364\367" + "\204\365\365\367\202\366\366\370\3\317\321\315\317\317\334\317\317\335\202" + "\320\320\335\202\321\321\336\2\322\322\336\322\322\337\202\323\323\337\2" + "\324\324\337\324\324\340\202\325\325\340\203\326\326\341\202\327\327\342" + "\202\330\330\342\202\331\331\343\2\332\332\343\332\332\344\202\333\333\344" + "\202\334\334\345\1\320\322\316\203\320\320\335\202\321\321\336\202\322\322" + "\336\203\323\323\337\202\324\324\340\202\325\325\340\202\326\326\341\2\327" + "\327\341\327\327\342\202\330\330\342\202\331\331\343\202\332\332\343\203" + "\333\333\344\202\334\334\345\1\321\323\316\202\321\321\335\202\321\321\336" + "\2\322\322\336\322\322\337\202\323\323\337\202\324\324\340\202\325\325\340" + "\202\326\326\341\2\327\327\341\327\327\342\202\330\330\342\203\331\331\343" + "\2\332\332\343\332\332\344\202\333\333\344\202\334\334\345\3\335\335\345" + "\335\335\346\322\324\317\202\321\321\336\2\322\322\336\322\322\337\202\323" + "\323\337\2\324\324\337\324\324\340\202\325\325\340\202\326\326\341\1\327" + "\327\341\202\327\327\342\202\330\330\342\202\331\331\343\2\332\332\343\332" + "\332\344\202\333\333\344\202\334\334\345\202\335\335\345\202\336\336\346" + "\1\323\325\317\202\322\322\336\3\323\323\337\0\0\0\251\251\262\202\324\324" + "\340\6ddi99<\16\16\17\326\326\341\327\327\341\327\327\342\202\330\330\342" + "\4\0\0\0\331\331\343\332\332\343\332\332\344\202\333\333\344\2XX\\\0\0\0" + "\202\335\335\345\1\335\335\346\202\336\336\346\2\337\337\347\324\325\320" + "\203\323\323\337\10""99<fff\335\335\346\325\325\340\35\35\36\234\234\240" + "\364\364\366\373\373\374\202\330\330\342\202\331\331\343\3\0\0\0\376\376" + "\376\332\332\344\202\333\333\344\4vv{;;=\0\0\0\376\376\376\202\336\336\346" + "\16\337\337\346\337\337\347\340\340\347\324\325\320\324\324\340\324\324\337" + "\324\324\340\216\216\225\0\0\0\356\356\362\271\271\303\0\0\0\371\371\372" + "\0\0\0\202\330\330\342\6\220\220\227\17\17\17,,.\0\0\0\376\376\376\333\333" + "\344\202\334\334\345\6\335\335\345\354\354\361\0\0\0\376\376\376\337\337" + "\346\337\337\347\202\340\340\347\2\340\340\350\324\326\320\203\325\325\340" + "\17\326\326\341\0\0\0\334\334\334eejJJM\376\376\376\0\0\0\376\376\376\331" + "\331\343\0\0\0\270\270\275\332\332\332\0\0\0\376\376\376\334\334\345\202" + "\335\335\345\202\336\336\346\5\0\0\0\376\376\376\337\337\347\340\340\347" + "\340\340\350\202\341\341\350\1\325\327\320\202\325\325\341\202\326\326\341" + "\17::<www,,.\275\275\301\362\362\365\0\0\0\376\376\376\332\332\344\0\0\0" + "\376\376\376\343\343\351\0\0\0\376\376\376\335\335\345\335\335\346\202\336" + "\336\346\4\337\337\347\0\0\0\376\376\376\340\340\347\202\341\341\350\3\342" + "\342\350\342\342\351\326\330\321\202\326\326\341\17\327\327\341\327\327\342" + "\220\220\226!!!\20\20\20\367\367\371\341\341\350\0\0\0\376\376\376\333\333" + "\344\0\0\0\376\376\376\277\277\306\0\0\0\376\376\376\202\336\336\346\7\337" + "\337\346\337\337\347\340\340\347\0\0\0\376\376\376\341\341\350\342\342\350" + "\202\342\342\351\2\343\343\351\327\331\321\202\327\327\342\203\330\330\342" + "\16\0\0\0ddd\374\374\374\332\332\344\0\0\0\376\376\376\334\334\345ggk333" + "JJM\0\0\0\376\376\376\337\337\346\0\0\0\202\340\340\347\5\340\340\350\0\0" + "\0\376\376\376\342\342\350\342\342\351\202\343\343\351\2\344\344\352\326" + "\331\322\203\330\330\342\202\331\331\343\6\332\332\343\376\376\376\360\360" + "\364\333\333\344\334\334\344\376\376\376\202\335\335\345\7\357\357\363\370" + "\370\371\363\363\366\376\376\376\337\337\347\340\340\347\376\376\376\202" + "\341\341\350\2\342\342\350\376\376\376\202\343\343\351\202\344\344\352\2" + "\345\345\352\327\331\322\203\331\331\343\2\332\332\343\332\332\344\202\333" + "\333\344\1\277\277\305\203\17\17\17\1\277\277\307\202\336\336\346\202\337" + "\337\347\202\340\340\347\202\341\341\350\2\304\304\311\342\342\351\202\343" + "\343\351\203\344\344\352\7\345\345\352\345\345\353\330\332\322\332\332\343" + "\331\331\343\332\332\343\332\332\344\202\333\333\344\10\334\334\345;;=ii" + "m\374\374\374\206\206\206333\343\343\351\337\337\347\202\340\340\347\202" + "\341\341\350\5\342\342\350\342\342\351\0\0\0\347\347\354\343\343\351\202" + "\344\344\352\2\345\345\352\345\345\353\202\346\346\353\1\331\333\322\202" + "\332\332\344\202\333\333\344\202\334\334\345\11\335\335\345\0\0\0\365\365" + "\370\357\357\363\337\337\346\0\0\0\370\370\371\340\340\347\0\0\0\202\341" + "\341\350\10\0\0\0\342\342\351jjm\0\0\0UUU\344\344\352\345\345\352\345\345" + "\353\202\346\346\353\3\347\347\353\347\347\354\331\334\323\202\333\333\344" + "\2\334\334\344\334\334\345\202\335\335\345\3\335\335\346\0\0\0\376\376\376" + "\202\337\337\347\15\0\0\0\376\376\376\341\341\350\0\0\0\376\376\376\342\342" + "\351\0\0\0\376\376\376\344\344\352\0\0\0\376\376\376\366\366\367\345\345" + "\353\202\346\346\353\202\347\347\354\2\350\350\354\332\335\323\203\334\334" + "\345\2\335\335\345\335\335\346\202\336\336\346\2\0\0\0\376\376\376\202\340" + "\340\347\13\0\0\0\376\376\376\342\342\350\0\0\0\376\376\376\343\343\351\0" + "\0\0\376\376\376\344\344\352\0\0\0\376\376\376\202\346\346\353\202\347\347" + "\354\202\350\350\354\2\351\351\355\332\335\324\202\335\335\345\1\335\335" + "\346\202\336\336\346\21\337\337\346\337\337\347--.\207\207\207\341\341\350" + "yy|--/\376\376\376\342\342\351\0\0\0\376\376\376\266\266\273\0\0\0\376\376" + "\376\345\345\353\0\0\0\376\376\376\202\347\347\354\202\350\350\354\203\351" + "\351\355\1\332\335\324\203\336\336\346\1\337\337\346\202\337\337\347\23\340" + "\340\347\302\302\311!!!\20\20\20\17\17\20\317\317\322\371\371\372\343\343" + "\351LLN\0\0\0==?\0\0\0\376\376\376\346\346\353\0\0\0\21\21\21\347\347\354" + "\350\350\354\350\350\355\202\351\351\355\202\352\352\356\1\333\336\325\202" + "\336\336\346\202\337\337\347\202\340\340\347\202\341\341\350\2\346\346\353" + "\372\372\373\202\374\374\375\7\347\347\355\344\344\352\345\345\352\366\366" + "\367\376\376\376\370\370\371\376\376\376\202\347\347\354\2\376\376\376\375" + "\375\375\202\351\351\355\2\352\352\355\352\352\356\202\353\353\356\1\334" + "\337\324\202\337\337\347\202\340\340\347\202\341\341\350\1\342\342\350\202" + "\342\342\351\202\343\343\351\202\344\344\352\2\345\345\352\345\345\353\202" + "\346\346\353\202\347\347\354\202\350\350\354\202\351\351\355\1\352\352\355" + "\202\352\352\356\4\353\353\356\353\353\357\354\354\357\335\340\326\202\340" + "\340\347\1\340\340\350\202\341\341\350\2\342\342\350\342\342\351\202\343" + "\343\351\202\344\344\352\2\345\345\352\345\345\353\202\346\346\353\2\347" + "\347\353\347\347\354\202\350\350\354\1\350\350\355\202\351\351\355\202\352" + "\352\356\202\353\353\356\202\354\354\357\2\355\355\357\335\340\327\203\341" + "\341\350\2\342\342\350\342\342\351\202\343\343\351\202\344\344\352\202\345" + "\345\352\11\254\254\260HHI\16\16\16\35\35\35---<<<||}\305\305\310\351\351" + "\355\202\352\352\356\202\353\353\356\202\354\354\357\4\355\355\357\355\355" + "\360\356\356\360\336\341\327\202\342\342\350\1\342\342\351\202\343\343\351" + "\203\344\344\352\6\345\345\352\345\345\353eeg\0\0\0\5\5\5\2\2\2\202\0\0\0" + "\4\4\4\4\"\"\"]]]\243\243\245\202\353\353\356\203\354\354\357\202\355\355" + "\360\202\356\356\360\3\337\342\330\343\343\351\342\342\351\202\343\343\351" + "\202\344\344\352\10\345\345\352\345\345\353\346\346\353VVX\0\0\0\11\11\11" + ";;;ooo\202ttt\5ooo;;;\7\7\7ooo\274\274\275\202\354\354\357\2\355\355\357" + "\355\355\360\202\356\356\360\202\357\357\361\1\340\343\331\202\343\343\351" + "\202\344\344\352\2\345\345\352\345\345\353\202\346\346\353\17\255\255\260" + "\0\0\0\11\11\11aaasss\244\260\241\272\313\267\257\275\254\234\246\232\207" + "\214\206aaa\11\11\11\222\222\222\337\337\341\355\355\360\202\356\356\360" + "\202\357\357\361\202\360\360\361\1\341\344\332\202\344\344\352\202\345\345" + "\352\203\346\346\353\6\347\347\354HHI\5\5\5;;;sss\253\271\250\202\327\357" + "\322\7\311\337\305\264\304\261\236\251\234\210\215\207;;;DDD\322\322\323" + "\202\356\356\360\202\357\357\361\4\360\360\361\360\360\362\361\361\362\341" + "\344\332\202\345\345\352\1\345\345\353\202\346\346\353\202\347\347\354\17" + "\350\350\354\16\16\16\2\2\2ooo\217\226\215\272\313\267\323\352\316\325\355" + "\320\312\340\306\272\313\267\247\264\244\223\233\221{~z\14\14\14\325\325" + "\325\202\357\357\361\2\360\360\361\360\360\362\202\361\361\362\2\362\362" + "\362\342\345\334\203\346\346\353\202\347\347\354\202\350\350\354\21\351\351" + "\355\35\35\35\0\0\0ttt\226\237\224\264\304\261\304\331\300\310\335\303\302" + "\325\276\267\307\263\247\264\245\226\237\224\205\211\204\0\0\0\344\344\344" + "\360\360\361\360\360\362\202\361\361\362\1\362\362\362\202\362\362\363\1" + "\343\346\334\202\347\347\353\202\347\347\354\2\350\350\354\350\350\355\202" + "\351\351\355\17---\0\0\0ttt\222\232\220\251\267\246\266\306\263\272\313\267" + "\267\307\264\256\274\253\242\256\240\223\234\222\205\211\204\0\0\0\364\364" + "\364\360\360\362\202\361\361\362\202\362\362\363\3\363\363\363\363\363\364" + "\344\347\335\202\347\347\354\2\350\350\354\350\350\355\202\351\351\355\21" + "\352\352\355\352\352\356<<<\4\4\4ooo\211\217\210\234\246\232\247\264\245" + "\254\272\251\252\270\247\244\260\241\232\244\230\216\225\214|\177|\16\16" + "\16\376\376\376\361\361\362\202\362\362\363\202\363\363\363\202\364\364\364" + "\3\345\350\336\350\350\355\350\350\354\202\351\351\355\2\352\352\355\352" + "\352\356\202\353\353\356\17}}~\"\"\";;;\177\201~\216\225\215\230\242\226" + "\235\247\232\234\247\232\230\241\226\220\227\216\206\213\205?@?___\372\372" + "\372\362\362\363\202\363\363\363\1\363\363\364\203\364\364\364\1\345\350" + "\337\203\351\351\355\202\352\352\356\202\353\353\356\21\354\354\357\307\307" + "\312]]]\7\7\7aaa\200\203\200\211\217\210\216\225\214\216\225\215\213\221" + "\212\205\211\204jki\17\17\17\336\336\336\365\365\366\363\363\363\363\363" + "\364\205\364\364\364\1\345\350\337\203\352\352\356\202\353\353\356\202\354" + "\354\357\17\355\355\357\355\355\360\254\254\255ooo\11\11\11;;;wyv\201\204" + "\200\202\205\201z}z>?>\17\17\17\316\316\316\371\371\371\363\363\364\207\364" + "\364\364\1\346\351\340\203\353\353\356\203\354\354\357\202\355\355\360\202" + "\356\356\360\4\275\275\276\222\222\222DDD\14\14\14\202\0\0\0\4\16\16\16_" + "__\336\336\336\371\371\371\207\364\364\364\3\363\363\364\363\363\363\347" + "\352\340\202\353\353\357\202\354\354\357\2\355\355\357\355\355\360\202\356" + "\356\360\202\357\357\361\11\360\360\361\341\341\343\323\323\324\325\325\325" + "\344\344\344\364\364\364\376\376\376\373\373\373\366\366\367\207\364\364" + "\364\203\363\363\363\1\350\353\341\202\354\354\357\2\355\355\357\355\355" + "\360\202\356\356\360\202\357\357\361\202\360\360\361\1\360\360\362\202\361" + "\361\362\202\362\362\363\2\363\363\363\363\363\364\207\364\364\364\1\363" + "\363\364\204\363\363\363\2\351\354\342\355\355\360\202\356\356\360\203\357" + "\357\361\2\360\360\361\360\360\362\202\361\361\362\202\362\362\363\2\363" + "\363\363\363\363\364\207\364\364\364\1\363\363\364\205\363\363\363\3\362" + "\362\363\362\362\362z\177u\202ww\177\202xx\200\203yy\200\202zz\200\1zz\201" + "\202{{\201\1||\201\202||\202\203}}\202\3}}\203~~\203~~\204\203\177\177\204" + "\205\200\200\205\236\232\320\25\236\230\317\25\236\227\317\24\236\242\323" + "-\236\235\317*\236\230\311&\236\222\302$\236\214\273!\236\206\264\36", +}; + diff --git a/src/image_data/gvo_banner_vid1_red.h b/src/image_data/gvo_banner_vid1_red.h new file mode 100644 index 0000000..6133f09 --- /dev/null +++ b/src/image_data/gvo_banner_vid1_red.h @@ -0,0 +1,163 @@ +/* GIMP RGB C-Source image dump 1-byte-run-length-encoded */ + +#include "image.h" + +static const nv_image_t gvo_banner_vid1_red_image = { + 30, 60, 3, + "\236\201\221\33\236\235\257!\236\261\306&\236\301\326,\236\314\340.\236\321" + "\345/\236\324\3462\236\325\3472\274\334\3567\236\335\3578\2\355\357\341\357" + "\357\363\204\360\360\363\1\360\360\364\204\361\361\364\1\362\362\364\204" + "\362\362\365\1\363\363\365\202\363\363\366\204\364\364\366\1\364\364\367" + "\204\365\365\367\202\366\366\370\3\317\321\315\317\317\334\317\317\335\202" + "\320\320\335\202\321\321\336\2\322\322\336\322\322\337\202\323\323\337\2" + "\324\324\337\324\324\340\202\325\325\340\203\326\326\341\202\327\327\342" + "\202\330\330\342\202\331\331\343\2\332\332\343\332\332\344\202\333\333\344" + "\202\334\334\345\1\320\322\316\203\320\320\335\202\321\321\336\202\322\322" + "\336\203\323\323\337\202\324\324\340\202\325\325\340\202\326\326\341\2\327" + "\327\341\327\327\342\202\330\330\342\202\331\331\343\202\332\332\343\203" + "\333\333\344\202\334\334\345\1\321\323\316\202\321\321\335\202\321\321\336" + "\2\322\322\336\322\322\337\202\323\323\337\202\324\324\340\202\325\325\340" + "\202\326\326\341\2\327\327\341\327\327\342\202\330\330\342\203\331\331\343" + "\2\332\332\343\332\332\344\202\333\333\344\202\334\334\345\3\335\335\345" + "\335\335\346\322\324\317\202\321\321\336\2\322\322\336\322\322\337\202\323" + "\323\337\2\324\324\337\324\324\340\202\325\325\340\202\326\326\341\1\327" + "\327\341\202\327\327\342\202\330\330\342\202\331\331\343\2\332\332\343\332" + "\332\344\202\333\333\344\202\334\334\345\202\335\335\345\202\336\336\346" + "\1\323\325\317\202\322\322\336\3\323\323\337\0\0\0\251\251\262\202\324\324" + "\340\6ddi99<\16\16\17\326\326\341\327\327\341\327\327\342\202\330\330\342" + "\4\0\0\0\331\331\343\332\332\343\332\332\344\202\333\333\344\2XX\\\0\0\0" + "\202\335\335\345\1\335\335\346\202\336\336\346\2\337\337\347\324\325\320" + "\203\323\323\337\10""99<fff\335\335\346\325\325\340\35\35\36\234\234\240" + "\364\364\366\373\373\374\202\330\330\342\202\331\331\343\3\0\0\0\376\376" + "\376\332\332\344\202\333\333\344\4vv{;;=\0\0\0\376\376\376\202\336\336\346" + "\16\337\337\346\337\337\347\340\340\347\324\325\320\324\324\340\324\324\337" + "\324\324\340\216\216\225\0\0\0\356\356\362\271\271\303\0\0\0\371\371\372" + "\0\0\0\202\330\330\342\6\220\220\227\17\17\17,,.\0\0\0\376\376\376\333\333" + "\344\202\334\334\345\6\335\335\345\354\354\361\0\0\0\376\376\376\337\337" + "\346\337\337\347\202\340\340\347\2\340\340\350\324\326\320\203\325\325\340" + "\17\326\326\341\0\0\0\334\334\334eejJJM\376\376\376\0\0\0\376\376\376\331" + "\331\343\0\0\0\270\270\275\332\332\332\0\0\0\376\376\376\334\334\345\202" + "\335\335\345\202\336\336\346\5\0\0\0\376\376\376\337\337\347\340\340\347" + "\340\340\350\202\341\341\350\1\325\327\320\202\325\325\341\202\326\326\341" + "\17::<www,,.\275\275\301\362\362\365\0\0\0\376\376\376\332\332\344\0\0\0" + "\376\376\376\343\343\351\0\0\0\376\376\376\335\335\345\335\335\346\202\336" + "\336\346\4\337\337\347\0\0\0\376\376\376\340\340\347\202\341\341\350\3\342" + "\342\350\342\342\351\326\330\321\202\326\326\341\17\327\327\341\327\327\342" + "\220\220\226!!!\20\20\20\367\367\371\341\341\350\0\0\0\376\376\376\333\333" + "\344\0\0\0\376\376\376\277\277\306\0\0\0\376\376\376\202\336\336\346\7\337" + "\337\346\337\337\347\340\340\347\0\0\0\376\376\376\341\341\350\342\342\350" + "\202\342\342\351\2\343\343\351\327\331\321\202\327\327\342\203\330\330\342" + "\16\0\0\0ddd\374\374\374\332\332\344\0\0\0\376\376\376\334\334\345ggk333" + "JJM\0\0\0\376\376\376\337\337\346\0\0\0\202\340\340\347\5\340\340\350\0\0" + "\0\376\376\376\342\342\350\342\342\351\202\343\343\351\2\344\344\352\326" + "\331\322\203\330\330\342\202\331\331\343\6\332\332\343\376\376\376\360\360" + "\364\333\333\344\334\334\344\376\376\376\202\335\335\345\7\357\357\363\370" + "\370\371\363\363\366\376\376\376\337\337\347\340\340\347\376\376\376\202" + "\341\341\350\2\342\342\350\376\376\376\202\343\343\351\202\344\344\352\2" + "\345\345\352\327\331\322\203\331\331\343\2\332\332\343\332\332\344\202\333" + "\333\344\1\277\277\305\203\17\17\17\1\277\277\307\202\336\336\346\202\337" + "\337\347\202\340\340\347\202\341\341\350\2\304\304\311\342\342\351\202\343" + "\343\351\203\344\344\352\7\345\345\352\345\345\353\330\332\322\332\332\343" + "\331\331\343\332\332\343\332\332\344\202\333\333\344\10\334\334\345;;=ii" + "m\374\374\374\206\206\206333\343\343\351\337\337\347\202\340\340\347\202" + "\341\341\350\5\342\342\350\342\342\351\0\0\0\347\347\354\343\343\351\202" + "\344\344\352\2\345\345\352\345\345\353\202\346\346\353\1\331\333\322\202" + "\332\332\344\202\333\333\344\202\334\334\345\11\335\335\345\0\0\0\365\365" + "\370\357\357\363\337\337\346\0\0\0\370\370\371\340\340\347\0\0\0\202\341" + "\341\350\10\0\0\0\342\342\351jjm\0\0\0UUU\344\344\352\345\345\352\345\345" + "\353\202\346\346\353\3\347\347\353\347\347\354\331\334\323\202\333\333\344" + "\2\334\334\344\334\334\345\202\335\335\345\3\335\335\346\0\0\0\376\376\376" + "\202\337\337\347\15\0\0\0\376\376\376\341\341\350\0\0\0\376\376\376\342\342" + "\351\0\0\0\376\376\376\344\344\352\0\0\0\376\376\376\366\366\367\345\345" + "\353\202\346\346\353\202\347\347\354\2\350\350\354\332\335\323\203\334\334" + "\345\2\335\335\345\335\335\346\202\336\336\346\2\0\0\0\376\376\376\202\340" + "\340\347\13\0\0\0\376\376\376\342\342\350\0\0\0\376\376\376\343\343\351\0" + "\0\0\376\376\376\344\344\352\0\0\0\376\376\376\202\346\346\353\202\347\347" + "\354\202\350\350\354\2\351\351\355\332\335\324\202\335\335\345\1\335\335" + "\346\202\336\336\346\21\337\337\346\337\337\347--.\207\207\207\341\341\350" + "yy|-,.\376\375\375\342\341\350\0\0\0\376\375\375\266\265\272\0\0\0\376\376" + "\376\345\345\353\0\0\0\376\376\376\202\347\347\354\202\350\350\354\203\351" + "\351\355\1\332\335\324\203\336\336\346\1\337\337\346\202\337\337\347\23\340" + "\340\347\302\301\310!\40\40\20\16\16\17\15\16\317\315\320\371\367\370\343" + "\341\347LJL\0\0\0=;=\0\0\0\376\374\374\346\345\352\0\0\0\21\21\21\347\347" + "\354\350\350\354\350\350\355\202\351\351\355\202\352\352\356\1\333\336\325" + "\202\336\336\346\202\337\337\347\202\340\340\347\4\341\340\347\341\337\346" + "\346\344\351\372\370\371\202\374\372\373\7\347\345\353\344\342\350\345\343" + "\350\366\364\365\376\374\374\370\366\367\376\374\374\202\347\345\352\2\376" + "\375\375\375\374\374\202\351\351\355\2\352\352\355\352\352\356\202\353\353" + "\356\1\334\337\324\202\337\337\347\202\340\340\347\3\341\341\350\341\340" + "\347\342\340\346\202\342\340\347\6\343\341\347\344\341\347\345\342\350\345" + "\343\350\346\343\350\346\343\351\202\347\344\351\202\350\345\352\202\350" + "\346\352\202\351\347\353\1\352\352\355\202\352\352\356\4\353\353\356\353" + "\353\357\354\354\357\335\340\326\202\340\340\347\13\340\340\350\341\341\350" + "\341\340\347\342\340\346\342\340\347\343\341\347\344\341\347\345\342\350" + "\346\343\350\347\343\350\347\343\351\202\350\344\351\2\350\345\351\350\345" + "\352\202\351\346\352\5\351\346\353\352\347\353\351\347\353\352\350\354\352" + "\351\355\202\353\353\356\202\354\354\357\2\355\355\357\335\340\327\203\341" + "\341\350\2\342\342\350\342\341\350\202\343\341\347\2\345\342\350\346\343" + "\350\202\347\343\350\11\262\256\262GGH\16\16\16\35\35\35---<<<yy{\311\305" + "\310\352\347\353\202\353\350\354\202\353\351\354\202\354\354\357\4\355\355" + "\357\355\355\360\356\356\360\336\341\327\202\342\342\350\3\342\342\351\343" + "\343\351\343\341\347\202\344\342\350\7\345\342\350\347\343\350\347\343\351" + "cce\0\0\0\5\5\5\2\2\2\202\0\0\0\4\4\4\4\"\"\"]]]\237\237\240\202\354\351" + "\354\202\354\352\355\1\354\353\356\202\355\355\360\202\356\356\360\3\337" + "\342\330\343\343\351\342\342\351\202\343\343\351\202\344\342\350\10\346\343" + "\350\347\343\351\350\344\351UUV\0\0\0\21\1\1\200\0\0\357\0\0\202\376\0\0" + "\11\357\0\0\200\0\0\7\7\7ooo\265\265\267\355\352\354\355\352\355\355\353" + "\355\355\354\357\202\356\356\360\202\357\357\361\1\340\343\331\202\343\343" + "\351\27\344\344\352\344\343\351\345\343\350\345\343\351\347\344\351\350\344" + "\351\263\257\262\0\0\0\21\1\1\317\0\0\376\0\0\376\230\230\376\315\315\376" + "\264\264\376\203\203\376GG\317\0\0\11\11\11\222\222\222\341\336\340\356\353" + "\355\356\354\356\356\355\357\202\357\357\361\202\360\360\361\1\341\344\332" + "\202\344\344\352\2\345\345\352\345\344\351\202\346\344\351\7\347\344\351" + "\350\345\352FFG\5\5\5\200\0\0\376\0\0\376\252\252\202\376\376\376\17\376" + "\352\352\376\300\300\376\210\210\376II\200\0\0DDD\314\314\316\357\354\355" + "\356\354\356\357\356\360\357\357\361\360\360\361\360\360\362\361\361\362" + "\341\344\332\202\345\345\352\30\345\345\353\346\345\352\346\344\351\347\345" + "\352\350\345\352\351\346\352\16\16\16\2\2\2\357\0\0\376^^\376\314\314\376" + "\367\367\376\372\372\376\353\353\376\314\314\376\240\240\376jj\357''\14\14" + "\14\325\325\325\360\354\356\357\355\357\360\357\360\360\360\362\202\361\361" + "\362\2\362\362\362\342\345\334\203\346\346\353\30\347\346\353\347\345\352" + "\350\346\352\351\346\352\352\347\353\35\35\35\0\0\0\376\0\0\376rr\376\300" + "\300\376\342\342\376\350\350\376\335\335\376\305\305\376\240\240\376rr\376" + "::\0\0\0\344\344\344\361\355\356\360\356\360\361\360\361\361\361\362\362" + "\362\362\202\362\362\363\1\343\346\334\202\347\347\353\4\347\347\354\347" + "\346\353\350\346\352\350\346\353\202\352\347\353\21---\0\0\0\376\0\0\376" + "gg\376\245\245\376\304\304\376\314\314\376\305\305\376\262\262\376\223\223" + "\376ll\376::\0\0\0\364\364\364\361\355\357\361\357\360\361\360\361\202\362" + "\362\363\3\363\363\363\363\363\364\344\347\335\202\347\347\354\2\350\350" + "\354\350\347\354\202\351\347\353\23\353\350\353\353\350\354<<<\4\4\4\357" + "\0\0\376LL\376\203\203\376\240\240\376\253\253\376\247\247\376\230\230\376" + "\177\177\376[[\357,,\16\16\16\376\376\376\362\356\357\362\360\361\362\361" + "\362\202\363\363\363\202\364\364\364\7\345\350\336\350\350\355\350\350\354" + "\351\351\355\351\350\354\352\350\353\352\350\354\202\354\351\354\22yyz\"" + "\"\"\200\0\0\376))\376\\\\\376yy\376\205\205\376\203\203\376xx\376bb\376" + "CC\200\16\16___\361\361\363\363\357\360\363\361\361\363\362\362\363\363\364" + "\203\364\364\364\1\345\350\337\203\351\351\355\26\352\352\356\352\350\354" + "\353\351\354\354\351\354\355\352\354\313\307\312]]]\7\7\7\317\0\0\37600\376" + "MM\376[[\376\\\\\376SS\376@@\317\35\35\17\17\17\336\336\336\366\362\363\364" + "\360\360\363\361\362\364\363\363\204\364\364\364\1\345\350\337\203\352\352" + "\356\2\353\353\356\353\352\355\202\354\352\355\202\356\353\355\15\243\243" + "\245ooo\11\11\11\200\0\0\357\33\33\376--\37600\357''\200\15\15\17\17\17\316" + "\316\316\353\353\356\364\360\361\202\364\362\362\1\364\363\363\204\364\364" + "\364\1\346\351\340\203\353\353\356\5\354\354\357\354\353\356\354\352\355" + "\355\353\356\356\353\356\202\357\354\355\4\263\263\265\222\222\222DDD\14" + "\14\14\202\0\0\0\4\16\16\16___\336\336\336\353\353\356\202\365\361\361\2" + "\364\362\362\364\363\363\203\364\364\364\3\363\363\364\363\363\363\347\352" + "\340\202\353\353\357\202\354\354\357\2\355\355\357\355\354\357\202\356\354" + "\356\13\360\355\357\360\355\356\361\355\356\343\340\342\313\313\315\325\325" + "\325\344\344\344\364\364\364\376\376\376\361\361\363\367\363\364\202\365" + "\361\361\202\364\362\362\1\364\363\363\202\364\364\364\203\363\363\363\1" + "\350\353\341\202\354\354\357\4\355\355\357\355\355\360\356\356\360\356\355" + "\357\202\357\355\357\202\360\356\357\1\361\356\357\202\362\356\357\202\363" + "\357\360\2\364\360\360\364\360\361\202\365\361\361\203\364\362\362\3\364" + "\363\363\364\364\364\363\363\364\204\363\363\363\2\351\354\342\355\355\360" + "\202\356\356\360\203\357\357\361\2\360\360\361\360\357\361\202\361\357\360" + "\202\362\360\361\2\363\361\361\363\361\362\206\364\362\362\2\364\363\363" + "\363\362\363\205\363\363\363\3\362\362\363\362\362\362z\177u\202ww\177\202" + "xx\200\203yy\200\202zz\200\1zy\200\202{z\200\1|{\200\202|{\201\203}|\201" + "\3}|\202~}\202~~\204\203\177\177\204\205\200\200\205\236\232\320\25\236\230" + "\317\25\236\227\317\24\236\242\323-\236\235\317*\236\230\311&\236\222\302" + "$\236\214\273!\236\206\264\36", +}; + diff --git a/src/image_data/gvo_banner_vid1_yellow.h b/src/image_data/gvo_banner_vid1_yellow.h new file mode 100644 index 0000000..d988af3 --- /dev/null +++ b/src/image_data/gvo_banner_vid1_yellow.h @@ -0,0 +1,163 @@ +/* GIMP RGB C-Source image dump 1-byte-run-length-encoded */ + +#include "image.h" + +static const nv_image_t gvo_banner_vid1_yellow_image = { + 30, 60, 3, + "\236\201\221\33\236\235\257!\236\261\306&\236\301\326,\236\314\340.\236\321" + "\345/\236\324\3462\236\325\3472\274\334\3567\236\335\3578\2\355\357\341\357" + "\357\363\204\360\360\363\1\360\360\364\204\361\361\364\1\362\362\364\204" + "\362\362\365\1\363\363\365\202\363\363\366\204\364\364\366\1\364\364\367" + "\204\365\365\367\202\366\366\370\3\317\321\315\317\317\334\317\317\335\202" + "\320\320\335\202\321\321\336\2\322\322\336\322\322\337\202\323\323\337\2" + "\324\324\337\324\324\340\202\325\325\340\203\326\326\341\202\327\327\342" + "\202\330\330\342\202\331\331\343\2\332\332\343\332\332\344\202\333\333\344" + "\202\334\334\345\1\320\322\316\203\320\320\335\202\321\321\336\202\322\322" + "\336\203\323\323\337\202\324\324\340\202\325\325\340\202\326\326\341\2\327" + "\327\341\327\327\342\202\330\330\342\202\331\331\343\202\332\332\343\203" + "\333\333\344\202\334\334\345\1\321\323\316\202\321\321\335\202\321\321\336" + "\2\322\322\336\322\322\337\202\323\323\337\202\324\324\340\202\325\325\340" + "\202\326\326\341\2\327\327\341\327\327\342\202\330\330\342\203\331\331\343" + "\2\332\332\343\332\332\344\202\333\333\344\202\334\334\345\3\335\335\345" + "\335\335\346\322\324\317\202\321\321\336\2\322\322\336\322\322\337\202\323" + "\323\337\2\324\324\337\324\324\340\202\325\325\340\202\326\326\341\1\327" + "\327\341\202\327\327\342\202\330\330\342\202\331\331\343\2\332\332\343\332" + "\332\344\202\333\333\344\202\334\334\345\202\335\335\345\202\336\336\346" + "\1\323\325\317\202\322\322\336\3\323\323\337\0\0\0\251\251\262\202\324\324" + "\340\6ddi99<\16\16\17\326\326\341\327\327\341\327\327\342\202\330\330\342" + "\4\0\0\0\331\331\343\332\332\343\332\332\344\202\333\333\344\2XX\\\0\0\0" + "\202\335\335\345\1\335\335\346\202\336\336\346\2\337\337\347\324\325\320" + "\203\323\323\337\10""99<fff\335\335\346\325\325\340\35\35\36\234\234\240" + "\364\364\366\373\373\374\202\330\330\342\202\331\331\343\3\0\0\0\376\376" + "\376\332\332\344\202\333\333\344\4vv{;;=\0\0\0\376\376\376\202\336\336\346" + "\16\337\337\346\337\337\347\340\340\347\324\325\320\324\324\340\324\324\337" + "\324\324\340\216\216\225\0\0\0\356\356\362\271\271\303\0\0\0\371\371\372" + "\0\0\0\202\330\330\342\6\220\220\227\17\17\17,,.\0\0\0\376\376\376\333\333" + "\344\202\334\334\345\6\335\335\345\354\354\361\0\0\0\376\376\376\337\337" + "\346\337\337\347\202\340\340\347\2\340\340\350\324\326\320\203\325\325\340" + "\17\326\326\341\0\0\0\334\334\334eejJJM\376\376\376\0\0\0\376\376\376\331" + "\331\343\0\0\0\270\270\275\332\332\332\0\0\0\376\376\376\334\334\345\202" + "\335\335\345\202\336\336\346\5\0\0\0\376\376\376\337\337\347\340\340\347" + "\340\340\350\202\341\341\350\1\325\327\320\202\325\325\341\202\326\326\341" + "\17::<www,,.\275\275\301\362\362\365\0\0\0\376\376\376\332\332\344\0\0\0" + "\376\376\376\343\343\351\0\0\0\376\376\376\335\335\345\335\335\346\202\336" + "\336\346\4\337\337\347\0\0\0\376\376\376\340\340\347\202\341\341\350\3\342" + "\342\350\342\342\351\326\330\321\202\326\326\341\17\327\327\341\327\327\342" + "\220\220\226!!!\20\20\20\367\367\371\341\341\350\0\0\0\376\376\376\333\333" + "\344\0\0\0\376\376\376\277\277\306\0\0\0\376\376\376\202\336\336\346\7\337" + "\337\346\337\337\347\340\340\347\0\0\0\376\376\376\341\341\350\342\342\350" + "\202\342\342\351\2\343\343\351\327\331\321\202\327\327\342\203\330\330\342" + "\16\0\0\0ddd\374\374\374\332\332\344\0\0\0\376\376\376\334\334\345ggk333" + "JJM\0\0\0\376\376\376\337\337\346\0\0\0\202\340\340\347\5\340\340\350\0\0" + "\0\376\376\376\342\342\350\342\342\351\202\343\343\351\2\344\344\352\326" + "\331\322\203\330\330\342\202\331\331\343\6\332\332\343\376\376\376\360\360" + "\364\333\333\344\334\334\344\376\376\376\202\335\335\345\7\357\357\363\370" + "\370\371\363\363\366\376\376\376\337\337\347\340\340\347\376\376\376\202" + "\341\341\350\2\342\342\350\376\376\376\202\343\343\351\202\344\344\352\2" + "\345\345\352\327\331\322\203\331\331\343\2\332\332\343\332\332\344\202\333" + "\333\344\1\277\277\305\203\17\17\17\1\277\277\307\202\336\336\346\202\337" + "\337\347\202\340\340\347\202\341\341\350\2\304\304\311\342\342\351\202\343" + "\343\351\203\344\344\352\7\345\345\352\345\345\353\330\332\322\332\332\343" + "\331\331\343\332\332\343\332\332\344\202\333\333\344\10\334\334\345;;=ii" + "m\374\374\374\206\206\206333\343\343\351\337\337\347\202\340\340\347\202" + "\341\341\350\5\342\342\350\342\342\351\0\0\0\347\347\354\343\343\351\202" + "\344\344\352\2\345\345\352\345\345\353\202\346\346\353\1\331\333\322\202" + "\332\332\344\202\333\333\344\202\334\334\345\11\335\335\345\0\0\0\365\365" + "\370\357\357\363\337\337\346\0\0\0\370\370\371\340\340\347\0\0\0\202\341" + "\341\350\10\0\0\0\342\342\351jjm\0\0\0UUU\344\344\352\345\345\352\345\345" + "\353\202\346\346\353\3\347\347\353\347\347\354\331\334\323\202\333\333\344" + "\2\334\334\344\334\334\345\202\335\335\345\3\335\335\346\0\0\0\376\376\376" + "\202\337\337\347\15\0\0\0\376\376\376\341\341\350\0\0\0\376\376\376\342\342" + "\351\0\0\0\376\376\376\344\344\352\0\0\0\376\376\376\366\366\367\345\345" + "\353\202\346\346\353\202\347\347\354\2\350\350\354\332\335\323\203\334\334" + "\345\2\335\335\345\335\335\346\202\336\336\346\2\0\0\0\376\376\376\202\340" + "\340\347\13\0\0\0\376\376\376\342\342\350\0\0\0\376\376\376\343\343\351\0" + "\0\0\376\376\376\344\344\352\0\0\0\376\376\376\202\346\346\353\202\347\347" + "\354\202\350\350\354\2\351\351\355\332\335\324\202\335\335\345\1\335\335" + "\346\202\336\336\346\21\337\337\346\337\337\347--.\207\207\207\341\341\350" + "yy|--/\376\376\376\342\342\351\0\0\0\376\376\376\266\266\273\0\0\0\376\376" + "\376\345\345\353\0\0\0\376\376\376\202\347\347\354\202\350\350\354\203\351" + "\351\355\1\332\335\324\203\336\336\346\1\337\337\346\202\337\337\347\23\340" + "\340\347\302\302\311!!!\20\20\20\17\17\20\317\317\322\371\371\372\343\343" + "\351LLN\0\0\0==?\0\0\0\376\376\376\346\346\353\0\0\0\21\21\21\347\347\354" + "\350\350\354\350\350\355\202\351\351\355\202\352\352\356\1\333\336\325\202" + "\336\336\346\202\337\337\347\202\340\340\347\202\341\341\350\13\346\346\353" + "\372\372\373\374\374\374\374\374\373\346\347\352\343\344\347\344\345\347" + "\365\366\364\375\376\373\367\370\367\376\376\375\202\347\347\354\2\376\376" + "\376\375\375\375\202\351\351\355\2\352\352\355\352\352\356\202\353\353\356" + "\1\334\337\324\202\337\337\347\202\340\340\347\202\341\341\350\11\342\342" + "\350\342\342\351\342\342\350\342\343\346\342\342\343\342\342\341\341\342" + "\340\342\343\340\342\343\341\202\343\344\341\4\344\345\343\345\346\345\347" + "\347\351\350\350\353\202\351\351\355\1\352\352\355\202\352\352\356\4\353" + "\353\356\353\353\357\354\354\357\335\340\326\202\340\340\347\1\340\340\350" + "\202\341\341\350\10\342\342\350\342\342\351\343\343\350\342\342\344\342\342" + "\341\341\342\337\342\343\337\342\343\340\202\343\344\340\2\344\345\340\344" + "\345\341\202\345\346\341\3\345\346\343\347\350\346\350\351\353\202\352\352" + "\356\202\353\353\356\202\354\354\357\2\355\355\357\335\340\327\203\341\341" + "\350\6\342\342\350\342\342\351\343\343\351\343\343\350\343\343\345\341\342" + "\340\202\342\343\337\15\251\252\245JJK\16\16\16\35\35\35---<<<}}~\302\303" + "\275\346\347\342\347\350\343\350\351\347\353\353\355\353\353\356\202\354" + "\354\357\4\355\355\357\355\355\360\356\356\360\336\341\327\202\342\342\350" + "\1\342\342\351\202\343\343\351\11\344\344\352\343\344\347\342\342\341\342" + "\343\337\342\343\340hhi\0\0\0\5\5\5\2\2\2\202\0\0\0\4\4\4\4\"\"\"]]]\244" + "\244\244\202\350\351\343\1\353\353\353\202\354\354\357\202\355\355\360\202" + "\356\356\360\3\337\342\330\343\343\351\342\342\351\202\343\343\351\12\344" + "\344\352\344\344\351\344\344\344\342\343\340\343\344\340YYZ\0\0\0\16\16\1" + "ee\0\274\274\0\202\310\310\0\11\274\274\0ee\0\7\7\7ooo\274\274\274\351\352" + "\344\352\353\347\355\355\356\355\355\360\202\356\356\360\202\357\357\361" + "\1\340\343\331\202\343\343\351\202\344\344\352\25\345\345\352\345\345\351" + "\344\344\342\343\344\340\252\253\245\0\0\0\16\16\1\243\243\0\310\310\0\326" + "\343o\335\356\237\332\351\207\324\337^\316\3230\243\243\0\11\11\11\222\222" + "\222\334\335\326\352\353\345\355\355\354\356\356\360\202\357\357\361\202" + "\360\360\361\1\341\344\332\202\344\344\352\202\345\345\352\11\346\346\353" + "\345\346\350\343\344\341\344\345\341JJJ\5\5\5ee\0\310\310\0\330\346\177\202" + "\345\376\340\11\341\367\302\333\353\222\325\340b\316\3241ee\0DDD\321\321" + "\321\353\354\345\355\355\353\202\357\357\361\4\360\360\361\360\360\362\361" + "\361\362\341\344\332\202\345\345\352\1\345\345\353\202\346\346\353\25\346" + "\347\351\344\345\342\345\346\341\16\16\16\2\2\2\274\274\0\320\330A\335\356" + "\237\344\374\327\344\375\334\341\367\304\335\356\237\327\344v\321\332I\300" + "\303\31\14\14\14\325\325\325\354\355\346\356\356\353\360\360\361\360\360" + "\362\202\361\361\362\2\362\362\362\342\345\334\203\346\346\353\202\347\347" + "\354\23\347\350\351\345\346\342\346\347\342\35\35\35\0\0\0\310\310\0\322" + "\333P\333\353\222\340\364\267\341\366\277\337\363\261\334\354\227\327\344" + "v\322\333P\315\321'\0\0\0\344\344\344\355\356\346\357\357\354\202\361\361" + "\362\1\362\362\362\202\362\362\363\1\343\346\334\202\347\347\353\202\347" + "\347\354\25\350\350\354\347\350\352\346\347\343\346\347\342---\0\0\0\310" + "\310\0\321\331G\330\345z\333\354\226\335\356\237\334\355\230\331\350\205" + "\326\342k\322\332K\315\321'\0\0\0\364\364\364\355\356\347\360\360\354\361" + "\361\362\202\362\362\363\3\363\363\363\363\363\364\344\347\335\202\347\347" + "\354\4\350\350\354\350\350\355\351\351\355\350\351\352\202\347\350\343\21" + "<<<\4\4\4\274\274\0\317\3244\324\336^\327\344v\330\347\200\330\346|\326\343" + "o\324\335Z\320\327?\300\303\35\16\16\16\376\376\376\356\357\347\361\361\355" + "\362\362\363\202\363\363\363\202\364\364\364\3\345\350\336\350\350\355\350" + "\350\354\202\351\351\355\26\352\352\355\351\352\354\350\351\345\350\351\343" + "}}}\"\"\"ee\0\314\317\33\320\327?\323\335U\324\337_\324\337^\323\334T\321" + "\330D\316\323-fg\11___\366\366\367\357\360\350\362\362\357\363\363\363\363" + "\363\364\203\364\364\364\1\345\350\337\203\351\351\355\202\352\352\356\23" + "\353\353\355\351\352\347\351\352\344\304\305\277]]]\7\7\7\243\243\0\314\320" + "\40\317\3254\320\327?\320\327@\317\3269\316\322+\245\250\24\17\17\17\336" + "\336\336\362\363\353\360\361\351\362\363\362\205\364\364\364\1\345\350\337" + "\203\352\352\356\202\353\353\356\2\354\354\357\353\353\354\202\352\353\345" + "\16\252\252\253ooo\11\11\11ee\0\277\301\22\314\317\36\314\320\40\277\303" + "\31fg\10\17\17\17\316\316\316\363\363\364\360\361\351\363\363\356\206\364" + "\364\364\1\346\351\340\203\353\353\356\203\354\354\357\2\355\355\357\353" + "\354\351\202\353\354\345\4\272\272\273\222\222\222DDD\14\14\14\202\0\0\0" + "\7\16\16\16___\336\336\336\362\362\364\361\362\351\362\362\353\363\364\362" + "\204\364\364\364\3\363\363\364\363\363\363\347\352\340\202\353\353\357\202" + "\354\354\357\22\355\355\357\355\355\360\356\356\360\355\356\356\355\356\352" + "\354\355\346\355\356\346\336\337\330\320\320\321\325\325\325\344\344\344" + "\364\364\364\376\376\376\366\366\367\363\364\354\361\362\351\362\362\353" + "\363\363\360\204\364\364\364\203\363\363\363\1\350\353\341\202\354\354\357" + "\2\355\355\357\355\355\360\202\356\356\360\202\357\357\361\3\360\360\360" + "\357\357\355\356\357\352\202\356\357\347\202\357\360\350\6\360\361\350\360" + "\361\351\361\362\351\361\362\352\363\363\356\363\364\362\203\364\364\364" + "\1\363\363\364\204\363\363\363\2\351\354\342\355\355\360\202\356\356\360" + "\203\357\357\361\2\360\360\361\360\360\362\202\361\361\362\2\362\362\362" + "\361\361\357\202\362\362\356\203\363\363\356\2\363\363\360\363\364\362\202" + "\364\364\364\1\363\363\364\205\363\363\363\3\362\362\363\362\362\362z\177" + "u\202ww\177\202xx\200\203yy\200\202zz\200\1zz\201\202{{\201\1||\201\202|" + "|\202\203}}\202\3}}\203~~\203~~\204\203\177\177\204\205\200\200\205\236\232" + "\320\25\236\230\317\25\236\227\317\24\236\242\323-\236\235\317*\236\230\311" + "&\236\222\302$\236\214\273!\236\206\264\36", +}; + diff --git a/src/image_data/gvo_banner_vid2_green.h b/src/image_data/gvo_banner_vid2_green.h new file mode 100644 index 0000000..58852c8 --- /dev/null +++ b/src/image_data/gvo_banner_vid2_green.h @@ -0,0 +1,146 @@ +/* GIMP RGB C-Source image dump 1-byte-run-length-encoded */ + +#include "image.h" + +static const nv_image_t gvo_banner_vid2_green_image = { + 26, 60, 3, + "\232\201\221\33\232\235\257!\232\261\306&\232\301\326,\232\314\340.\232\321" + "\345/\232\324\3462\232\325\3472\264\334\3567\232\335\3578\203\366\366\370" + "\1\367\367\370\202\367\367\371\203\370\370\371\202\370\370\372\203\371\371" + "\372\1\372\372\372\204\372\372\373\1\373\373\373\203\373\373\374\203\374" + "\374\374\202\335\335\345\203\336\336\346\202\337\337\347\2\340\340\347\340" + "\340\350\202\341\341\350\2\342\342\350\342\342\351\202\343\343\351\202\344" + "\344\352\202\345\345\352\203\346\346\353\202\347\347\354\4\350\350\354\350" + "\350\355\335\335\345\335\335\346\202\336\336\346\2\337\337\346\337\337\347" + "\202\340\340\347\202\341\341\350\2\342\342\350\342\342\351\203\343\343\351" + "\202\344\344\352\2\345\345\352\345\345\353\202\346\346\353\202\347\347\354" + "\202\350\350\354\1\351\351\355\202\336\336\346\2\337\337\346\337\337\347" + "\202\340\340\347\203\341\341\350\202\342\342\351\202\343\343\351\202\344" + "\344\352\2\345\345\352\345\345\353\202\346\346\353\202\347\347\354\202\350" + "\350\354\203\351\351\355\1\337\337\346\202\337\337\347\2\340\340\347\340" + "\340\350\202\341\341\350\2\342\342\350\342\342\351\202\343\343\351\202\344" + "\344\352\2\345\345\352\345\345\353\202\346\346\353\1\347\347\353\202\347" + "\347\354\2\350\350\354\350\350\355\202\351\351\355\202\352\352\356\11\337" + "\337\347\340\340\347\0\0\0\264\264\271\341\341\350\342\342\350jjm==>\17\17" + "\20\202\344\344\352\202\345\345\352\3\345\345\353\0\0\0\346\346\353\202\347" + "\347\354\6\350\350\354\350\350\355mmo\0\0\0nno\352\352\356\202\353\353\356" + "\14\340\340\347\341\341\350<<>fff\350\350\355\342\342\351\36\36\37\240\240" + "\242\367\367\371\374\374\375\345\345\352\345\345\353\202\346\346\353\2\0" + "\0\0\376\376\376\202\350\350\354\202\351\351\355\6\0\0\0\365\365\367\0\0" + "\0\365\365\367\353\353\357\354\354\357\202\341\341\350\17\226\226\232\0\0" + "\0\363\363\366\305\305\312\0\0\0\373\373\373\0\0\0\345\345\353\346\346\353" + "\231\231\234\17\17\20../\0\0\0\376\376\376\350\350\355\202\351\351\355\202" + "\352\352\356\26\376\376\376\0\0\0\376\376\376\354\354\357\355\355\357\342" + "\342\350\342\342\351\343\343\351\0\0\0\334\334\334kknNNO\376\376\376\0\0" + "\0\376\376\376\346\346\353\0\0\0\277\277\301\333\333\333\0\0\0\376\376\376" + "\351\351\355\202\352\352\356\202\353\353\356\5oop__`\376\376\376\355\355" + "\360\356\356\360\202\343\343\351\17\344\344\352==?www//0\301\301\304\366" + "\366\370\0\0\0\376\376\376\347\347\354\0\0\0\376\376\376\355\355\360\0\0" + "\0\376\376\376\352\352\356\202\353\353\356\5\354\354\357\314\314\317\20\20" + "\20\366\366\367\367\367\370\202\356\356\360\1\343\343\351\202\344\344\352" + "\17\230\230\234!!!\20\20\20\371\371\372\354\354\360\0\0\0\376\376\376\350" + "\350\354\0\0\0\376\376\376\313\313\315\0\0\0\376\376\376\353\353\356\353" + "\353\357\202\354\354\357\4""000\200\200\201\375\375\375\356\356\360\202\357" + "\357\361\30\344\344\352\345\345\352\345\345\353\346\346\353\0\0\0eee\374" + "\374\375\350\350\354\0\0\0\376\376\376\351\351\355mmo333NNP\0\0\0\376\376" + "\376\354\354\357\0\0\0\355\355\357\355\355\360\0\0\0\21\21\21\20\20\21\357" + "\357\361\202\360\360\361\1\345\345\352\203\346\346\353\17\347\347\354\376" + "\376\376\365\365\367\350\350\355\351\351\355\376\376\376\352\352\355\352" + "\352\356\365\365\367\372\372\373\370\370\371\376\376\376\355\355\357\355" + "\355\360\376\376\376\202\356\356\360\1\376\376\376\202\375\375\375\2\360" + "\360\362\361\361\362\202\346\346\353\202\347\347\354\202\350\350\354\6>>" + "?\20\20\20\0\0\0//0\314\314\316\353\353\356\203\354\354\357\202\355\355\360" + "\202\356\356\360\4\317\317\321\357\357\361\360\360\361\360\360\362\202\361" + "\361\362\1\362\362\362\202\347\347\354\202\350\350\354\13\351\351\355NNO" + "//0\371\371\372\375\375\375fff222\356\356\361\354\354\357\355\355\357\355" + "\355\360\202\356\356\360\202\357\357\361\2\0\0\0\362\362\364\202\361\361" + "\362\1\362\362\362\202\362\362\363\3\347\347\354\350\350\354\350\350\355" + "\202\351\351\355\21\0\0\0\305\305\307\372\372\373\353\353\356\354\354\357" + "\0\0\0\373\373\373\355\355\360\0\0\0\356\356\360\357\357\361\0\0\0\360\360" + "\361ppq\0\0\0UUU\361\361\362\202\362\362\363\3\363\363\363\363\363\364\350" + "\350\355\202\351\351\355\23\352\352\355\352\352\356\0\0\0\376\376\376\360" + "\360\362\354\354\357\355\355\357\0\0\0\376\376\376\356\356\360\0\0\0\376" + "\376\376\357\357\361\0\0\0\376\376\376\361\361\362\0\0\0\376\376\376\372" + "\372\372\202\363\363\363\202\364\364\364\3\351\351\355\352\352\355\352\352" + "\356\202\353\353\356\22\20\20\20\313\313\313\354\354\357\355\355\357\315" + "\315\320\0\0\0\376\376\376\357\357\361\0\0\0\376\376\376\360\360\362\0\0" + "\0\376\376\376\362\362\362\0\0\0\376\376\376\363\363\363\363\363\364\203" + "\364\364\364\202\352\352\356\202\353\353\356\21\354\354\357OOPUUU\357\360" + "\362\355\356\357_`_@A@\375\376\375\357\360\360\0\0\0\375\376\375\300\301" + "\300\0\0\0\375\376\375\362\362\363\0\0\0\376\376\376\205\364\364\364\202" + "\353\353\356\202\354\354\357\21\355\355\357\314\315\317/1/\16\20\15\0\0\0" + ",/,\323\326\324\366\371\367\354\357\356MPM\0\0\0=@=\0\0\0\373\375\373\362" + "\363\362\40!\40\0\0\0\205\364\364\364\202\354\354\357\24\355\355\357\354" + "\355\357\352\354\355\352\355\354\354\357\356\367\372\367\371\374\371\372" + "\375\371\366\372\367\356\362\357\354\360\355\355\361\356\365\371\365\371" + "\375\371\367\372\367\372\375\372\360\363\360\361\363\361\374\375\374\376" + "\376\376\202\364\364\364\7\363\363\364\363\363\363\354\354\357\355\355\357" + "\355\355\360\353\355\355\352\355\354\202\353\356\355\2\354\357\354\353\357" + "\354\202\353\360\354\202\354\361\354\202\355\362\354\3\355\362\356\356\363" + "\356\357\363\357\202\360\363\360\3\361\363\360\363\364\363\364\364\364\203" + "\363\363\363\3\355\355\360\356\356\360\355\356\357\202\353\356\355\3\354" + "\357\355\353\357\354\352\357\354\202\353\360\353\202\354\361\354\2\355\362" + "\354\355\362\355\203\355\363\355\5\356\363\355\356\363\356\360\363\357\360" + "\363\360\361\363\362\204\363\363\363\202\356\356\360\4\354\356\356\353\356" + "\355\354\357\355\353\357\355\202\353\360\353\11\354\361\354\263\270\263L" + "LL\16\16\16\35\35\35---<<<\200\200\200\311\316\311\202\355\363\355\4\355" + "\362\356\357\362\357\360\362\357\362\363\362\202\363\363\363\7\362\362\363" + "\357\357\361\356\357\360\355\357\355\354\357\356\355\360\355\353\360\354" + "\202\354\361\354\4jjj\0\0\0\5\5\5\2\2\2\202\0\0\0\4\4\4\4\"\"\"]]]\246\246" + "\247\202\355\362\354\3\356\362\356\357\362\357\361\363\361\202\362\362\363" + "\3\362\362\362\360\360\361\357\360\361\202\355\360\356\1\355\361\354\202" + "\354\361\354\5[[[\0\0\0\1\13\1\0M\0\0\217\0\202\0\230\0\11\0\217\0\0M\0\7" + "\7\7ooo\277\277\277\355\362\354\355\362\355\356\361\357\360\362\361\203\362" + "\362\362\30\360\360\362\360\361\361\355\360\356\356\361\357\354\361\355\355" + "\362\354\264\271\264\0\0\0\1\13\1\0}\0\0\230\0q\312o\243\341\237\212\326" + "\207`\303^1\2560\0}\0\11\11\11\222\222\222\336\344\336\354\361\354\355\361" + "\355\360\361\357\362\362\362\203\361\361\362\12\361\362\362\356\361\357\357" + "\362\356\355\362\355\355\363\355LLL\5\5\5\0M\0\0\230\0\201\322\177\202\345" + "\376\340\13\306\360\302\225\333\222d\305b2\2561\0M\0DDD\324\324\324\354\361" + "\353\355\361\355\356\360\357\361\361\362\202\361\361\361\30\362\362\363\362" + "\363\362\357\362\357\357\363\357\356\363\355\355\363\355\16\16\16\2\2\2\0" + "\217\0B\265A\243\341\237\334\372\327\341\374\334\310\361\304\243\341\237" + "y\316vK\271I\32\232\31\14\14\14\325\325\325\354\361\353\354\360\354\356\360" + "\357\361\361\361\202\360\360\361\27\363\363\363\362\363\363\360\363\360\357" + "\363\357\356\363\355\355\363\355\35\35\35\0\0\0\0\230\0R\274P\225\333\222" + "\273\353\267\303\357\277\265\351\261\232\335\227y\316vR\274P(\252'\0\0\0" + "\344\344\344\353\360\353\354\360\353\355\357\356\202\360\360\361\31\360\360" + "\360\364\364\364\363\364\363\360\363\360\357\363\357\356\363\355\355\363" + "\355---\0\0\0\0\230\0I\270G}\317z\232\335\226\243\341\237\233\335\230\210" + "\325\205n\311kM\272K(\252'\0\0\0\364\364\364\353\360\352\353\357\353\355" + "\357\356\360\360\360\202\357\357\360\27\364\364\364\363\364\363\360\363\360" + "\357\363\357\356\363\355\355\362\355<<<\4\4\4\0\217\0""5\2604`\302^y\316" + "v\202\322\200\177\320|q\312o\\\301Z@\264?\36\234\35\16\16\16\376\376\376" + "\352\357\352\353\357\354\354\356\355\202\357\357\360\31\356\356\357\364\364" + "\364\363\364\363\360\363\360\357\362\357\355\362\355\355\362\354\177\177" + "\177\"\"\"\0M\0\34\244\33A\265?W\277Ua\303_`\303^V\276TE\267D.\254-\11Q\11" + "___\372\372\372\352\357\351\352\356\353\355\356\355\357\357\360\202\356\356" + "\357\27\364\364\364\363\364\363\357\362\360\357\362\357\355\362\355\355\362" + "\354\311\316\311]]]\7\7\7\0}\0!\247\40""6\2604@\264?A\265@:\2629,\253+\24" + "\205\24\17\17\17\336\336\336\355\362\355\351\356\352\353\356\354\354\356" + "\355\202\356\356\357\31\355\355\356\363\363\364\362\363\362\360\362\360\357" + "\362\357\356\362\356\355\362\354\354\361\354\256\256\256ooo\11\11\11\0M\0" + "\23\227\22\36\245\36!\247\40\32\232\31\11P\10\17\17\17\316\316\316\367\367" + "\370\351\356\351\351\355\352\352\355\353\355\356\356\355\355\357\202\355" + "\355\356\202\363\363\363\4\362\363\361\357\362\357\356\361\357\354\361\355" + "\202\354\361\353\4\276\276\277\222\222\222DDD\14\14\14\202\0\0\0\4\16\16" + "\16___\336\336\336\367\367\370\202\350\355\351\2\352\355\353\352\354\354" + "\202\355\355\356\2\354\354\356\354\354\355\202\363\363\363\2\361\362\362" + "\357\361\360\202\356\361\356\1\354\361\354\202\353\360\353\10\335\342\334" + "\323\323\323\325\325\325\344\344\344\364\364\364\376\376\376\371\371\372" + "\355\362\355\202\350\355\351\3\351\355\352\351\354\352\354\355\355\202\354" + "\354\356\7\354\354\355\353\353\355\363\363\363\362\362\363\362\362\362\361" + "\362\361\357\361\356\202\355\360\356\2\354\360\354\353\360\353\202\352\357" + "\352\1\352\357\351\203\351\356\351\202\350\355\351\6\351\355\352\351\354" + "\353\351\354\352\353\355\354\354\354\356\354\354\355\202\353\353\355\1\353" + "\353\354\202\362\362\362\202\361\361\362\3\360\361\360\357\361\357\355\357" + "\355\202\354\357\355\203\352\356\353\203\351\355\352\1\350\354\352\202\351" + "\354\352\2\351\353\353\353\354\354\202\353\353\355\1\353\353\354\202\352" + "\352\354\1\351\351\353\202\201\201\206\1\201\201\207\203\202\202\207\7\201" + "\202\207\201\203\206\202\204\206\202\203\205\201\203\205\201\203\206\202" + "\204\206\202\202\204\207\3\204\205\207\204\206\210\206\207\212\202\207\207" + "\213\202\210\210\213\202\210\210\214\2\211\211\215\212\212\215\232\232\320" + "\25\232\230\317\25\232\227\317\24\232\242\323-\232\235\317*\232\230\311&" + "\232\222\302$\232\214\273!\232\206\264\36", +}; + diff --git a/src/image_data/gvo_banner_vid2_grey.h b/src/image_data/gvo_banner_vid2_grey.h new file mode 100644 index 0000000..6e0b8be --- /dev/null +++ b/src/image_data/gvo_banner_vid2_grey.h @@ -0,0 +1,136 @@ +/* GIMP RGB C-Source image dump 1-byte-run-length-encoded */ + +#include "image.h" + +static const nv_image_t gvo_banner_vid2_grey_image = { + 26, 60, 3, + "\232\201\221\33\232\235\257!\232\261\306&\232\301\326,\232\314\340.\232\321" + "\345/\232\324\3462\232\325\3472\264\334\3567\232\335\3578\203\366\366\370" + "\1\367\367\370\202\367\367\371\203\370\370\371\202\370\370\372\203\371\371" + "\372\1\372\372\372\204\372\372\373\1\373\373\373\203\373\373\374\203\374" + "\374\374\202\335\335\345\203\336\336\346\202\337\337\347\2\340\340\347\340" + "\340\350\202\341\341\350\2\342\342\350\342\342\351\202\343\343\351\202\344" + "\344\352\202\345\345\352\203\346\346\353\202\347\347\354\4\350\350\354\350" + "\350\355\335\335\345\335\335\346\202\336\336\346\2\337\337\346\337\337\347" + "\202\340\340\347\202\341\341\350\2\342\342\350\342\342\351\203\343\343\351" + "\202\344\344\352\2\345\345\352\345\345\353\202\346\346\353\202\347\347\354" + "\202\350\350\354\1\351\351\355\202\336\336\346\2\337\337\346\337\337\347" + "\202\340\340\347\203\341\341\350\202\342\342\351\202\343\343\351\202\344" + "\344\352\2\345\345\352\345\345\353\202\346\346\353\202\347\347\354\202\350" + "\350\354\203\351\351\355\1\337\337\346\202\337\337\347\2\340\340\347\340" + "\340\350\202\341\341\350\2\342\342\350\342\342\351\202\343\343\351\202\344" + "\344\352\2\345\345\352\345\345\353\202\346\346\353\1\347\347\353\202\347" + "\347\354\2\350\350\354\350\350\355\202\351\351\355\202\352\352\356\11\337" + "\337\347\340\340\347\0\0\0\264\264\271\341\341\350\342\342\350jjm==>\17\17" + "\20\202\344\344\352\202\345\345\352\3\345\345\353\0\0\0\346\346\353\202\347" + "\347\354\6\350\350\354\350\350\355mmo\0\0\0nno\352\352\356\202\353\353\356" + "\14\340\340\347\341\341\350<<>fff\350\350\355\342\342\351\36\36\37\240\240" + "\242\367\367\371\374\374\375\345\345\352\345\345\353\202\346\346\353\2\0" + "\0\0\376\376\376\202\350\350\354\202\351\351\355\6\0\0\0\365\365\367\0\0" + "\0\365\365\367\353\353\357\354\354\357\202\341\341\350\17\226\226\232\0\0" + "\0\363\363\366\305\305\312\0\0\0\373\373\373\0\0\0\345\345\353\346\346\353" + "\231\231\234\17\17\20../\0\0\0\376\376\376\350\350\355\202\351\351\355\202" + "\352\352\356\26\376\376\376\0\0\0\376\376\376\354\354\357\355\355\357\342" + "\342\350\342\342\351\343\343\351\0\0\0\334\334\334kknNNO\376\376\376\0\0" + "\0\376\376\376\346\346\353\0\0\0\277\277\301\333\333\333\0\0\0\376\376\376" + "\351\351\355\202\352\352\356\202\353\353\356\5oop__`\376\376\376\355\355" + "\360\356\356\360\202\343\343\351\17\344\344\352==?www//0\301\301\304\366" + "\366\370\0\0\0\376\376\376\347\347\354\0\0\0\376\376\376\355\355\360\0\0" + "\0\376\376\376\352\352\356\202\353\353\356\5\354\354\357\314\314\317\20\20" + "\20\366\366\367\367\367\370\202\356\356\360\1\343\343\351\202\344\344\352" + "\17\230\230\234!!!\20\20\20\371\371\372\354\354\360\0\0\0\376\376\376\350" + "\350\354\0\0\0\376\376\376\313\313\315\0\0\0\376\376\376\353\353\356\353" + "\353\357\202\354\354\357\4""000\200\200\201\375\375\375\356\356\360\202\357" + "\357\361\30\344\344\352\345\345\352\345\345\353\346\346\353\0\0\0eee\374" + "\374\375\350\350\354\0\0\0\376\376\376\351\351\355mmo333NNP\0\0\0\376\376" + "\376\354\354\357\0\0\0\355\355\357\355\355\360\0\0\0\21\21\21\20\20\21\357" + "\357\361\202\360\360\361\1\345\345\352\203\346\346\353\17\347\347\354\376" + "\376\376\365\365\367\350\350\355\351\351\355\376\376\376\352\352\355\352" + "\352\356\365\365\367\372\372\373\370\370\371\376\376\376\355\355\357\355" + "\355\360\376\376\376\202\356\356\360\1\376\376\376\202\375\375\375\2\360" + "\360\362\361\361\362\202\346\346\353\202\347\347\354\202\350\350\354\6>>" + "?\20\20\20\0\0\0//0\314\314\316\353\353\356\203\354\354\357\202\355\355\360" + "\202\356\356\360\4\317\317\321\357\357\361\360\360\361\360\360\362\202\361" + "\361\362\1\362\362\362\202\347\347\354\202\350\350\354\13\351\351\355NNO" + "//0\371\371\372\375\375\375fff222\356\356\361\354\354\357\355\355\357\355" + "\355\360\202\356\356\360\202\357\357\361\2\0\0\0\362\362\364\202\361\361" + "\362\1\362\362\362\202\362\362\363\3\347\347\354\350\350\354\350\350\355" + "\202\351\351\355\21\0\0\0\305\305\307\372\372\373\353\353\356\354\354\357" + "\0\0\0\373\373\373\355\355\360\0\0\0\356\356\360\357\357\361\0\0\0\360\360" + "\361ppq\0\0\0UUU\361\361\362\202\362\362\363\3\363\363\363\363\363\364\350" + "\350\355\202\351\351\355\23\352\352\355\352\352\356\0\0\0\376\376\376\360" + "\360\362\354\354\357\355\355\357\0\0\0\376\376\376\356\356\360\0\0\0\376" + "\376\376\357\357\361\0\0\0\376\376\376\361\361\362\0\0\0\376\376\376\372" + "\372\372\202\363\363\363\202\364\364\364\3\351\351\355\352\352\355\352\352" + "\356\202\353\353\356\22\20\20\20\313\313\313\354\354\357\355\355\357\315" + "\315\320\0\0\0\376\376\376\357\357\361\0\0\0\376\376\376\360\360\362\0\0" + "\0\376\376\376\362\362\362\0\0\0\376\376\376\363\363\363\363\363\364\203" + "\364\364\364\202\352\352\356\202\353\353\356\21\354\354\357OOPUUU\360\360" + "\363\356\356\360```AAA\376\376\376\360\360\361\0\0\0\376\376\376\301\301" + "\301\0\0\0\376\376\376\362\362\363\0\0\0\376\376\376\205\364\364\364\202" + "\353\353\356\202\354\354\357\21\355\355\357\315\315\320222\21\21\21\0\0\0" + """000\327\327\330\372\372\373\360\360\362QQQ\0\0\0AAA\0\0\0\376\376\376\363" + "\363\364!!!\0\0\0\205\364\364\364\202\354\354\357\1\355\355\357\202\355\355" + "\360\15\356\356\360\360\360\362\373\373\373\375\375\375\376\376\376\373\373" + "\374\363\363\364\361\361\362\362\362\363\372\372\372\376\376\376\373\373" + "\373\376\376\376\202\364\364\364\2\375\375\375\376\376\376\202\364\364\364" + "\5\363\363\364\363\363\363\354\354\357\355\355\357\355\355\360\202\356\356" + "\360\202\357\357\361\2\360\360\361\360\360\362\202\361\361\362\2\362\362" + "\362\362\362\363\202\363\363\363\1\363\363\364\207\364\364\364\203\363\363" + "\363\1\355\355\360\202\356\356\360\202\357\357\361\202\360\360\361\1\360" + "\360\362\202\361\361\362\202\362\362\363\2\363\363\363\363\363\364\207\364" + "\364\364\1\363\363\364\204\363\363\363\202\356\356\360\202\357\357\361\2" + "\360\360\361\360\360\362\202\361\361\362\11\362\362\363\265\265\266HHI\16" + "\16\16\35\35\35---<<<||}\315\315\315\202\364\364\364\1\363\363\364\205\363" + "\363\363\1\362\362\363\202\357\357\361\2\360\360\361\360\360\362\202\361" + "\361\362\202\362\362\363\4eeg\0\0\0\5\5\5\2\2\2\202\0\0\0\4\4\4\4\"\"\"]" + "]]\243\243\245\205\363\363\363\202\362\362\363\3\362\362\362\360\360\361" + "\360\360\362\202\361\361\362\1\362\362\362\202\362\362\363\5VVX\0\0\0\11" + "\11\11;;;ooo\202ttt\5ooo;;;\7\7\7ooo\274\274\275\202\363\363\363\202\362" + "\362\363\203\362\362\362\1\360\360\362\202\361\361\362\202\362\362\363\20" + "\363\363\363\266\266\267\0\0\0\11\11\11aaasss\244\260\241\272\313\267\257" + "\275\254\234\246\232\207\214\206aaa\11\11\11\222\222\222\344\344\344\362" + "\362\363\203\362\362\362\203\361\361\362\202\362\362\363\202\363\363\363" + "\6\364\364\364HHI\5\5\5;;;sss\253\271\250\202\327\357\322\7\311\337\305\264" + "\304\261\236\251\234\210\215\207;;;DDD\322\322\323\202\362\362\362\202\361" + "\361\362\202\361\361\361\1\362\362\363\202\363\363\363\203\364\364\364\17" + "\16\16\16\2\2\2ooo\217\226\215\272\313\267\323\352\316\325\355\320\312\340" + "\306\272\313\267\247\264\244\223\233\221{~z\14\14\14\325\325\325\362\362" + "\362\202\361\361\362\1\361\361\361\202\360\360\361\2\363\363\363\363\363" + "\364\204\364\364\364\20\35\35\35\0\0\0ttt\226\237\224\264\304\261\304\331" + "\300\310\335\303\302\325\276\267\307\263\247\264\245\226\237\224\205\211" + "\204\0\0\0\344\344\344\361\361\362\361\361\361\203\360\360\361\1\360\360" + "\360\206\364\364\364\17---\0\0\0ttt\222\232\220\251\267\246\266\306\263\272" + "\313\267\267\307\264\256\274\253\242\256\240\223\234\222\205\211\204\0\0" + "\0\364\364\364\361\361\361\202\360\360\361\1\360\360\360\202\357\357\360" + "\205\364\364\364\17\363\363\364<<<\4\4\4ooo\211\217\210\234\246\232\247\264" + "\245\254\272\251\252\270\247\244\260\241\232\244\230\216\225\214|\177|\16" + "\16\16\376\376\376\202\360\360\361\203\357\357\360\1\356\356\357\203\364" + "\364\364\1\363\363\364\202\363\363\363\17}}~\"\"\";;;\177\201~\216\225\215" + "\230\242\226\235\247\232\234\247\232\230\241\226\220\227\216\206\213\205" + "?@?___\372\372\372\360\360\360\203\357\357\360\202\356\356\357\202\364\364" + "\364\1\363\363\364\203\363\363\363\16\315\315\315]]]\7\7\7aaa\200\203\200" + "\211\217\210\216\225\214\216\225\215\213\221\212\205\211\204jki\17\17\17" + "\336\336\336\363\363\364\202\357\357\360\203\356\356\357\2\355\355\356\363" + "\363\364\205\363\363\363\16\362\362\363\254\254\255ooo\11\11\11;;;wyv\201" + "\204\200\202\205\201z}z>?>\17\17\17\316\316\316\371\371\371\357\357\360\203" + "\356\356\357\1\355\355\357\202\355\355\356\204\363\363\363\202\362\362\363" + "\202\362\362\362\4\275\275\276\222\222\222DDD\14\14\14\202\0\0\0\5\16\16" + "\16___\336\336\336\371\371\371\356\356\360\202\356\356\357\1\355\355\357" + "\202\355\355\356\2\354\354\356\354\354\355\202\363\363\363\202\362\362\363" + "\203\362\362\362\202\361\361\362\10\342\342\342\323\323\324\325\325\325\344" + "\344\344\364\364\364\376\376\376\373\373\373\363\363\364\203\356\356\357" + "\202\355\355\356\202\354\354\356\4\354\354\355\353\353\355\363\363\363\362" + "\362\363\203\362\362\362\202\361\361\362\202\361\361\361\202\360\360\361" + "\1\360\360\360\203\357\357\360\203\356\356\357\1\355\355\357\202\355\355" + "\356\2\354\354\356\354\354\355\202\353\353\355\1\353\353\354\202\362\362" + "\362\202\361\361\362\202\361\361\361\203\360\360\361\203\357\357\360\203" + "\356\356\357\1\355\355\357\202\355\355\356\2\354\354\356\354\354\355\202" + "\353\353\355\1\353\353\354\202\352\352\354\1\351\351\353\202\201\201\206" + "\1\201\201\207\203\202\202\207\2\202\202\210\203\203\210\203\204\204\210" + "\2\204\204\211\205\205\211\202\205\205\212\202\206\206\212\203\207\207\213" + "\202\210\210\213\202\210\210\214\2\211\211\215\212\212\215\232\232\320\25" + "\232\230\317\25\232\227\317\24\232\242\323-\232\235\317*\232\230\311&\232" + "\222\302$\232\214\273!\232\206\264\36", +}; + diff --git a/src/image_data/gvo_banner_vid2_red.h b/src/image_data/gvo_banner_vid2_red.h new file mode 100644 index 0000000..78929c3 --- /dev/null +++ b/src/image_data/gvo_banner_vid2_red.h @@ -0,0 +1,144 @@ +/* GIMP RGB C-Source image dump 1-byte-run-length-encoded */ + +#include "image.h" + +static const nv_image_t gvo_banner_vid2_red_image = { + 26, 60, 3, + "\232\201\221\33\232\235\257!\232\261\306&\232\301\326,\232\314\340.\232\321" + "\345/\232\324\3462\232\325\3472\264\334\3567\232\335\3578\203\366\366\370" + "\1\367\367\370\202\367\367\371\203\370\370\371\202\370\370\372\203\371\371" + "\372\1\372\372\372\204\372\372\373\1\373\373\373\203\373\373\374\203\374" + "\374\374\202\335\335\345\203\336\336\346\202\337\337\347\2\340\340\347\340" + "\340\350\202\341\341\350\2\342\342\350\342\342\351\202\343\343\351\202\344" + "\344\352\202\345\345\352\203\346\346\353\202\347\347\354\4\350\350\354\350" + "\350\355\335\335\345\335\335\346\202\336\336\346\2\337\337\346\337\337\347" + "\202\340\340\347\202\341\341\350\2\342\342\350\342\342\351\203\343\343\351" + "\202\344\344\352\2\345\345\352\345\345\353\202\346\346\353\202\347\347\354" + "\202\350\350\354\1\351\351\355\202\336\336\346\2\337\337\346\337\337\347" + "\202\340\340\347\203\341\341\350\202\342\342\351\202\343\343\351\202\344" + "\344\352\2\345\345\352\345\345\353\202\346\346\353\202\347\347\354\202\350" + "\350\354\203\351\351\355\1\337\337\346\202\337\337\347\2\340\340\347\340" + "\340\350\202\341\341\350\2\342\342\350\342\342\351\202\343\343\351\202\344" + "\344\352\2\345\345\352\345\345\353\202\346\346\353\1\347\347\353\202\347" + "\347\354\2\350\350\354\350\350\355\202\351\351\355\202\352\352\356\11\337" + "\337\347\340\340\347\0\0\0\264\264\271\341\341\350\342\342\350jjm==>\17\17" + "\20\202\344\344\352\202\345\345\352\3\345\345\353\0\0\0\346\346\353\202\347" + "\347\354\6\350\350\354\350\350\355mmo\0\0\0nno\352\352\356\202\353\353\356" + "\14\340\340\347\341\341\350<<>fff\350\350\355\342\342\351\36\36\37\240\240" + "\242\367\367\371\374\374\375\345\345\352\345\345\353\202\346\346\353\2\0" + "\0\0\376\376\376\202\350\350\354\202\351\351\355\6\0\0\0\365\365\367\0\0" + "\0\365\365\367\353\353\357\354\354\357\202\341\341\350\17\226\226\232\0\0" + "\0\363\363\366\305\305\312\0\0\0\373\373\373\0\0\0\345\345\353\346\346\353" + "\231\231\234\17\17\20../\0\0\0\376\376\376\350\350\355\202\351\351\355\202" + "\352\352\356\26\376\376\376\0\0\0\376\376\376\354\354\357\355\355\357\342" + "\342\350\342\342\351\343\343\351\0\0\0\334\334\334kknNNO\376\376\376\0\0" + "\0\376\376\376\346\346\353\0\0\0\277\277\301\333\333\333\0\0\0\376\376\376" + "\351\351\355\202\352\352\356\202\353\353\356\5oop__`\376\376\376\355\355" + "\360\356\356\360\202\343\343\351\17\344\344\352==?www//0\301\301\304\366" + "\366\370\0\0\0\376\376\376\347\347\354\0\0\0\376\376\376\355\355\360\0\0" + "\0\376\376\376\352\352\356\202\353\353\356\5\354\354\357\314\314\317\20\20" + "\20\366\366\367\367\367\370\202\356\356\360\1\343\343\351\202\344\344\352" + "\17\230\230\234!!!\20\20\20\371\371\372\354\354\360\0\0\0\376\376\376\350" + "\350\354\0\0\0\376\376\376\313\313\315\0\0\0\376\376\376\353\353\356\353" + "\353\357\202\354\354\357\4""000\200\200\201\375\375\375\356\356\360\202\357" + "\357\361\30\344\344\352\345\345\352\345\345\353\346\346\353\0\0\0eee\374" + "\374\375\350\350\354\0\0\0\376\376\376\351\351\355mmo333NNP\0\0\0\376\376" + "\376\354\354\357\0\0\0\355\355\357\355\355\360\0\0\0\21\21\21\20\20\21\357" + "\357\361\202\360\360\361\1\345\345\352\203\346\346\353\17\347\347\354\376" + "\376\376\365\365\367\350\350\355\351\351\355\376\376\376\352\352\355\352" + "\352\356\365\365\367\372\372\373\370\370\371\376\376\376\355\355\357\355" + "\355\360\376\376\376\202\356\356\360\1\376\376\376\202\375\375\375\2\360" + "\360\362\361\361\362\202\346\346\353\202\347\347\354\202\350\350\354\6>>" + "?\20\20\20\0\0\0//0\314\314\316\353\353\356\203\354\354\357\202\355\355\360" + "\202\356\356\360\4\317\317\321\357\357\361\360\360\361\360\360\362\202\361" + "\361\362\1\362\362\362\202\347\347\354\202\350\350\354\13\351\351\355NNO" + "//0\371\371\372\375\375\375fff222\356\356\361\354\354\357\355\355\357\355" + "\355\360\202\356\356\360\202\357\357\361\2\0\0\0\362\362\364\202\361\361" + "\362\1\362\362\362\202\362\362\363\3\347\347\354\350\350\354\350\350\355" + "\202\351\351\355\21\0\0\0\305\305\307\372\372\373\353\353\356\354\354\357" + "\0\0\0\373\373\373\355\355\360\0\0\0\356\356\360\357\357\361\0\0\0\360\360" + "\361ppq\0\0\0UUU\361\361\362\202\362\362\363\3\363\363\363\363\363\364\350" + "\350\355\202\351\351\355\23\352\352\355\352\352\356\0\0\0\376\376\376\360" + "\360\362\354\354\357\355\355\357\0\0\0\376\376\376\356\356\360\0\0\0\376" + "\376\376\357\357\361\0\0\0\376\376\376\361\361\362\0\0\0\376\376\376\372" + "\372\372\202\363\363\363\202\364\364\364\3\351\351\355\352\352\355\352\352" + "\356\202\353\353\356\22\20\20\20\313\313\313\354\354\357\355\355\357\315" + "\315\320\0\0\0\376\376\376\357\357\361\0\0\0\376\376\376\360\360\362\0\0" + "\0\376\376\376\362\362\362\0\0\0\376\376\376\363\363\363\363\363\364\203" + "\364\364\364\202\352\352\356\202\353\353\356\21\354\354\357OOPUUU\360\360" + "\363\356\356\360`__A@@\376\375\375\360\357\360\0\0\0\376\375\375\301\300" + "\300\0\0\0\376\376\376\362\362\363\0\0\0\376\376\376\205\364\364\364\202" + "\353\353\356\202\354\354\357\21\355\355\357\315\314\317211\21\17\17\0\0\0" + """0..\327\325\326\372\370\371\360\356\360QOO\0\0\0A??\0\0\0\376\375\375\363" + "\362\363!!!\0\0\0\205\364\364\364\202\354\354\357\24\355\355\357\355\355" + "\360\355\354\357\356\354\356\360\356\360\373\371\371\375\373\373\376\374" + "\374\373\371\372\363\361\362\361\357\360\362\360\361\372\370\370\376\374" + "\374\373\371\371\376\374\374\364\362\362\364\363\363\375\374\374\376\376" + "\376\202\364\364\364\7\363\363\364\363\363\363\354\354\357\355\355\357\355" + "\355\360\356\355\357\356\354\356\202\357\355\357\2\360\356\357\360\356\360" + "\202\362\356\357\2\363\357\357\363\357\360\202\364\360\360\2\364\360\361" + "\364\361\361\204\364\362\362\202\364\364\364\203\363\363\363\3\355\355\360" + "\356\356\360\356\355\357\202\357\355\357\202\360\356\357\1\361\356\357\202" + "\362\356\357\202\363\357\360\2\364\360\360\364\360\361\204\365\361\361\203" + "\364\362\362\1\363\362\363\204\363\363\363\202\356\356\360\4\357\356\360" + "\357\355\357\360\356\357\360\356\360\202\362\356\357\11\363\357\360\272\266" + "\267GGH\16\16\16\35\35\35---<<<yy{\320\315\315\202\365\361\361\1\363\360" + "\361\202\363\361\361\203\363\363\363\1\362\362\363\202\357\357\361\4\360" + "\356\357\360\356\360\361\357\360\362\356\357\202\363\357\360\4cce\0\0\0\5" + "\5\5\2\2\2\202\0\0\0\4\4\4\4\"\"\"]]]\237\237\240\202\364\360\360\202\363" + "\361\361\1\363\362\362\202\362\362\363\3\362\362\362\360\360\361\360\360" + "\362\202\361\357\360\1\362\360\360\202\363\357\360\5UUV\0\0\0\21\1\1\200" + "\0\0\357\0\0\202\376\0\0\5\357\0\0\200\0\0\7\7\7ooo\265\265\267\202\364\360" + "\360\2\362\360\361\362\361\362\203\362\362\362\30\360\360\362\361\360\361" + "\361\357\360\362\360\361\363\357\360\364\360\360\273\267\270\0\0\0\21\1\1" + "\317\0\0\376\0\0\376\230\230\376\315\315\376\264\264\376\203\203\376GG\317" + "\0\0\11\11\11\222\222\222\346\343\343\363\357\360\362\360\360\362\361\361" + "\362\362\362\203\361\361\362\12\362\361\362\362\360\361\363\361\361\364\360" + "\360\365\361\361FFG\5\5\5\200\0\0\376\0\0\376\252\252\202\376\376\376\13" + "\376\352\352\376\300\300\376\210\210\376II\200\0\0DDD\314\314\316\363\357" + "\357\362\360\360\361\360\361\361\361\362\202\361\361\361\4\362\362\363\363" + "\362\362\363\361\361\364\362\362\202\365\361\361\22\16\16\16\2\2\2\357\0" + "\0\376^^\376\314\314\376\367\367\376\372\372\376\353\353\376\314\314\376" + "\240\240\376jj\357''\14\14\14\325\325\325\363\357\357\361\357\360\361\360" + "\361\361\361\361\202\360\360\361\2\363\363\363\363\362\363\202\364\362\362" + "\202\365\361\361\21\35\35\35\0\0\0\376\0\0\376rr\376\300\300\376\342\342" + "\376\350\350\376\335\335\376\305\305\376\240\240\376rr\376::\0\0\0\344\344" + "\344\362\356\357\361\357\357\360\357\360\202\360\360\361\3\360\360\360\364" + "\364\364\364\363\363\202\364\362\362\202\365\361\361\22---\0\0\0\376\0\0" + "\376gg\376\245\245\376\304\304\376\314\314\376\305\305\376\262\262\376\223" + "\223\376ll\376::\0\0\0\364\364\364\362\356\356\360\356\357\360\357\360\360" + "\360\360\202\357\357\360\2\364\364\364\364\363\363\202\364\362\362\23\365" + "\361\361\364\360\361<<<\4\4\4\357\0\0\376LL\376\203\203\376\240\240\376\253" + "\253\376\247\247\376\230\230\376\177\177\376[[\357,,\16\16\16\376\376\376" + "\361\355\356\360\356\357\357\356\357\202\357\357\360\5\356\356\357\364\364" + "\364\364\363\363\364\362\362\363\361\362\202\364\360\360\22yyz\"\"\"\200" + "\0\0\376))\376\\\\\376yy\376\205\205\376\203\203\376xx\376bb\376CC\200\16" + "\16___\361\361\363\361\355\355\357\355\356\357\356\357\357\357\360\202\356" + "\356\357\202\364\364\364\1\363\361\362\202\363\361\361\22\364\360\360\320" + "\315\315]]]\7\7\7\317\0\0\37600\376MM\376[[\376\\\\\376SS\376@@\317\35\35" + "\17\17\17\336\336\336\364\360\361\360\355\356\357\355\356\356\355\356\202" + "\356\356\357\4\355\355\356\363\363\364\363\363\363\363\362\362\202\363\361" + "\361\23\364\360\360\363\357\360\243\243\245ooo\11\11\11\200\0\0\357\33\33" + "\376--\37600\357''\200\15\15\17\17\17\316\316\316\353\353\356\360\354\355" + "\357\354\355\356\354\355\356\355\356\355\355\357\202\355\355\356\202\363" + "\363\363\2\363\362\362\363\361\361\202\362\360\361\202\363\357\357\4\263" + "\263\265\222\222\222DDD\14\14\14\202\0\0\0\4\16\16\16___\336\336\336\353" + "\353\356\202\357\354\355\2\356\354\355\355\354\356\202\355\355\356\2\354" + "\354\356\354\354\355\202\363\363\363\2\362\362\363\362\361\362\202\362\360" + "\360\1\363\360\360\202\362\356\357\15\344\341\341\313\313\315\325\325\325" + "\344\344\344\364\364\364\376\376\376\361\361\363\364\360\361\357\354\354" + "\357\354\355\356\354\355\355\353\354\355\354\355\202\354\354\356\7\354\354" + "\355\353\353\355\363\363\363\362\362\363\362\362\362\362\361\361\362\360" + "\360\202\361\357\360\2\361\357\357\362\357\357\202\361\355\356\1\361\355" + "\355\203\360\354\355\1\357\354\354\202\357\354\355\5\355\353\355\355\353" + "\354\355\354\355\354\354\356\354\354\355\202\353\353\355\1\353\353\354\202" + "\362\362\362\202\361\361\362\2\361\361\361\361\360\360\203\360\356\357\203" + "\357\355\356\203\357\354\355\1\355\353\355\202\355\353\354\2\354\353\355" + "\354\353\354\202\353\353\355\1\353\353\354\202\352\352\354\1\351\351\353" + "\202\201\201\206\1\201\201\207\203\202\202\207\2\202\202\210\203\202\207" + "\203\204\203\207\2\204\203\210\205\204\210\202\205\204\211\202\206\205\211" + "\1\207\206\212\202\207\207\213\202\210\210\213\202\210\210\214\2\211\211" + "\215\212\212\215\232\232\320\25\232\230\317\25\232\227\317\24\232\242\323" + "-\232\235\317*\232\230\311&\232\222\302$\232\214\273!\232\206\264\36", +}; + diff --git a/src/image_data/gvo_banner_vid2_yellow.h b/src/image_data/gvo_banner_vid2_yellow.h new file mode 100644 index 0000000..8a99d29 --- /dev/null +++ b/src/image_data/gvo_banner_vid2_yellow.h @@ -0,0 +1,144 @@ +/* GIMP RGB C-Source image dump 1-byte-run-length-encoded */ + +#include "image.h" + +static const nv_image_t gvo_banner_vid2_yellow_image = { + 26, 60, 3, + "\232\201\221\33\232\235\257!\232\261\306&\232\301\326,\232\314\340.\232\321" + "\345/\232\324\3462\232\325\3472\264\334\3567\232\335\3578\203\366\366\370" + "\1\367\367\370\202\367\367\371\203\370\370\371\202\370\370\372\203\371\371" + "\372\1\372\372\372\204\372\372\373\1\373\373\373\203\373\373\374\203\374" + "\374\374\202\335\335\345\203\336\336\346\202\337\337\347\2\340\340\347\340" + "\340\350\202\341\341\350\2\342\342\350\342\342\351\202\343\343\351\202\344" + "\344\352\202\345\345\352\203\346\346\353\202\347\347\354\4\350\350\354\350" + "\350\355\335\335\345\335\335\346\202\336\336\346\2\337\337\346\337\337\347" + "\202\340\340\347\202\341\341\350\2\342\342\350\342\342\351\203\343\343\351" + "\202\344\344\352\2\345\345\352\345\345\353\202\346\346\353\202\347\347\354" + "\202\350\350\354\1\351\351\355\202\336\336\346\2\337\337\346\337\337\347" + "\202\340\340\347\203\341\341\350\202\342\342\351\202\343\343\351\202\344" + "\344\352\2\345\345\352\345\345\353\202\346\346\353\202\347\347\354\202\350" + "\350\354\203\351\351\355\1\337\337\346\202\337\337\347\2\340\340\347\340" + "\340\350\202\341\341\350\2\342\342\350\342\342\351\202\343\343\351\202\344" + "\344\352\2\345\345\352\345\345\353\202\346\346\353\1\347\347\353\202\347" + "\347\354\2\350\350\354\350\350\355\202\351\351\355\202\352\352\356\11\337" + "\337\347\340\340\347\0\0\0\264\264\271\341\341\350\342\342\350jjm==>\17\17" + "\20\202\344\344\352\202\345\345\352\3\345\345\353\0\0\0\346\346\353\202\347" + "\347\354\6\350\350\354\350\350\355mmo\0\0\0nno\352\352\356\202\353\353\356" + "\14\340\340\347\341\341\350<<>fff\350\350\355\342\342\351\36\36\37\240\240" + "\242\367\367\371\374\374\375\345\345\352\345\345\353\202\346\346\353\2\0" + "\0\0\376\376\376\202\350\350\354\202\351\351\355\6\0\0\0\365\365\367\0\0" + "\0\365\365\367\353\353\357\354\354\357\202\341\341\350\17\226\226\232\0\0" + "\0\363\363\366\305\305\312\0\0\0\373\373\373\0\0\0\345\345\353\346\346\353" + "\231\231\234\17\17\20../\0\0\0\376\376\376\350\350\355\202\351\351\355\202" + "\352\352\356\26\376\376\376\0\0\0\376\376\376\354\354\357\355\355\357\342" + "\342\350\342\342\351\343\343\351\0\0\0\334\334\334kknNNO\376\376\376\0\0" + "\0\376\376\376\346\346\353\0\0\0\277\277\301\333\333\333\0\0\0\376\376\376" + "\351\351\355\202\352\352\356\202\353\353\356\5oop__`\376\376\376\355\355" + "\360\356\356\360\202\343\343\351\17\344\344\352==?www//0\301\301\304\366" + "\366\370\0\0\0\376\376\376\347\347\354\0\0\0\376\376\376\355\355\360\0\0" + "\0\376\376\376\352\352\356\202\353\353\356\5\354\354\357\314\314\317\20\20" + "\20\366\366\367\367\367\370\202\356\356\360\1\343\343\351\202\344\344\352" + "\17\230\230\234!!!\20\20\20\371\371\372\354\354\360\0\0\0\376\376\376\350" + "\350\354\0\0\0\376\376\376\313\313\315\0\0\0\376\376\376\353\353\356\353" + "\353\357\202\354\354\357\4""000\200\200\201\375\375\375\356\356\360\202\357" + "\357\361\30\344\344\352\345\345\352\345\345\353\346\346\353\0\0\0eee\374" + "\374\375\350\350\354\0\0\0\376\376\376\351\351\355mmo333NNP\0\0\0\376\376" + "\376\354\354\357\0\0\0\355\355\357\355\355\360\0\0\0\21\21\21\20\20\21\357" + "\357\361\202\360\360\361\1\345\345\352\203\346\346\353\17\347\347\354\376" + "\376\376\365\365\367\350\350\355\351\351\355\376\376\376\352\352\355\352" + "\352\356\365\365\367\372\372\373\370\370\371\376\376\376\355\355\357\355" + "\355\360\376\376\376\202\356\356\360\1\376\376\376\202\375\375\375\2\360" + "\360\362\361\361\362\202\346\346\353\202\347\347\354\202\350\350\354\6>>" + "?\20\20\20\0\0\0//0\314\314\316\353\353\356\203\354\354\357\202\355\355\360" + "\202\356\356\360\4\317\317\321\357\357\361\360\360\361\360\360\362\202\361" + "\361\362\1\362\362\362\202\347\347\354\202\350\350\354\13\351\351\355NNO" + "//0\371\371\372\375\375\375fff222\356\356\361\354\354\357\355\355\357\355" + "\355\360\202\356\356\360\202\357\357\361\2\0\0\0\362\362\364\202\361\361" + "\362\1\362\362\362\202\362\362\363\3\347\347\354\350\350\354\350\350\355" + "\202\351\351\355\21\0\0\0\305\305\307\372\372\373\353\353\356\354\354\357" + "\0\0\0\373\373\373\355\355\360\0\0\0\356\356\360\357\357\361\0\0\0\360\360" + "\361ppq\0\0\0UUU\361\361\362\202\362\362\363\3\363\363\363\363\363\364\350" + "\350\355\202\351\351\355\23\352\352\355\352\352\356\0\0\0\376\376\376\360" + "\360\362\354\354\357\355\355\357\0\0\0\376\376\376\356\356\360\0\0\0\376" + "\376\376\357\357\361\0\0\0\376\376\376\361\361\362\0\0\0\376\376\376\372" + "\372\372\202\363\363\363\202\364\364\364\3\351\351\355\352\352\355\352\352" + "\356\202\353\353\356\22\20\20\20\313\313\313\354\354\357\355\355\357\315" + "\315\320\0\0\0\376\376\376\357\357\361\0\0\0\376\376\376\360\360\362\0\0" + "\0\376\376\376\362\362\362\0\0\0\376\376\376\363\363\363\363\363\364\203" + "\364\364\364\202\352\352\356\202\353\353\356\21\354\354\357OOPUUU\360\360" + "\363\356\356\360```AAA\376\376\376\360\360\361\0\0\0\376\376\376\301\301" + "\301\0\0\0\376\376\376\362\362\363\0\0\0\376\376\376\205\364\364\364\202" + "\353\353\356\202\354\354\357\21\355\355\357\315\315\320222\21\21\21\0\0\0" + """000\327\327\330\372\372\373\360\360\362QQQ\0\0\0AAA\0\0\0\376\376\376\363" + "\363\364!!!\0\0\0\205\364\364\364\202\354\354\357\1\355\355\357\202\355\355" + "\360\15\356\356\360\360\360\362\373\373\373\375\375\374\376\376\374\372\373" + "\371\362\363\361\360\361\357\361\362\360\371\372\367\375\376\374\373\373" + "\372\376\376\376\202\364\364\364\2\375\375\375\376\376\376\202\364\364\364" + "\5\363\363\364\363\363\363\354\354\357\355\355\357\355\355\360\202\356\356" + "\360\10\357\357\361\357\357\360\357\360\356\357\357\354\357\357\351\356\357" + "\350\357\360\350\357\360\351\202\360\361\351\4\360\361\353\362\363\355\363" + "\363\361\364\364\363\204\364\364\364\203\363\363\363\1\355\355\360\202\356" + "\356\360\202\357\357\361\3\360\360\360\357\357\354\356\356\351\202\356\357" + "\347\202\357\360\350\2\360\361\350\360\361\351\203\361\362\351\5\361\362" + "\352\362\363\355\363\364\362\364\364\364\363\363\364\204\363\363\363\202" + "\356\356\360\202\357\357\361\15\360\360\360\357\357\355\356\357\350\356\357" + "\347\357\360\350\262\263\253JJK\16\16\16\35\35\35---<<<}}~\312\313\302\202" + "\361\362\351\2\361\362\355\363\363\362\204\363\363\363\1\362\362\363\202" + "\357\357\361\4\360\360\361\360\360\362\360\361\357\357\357\351\202\357\360" + "\350\4hhi\0\0\0\5\5\5\2\2\2\202\0\0\0\4\4\4\4\"\"\"]]]\244\244\244\202\360" + "\361\350\1\362\362\357\202\363\363\363\202\362\362\363\6\362\362\362\360" + "\360\361\360\360\362\361\361\362\361\361\361\361\361\354\202\357\360\350" + "\5YYZ\0\0\0\16\16\1ee\0\274\274\0\202\310\310\0\11\274\274\0ee\0\7\7\7oo" + "o\274\274\274\360\361\350\361\362\353\362\362\362\362\362\363\203\362\362" + "\362\1\360\360\362\202\361\361\362\23\362\362\361\360\360\352\360\361\350" + "\263\264\254\0\0\0\16\16\1\243\243\0\310\310\0\326\343o\335\356\237\332\351" + "\207\324\337^\316\3230\243\243\0\11\11\11\222\222\222\341\342\331\357\360" + "\350\361\361\356\202\362\362\362\203\361\361\362\202\362\362\363\10\362\363" + "\360\360\361\351\361\362\351JJJ\5\5\5ee\0\310\310\0\330\346\177\202\345\376" + "\340\11\341\367\302\333\353\222\325\340b\316\3241ee\0DDD\321\321\321\357" + "\360\347\361\361\355\202\361\361\362\202\361\361\361\1\362\362\363\202\363" + "\363\363\25\363\364\361\361\362\352\361\362\351\16\16\16\2\2\2\274\274\0" + "\320\330A\335\356\237\344\374\327\344\375\334\341\367\304\335\356\237\327" + "\344v\321\332I\300\303\31\14\14\14\325\325\325\357\360\347\360\360\354\361" + "\361\362\361\361\361\202\360\360\361\26\363\363\363\363\363\364\364\364\364" + "\363\364\361\361\362\352\361\362\351\35\35\35\0\0\0\310\310\0\322\333P\333" + "\353\222\340\364\267\341\366\277\337\363\261\334\354\227\327\344v\322\333" + "P\315\321'\0\0\0\344\344\344\356\357\347\360\360\353\203\360\360\361\1\360" + "\360\360\203\364\364\364\25\363\364\361\361\362\352\361\362\351---\0\0\0" + "\310\310\0\321\331G\330\345z\333\354\226\335\356\237\334\355\230\331\350" + "\205\326\342k\322\332K\315\321'\0\0\0\364\364\364\356\357\346\357\357\353" + "\360\360\361\360\360\360\202\357\357\360\203\364\364\364\23\363\364\361\361" + "\362\352\360\361\351<<<\4\4\4\274\274\0\317\3244\324\336^\327\344v\330\347" + "\200\330\346|\326\343o\324\335Z\320\327?\300\303\35\16\16\16\376\376\376" + "\355\356\346\357\357\353\203\357\357\360\1\356\356\357\203\364\364\364\23" + "\362\363\362\360\361\352\360\361\350}}}\"\"\"ee\0\314\317\33\320\327?\323" + "\335U\324\337_\324\337^\323\334T\321\330D\316\323-fg\11___\366\366\367\355" + "\356\345\356\356\354\202\357\357\360\202\356\356\357\202\364\364\364\24\363" + "\363\364\363\363\362\361\362\354\360\361\350\312\313\302]]]\7\7\7\243\243" + "\0\314\320\40\317\3254\320\327?\320\327@\317\3269\316\322+\245\250\24\17" + "\17\17\336\336\336\360\361\351\354\355\346\356\357\356\203\356\356\357\2" + "\355\355\356\363\363\364\203\363\363\363\21\362\362\360\360\361\351\357\360" + "\350\252\252\253ooo\11\11\11ee\0\277\301\22\314\317\36\314\320\40\277\303" + "\31fg\10\17\17\17\316\316\316\363\363\364\354\355\345\355\355\351\202\356" + "\356\357\1\355\355\357\202\355\355\356\204\363\363\363\2\362\362\362\360" + "\361\354\202\357\360\347\4\272\272\273\222\222\222DDD\14\14\14\202\0\0\0" + "\10\16\16\16___\336\336\336\362\362\364\353\354\345\354\354\346\355\356\355" + "\355\355\357\202\355\355\356\2\354\354\356\354\354\355\202\363\363\363\202" + "\362\362\363\3\362\362\362\361\362\360\360\361\353\202\356\357\347\13\337" + "\340\327\320\320\321\325\325\325\344\344\344\364\364\364\376\376\376\366" + "\366\367\360\361\351\353\354\344\354\354\346\355\355\353\202\355\355\356" + "\202\354\354\356\4\354\354\355\353\353\355\363\363\363\362\362\363\203\362" + "\362\362\4\361\361\362\361\361\361\360\360\355\357\360\351\202\355\356\346" + "\1\355\356\345\203\354\355\345\4\353\354\344\353\354\345\355\355\351\354" + "\355\355\202\355\355\356\2\354\354\356\354\354\355\202\353\353\355\1\353" + "\353\354\202\362\362\362\202\361\361\362\202\361\361\361\202\360\360\361" + "\4\360\360\360\356\356\354\356\356\353\356\356\352\203\355\355\351\5\354" + "\354\353\354\355\354\355\355\356\354\354\356\354\354\355\202\353\353\355" + "\1\353\353\354\202\352\352\354\1\351\351\353\202\201\201\206\1\201\201\207" + "\203\202\202\207\2\202\202\210\203\203\210\203\204\204\210\2\204\204\211" + "\205\205\211\202\205\205\212\202\206\206\212\203\207\207\213\202\210\210" + "\213\202\210\210\214\2\211\211\215\212\212\215\232\232\320\25\232\230\317" + "\25\232\227\317\24\232\242\323-\232\235\317*\232\230\311&\232\222\302$\232" + "\214\273!\232\206\264\36", +}; + diff --git a/src/libXNVCtrl/NVCtrl.c b/src/libXNVCtrl/NVCtrl.c index 69ad617..56446d1 100644 --- a/src/libXNVCtrl/NVCtrl.c +++ b/src/libXNVCtrl/NVCtrl.c @@ -1,3 +1,13 @@ +/* + * Make sure that XTHREADS is defined, so that the + * LockDisplay/UnlockDisplay macros are expanded properly and the + * libXNVCtrl library properly protects the Display connection. + */ + +#if !defined(XTHREADS) +#define XTHREADS +#endif /* XTHREADS */ + #define NEED_EVENTS #define NEED_REPLIES #include <X11/Xlibint.h> diff --git a/src/libXNVCtrl/NVCtrl.h b/src/libXNVCtrl/NVCtrl.h index eb2dce4..9470ec9 100644 --- a/src/libXNVCtrl/NVCtrl.h +++ b/src/libXNVCtrl/NVCtrl.h @@ -147,6 +147,7 @@ * NV_CTRL_FSAA_MODE_4x_9t "4x Gaussian Multisampling" * NV_CTRL_FSAA_MODE_8x "2x Bilinear Multisampling by 4x Supersampling" * NV_CTRL_FSAA_MODE_16x "4x Bilinear Multisampling by 4x Supersampling" + * NV_CTRL_FSAA_MODE_8xS "4x Multisampling by 2x Supersampling" * * This setting is only applied to OpenGL clients that are started * after this setting is applied. @@ -162,6 +163,8 @@ #define NV_CTRL_FSAA_MODE_4x_9t 6 #define NV_CTRL_FSAA_MODE_8x 7 #define NV_CTRL_FSAA_MODE_16x 8 +#define NV_CTRL_FSAA_MODE_8xS 9 +#define NV_CTRL_FSAA_MODE_MAX NV_CTRL_FSAA_MODE_8xS /* @@ -650,7 +653,6 @@ * if this screen does not support PBUFFER_SCANOUT, then all other * PBUFFER_SCANOUT attributes are unavailable. */ - #define NV_CTRL_PBUFFER_SCANOUT_SUPPORTED 65 /* R-- */ #define NV_CTRL_PBUFFER_SCANOUT_FALSE 0 #define NV_CTRL_PBUFFER_SCANOUT_TRUE 1 @@ -661,7 +663,342 @@ */ #define NV_CTRL_PBUFFER_SCANOUT_XID 66 /* RW- */ -#define NV_CTRL_LAST_ATTRIBUTE NV_CTRL_PBUFFER_SCANOUT_XID +/**************************************************************************/ +/* + * The NV_CTRL_GVO_* integer attributes are used to configure GVO + * (Graphics to Video Out). This functionality is available, for + * example, on the Quadro FX 4000 SDI graphics board. + * + * Here is a normal usage pattern for the GVO attributes: + * + * - query NV_CTRL_GVO_SUPPORTED to determine if the X screen supports GV0. + * + * - specify NV_CTRL_GVO_SYNC_MODE (one of FREE_RUNNING, GENLOCK, or + * FRAMELOCK) + * + * - Use NV_CTRL_GVO_COMPOSITE_SYNC_INPUT_DETECTED and + * NV_CTRL_GVO_SDI_SYNC_INPUT_DETECTED to detect what input syncs are + * present. + * + * (If no analog sync is detected but it is known + * that a thought to be valid bi-level or tri-level + * sync is connected set + * NV_CTRL_GVO_COMPOSITE_SYNC_INPUT_DETECT_MODE + * appropriately and retest with + * NV_CTRL_GVO_COMPOSITE_SYNC_INPUT_DETECTED). + * + * - specify NV_CTRL_GVO_SYNC_SOURCE, if appropriate + * + * - if syncing to input sync, query the NV_CTRL_GVO_INPUT_VIDEO_FORMAT + * + * - query the valid NV_CTRL_GVO_OUTPUT_VIDEO_FORMAT values; the valid + * values will be a function of what is specified for + * NV_CTRL_GVO_SYNC_MODE and what INPUT_VIDEO_FORMAT mode is + * detected. + * + * - specify the NV_CTRL_GVO_DATA_FORMAT + * + * - if using the GLX_NV_video_out extension to display one or more + * pbuffers, call glXGetVideoDeviceNV() to lock the GVO output for use + * by the GLX client; then bind the pbuffer(s) to the GVO output with + * glXBindVideoImageNV() and send pbuffers to the GVO output with + * glXSendPbufferToVideoNV(); see the GLX_NV_video_out spec for more + * details. + * + * - if, rather than using the GLX_NV_video_out extension to display + * GLX pbuffers on the GVO output, you wish display the X screen on + * the GVO output, set NV_CTRL_GVO_DISPLAY_X_SCREEN to + * NV_CTRL_GVO_DISPLAY_X_SCREEN_ENABLE. + * + * Note that setting most GVO attributes only causes the value to be + * cached in the X server. The values will be flushed to the hardware + * either when NV_CTRL_GVO_DISPLAY_X_SCREEN is enabled, or when a GLX + * pbuffer is bound to the GVO output (with glXBindVideoImageNV()). + * + * Note that GLX_NV_video_out and NV_CTRL_GVO_DISPLAY_X_SCREEN are + * mutually exclusive. If NV_CTRL_GVO_DISPLAY_X_SCREEN is enabled, + * then glXGetVideoDeviceNV will fail. Similarly, if a GLX client has + * locked the GVO output (via glXGetVideoDeviceNV), then + * NV_CTRL_GVO_DISPLAY_X_SCREEN will fail. The NV_CTRL_GVO_LOCKED + * event will be sent when a GLX client locks the GVO output. + * + */ + + +/* + * NV_CTRL_GVO_SUPPORTED - returns whether this X screen supports GVO; + * if this screen does not support GVO output, then all other GVO + * attributes are unavailable. + */ + +#define NV_CTRL_GVO_SUPPORTED 67 /* R-- */ +#define NV_CTRL_GVO_SUPPORTED_FALSE 0 +#define NV_CTRL_GVO_SUPPORTED_TRUE 1 + + +/* + * NV_CTRL_GVO_SYNC_MODE - selects the GVO sync mode; possible values + * are: + * + * FREE_RUNNING - GVO does not sync to any external signal + * + * GENLOCK - the GVO output is genlocked to an incoming sync signal; + * genlocking locks at hsync. This requires that the output video + * format exactly match the incoming sync video format. + * + * FRAMELOCK - the GVO output is framelocked to an incoming sync + * signal; framelocking locks at vsync. This requires that the output + * video format have the same refresh rate as the incoming sync video + * format. + */ + +#define NV_CTRL_GVO_SYNC_MODE 68 /* RW- */ +#define NV_CTRL_GVO_SYNC_MODE_FREE_RUNNING 0 +#define NV_CTRL_GVO_SYNC_MODE_GENLOCK 1 +#define NV_CTRL_GVO_SYNC_MODE_FRAMELOCK 2 + + +/* + * NV_CTRL_GVO_SYNC_SOURCE - if NV_CTRL_GVO_SYNC_MODE is set to either + * GENLOCK or FRAMELOCK, this controls which sync source is used as + * the incoming sync signal (either Composite or SDI). If + * NV_CTRL_GVO_SYNC_MODE is FREE_RUNNING, this attribute has no + * effect. + */ + +#define NV_CTRL_GVO_SYNC_SOURCE 69 /* RW- */ +#define NV_CTRL_GVO_SYNC_SOURCE_COMPOSITE 0 +#define NV_CTRL_GVO_SYNC_SOURCE_SDI 1 + + +/* + * NV_CTRL_GVO_OUTPUT_VIDEO_FORMAT - specifies the output video + * format. Note that the valid video formats will vary depending on + * the NV_CTRL_GVO_SYNC_MODE and the incoming sync video format. See + * the definition of NV_CTRL_GVO_SYNC_MODE. + */ + +#define NV_CTRL_GVO_OUTPUT_VIDEO_FORMAT 70 /* RW- */ + +#define NV_CTRL_GVO_VIDEO_FORMAT_NONE 0 +#define NV_CTRL_GVO_VIDEO_FORMAT_480I_59_94_SMPTE259_NTSC 1 +#define NV_CTRL_GVO_VIDEO_FORMAT_576I_50_00_SMPTE259_PAL 2 +#define NV_CTRL_GVO_VIDEO_FORMAT_720P_59_94_SMPTE296 3 +#define NV_CTRL_GVO_VIDEO_FORMAT_720P_60_00_SMPTE296 4 +#define NV_CTRL_GVO_VIDEO_FORMAT_1035I_59_94_SMPTE260 5 +#define NV_CTRL_GVO_VIDEO_FORMAT_1035I_60_00_SMPTE260 6 +#define NV_CTRL_GVO_VIDEO_FORMAT_1080I_50_00_SMPTE295 7 +#define NV_CTRL_GVO_VIDEO_FORMAT_1080I_50_00_SMPTE274 8 +#define NV_CTRL_GVO_VIDEO_FORMAT_1080I_59_94_SMPTE274 9 +#define NV_CTRL_GVO_VIDEO_FORMAT_1080I_60_00_SMPTE274 10 +#define NV_CTRL_GVO_VIDEO_FORMAT_1080P_23_976_SMPTE274 11 +#define NV_CTRL_GVO_VIDEO_FORMAT_1080P_24_00_SMPTE274 12 +#define NV_CTRL_GVO_VIDEO_FORMAT_1080P_25_00_SMPTE274 13 +#define NV_CTRL_GVO_VIDEO_FORMAT_1080P_29_97_SMPTE274 14 +#define NV_CTRL_GVO_VIDEO_FORMAT_1080P_30_00_SMPTE274 15 + + +/* + * NV_CTRL_GVO_INPUT_VIDEO_FORMAT - indicates the input video format + * detected; the possible values are the NV_CTRL_GVO_VIDEO_FORMAT + * constants. + */ + +#define NV_CTRL_GVO_INPUT_VIDEO_FORMAT 71 /* R-- */ + + +/* + * NV_CTRL_GVO_DATA_FORMAT - This controls how the data in the source + * (either the X screen or the GLX pbuffer) is interpretted and + * displayed. + */ + +#define NV_CTRL_GVO_DATA_FORMAT 72 /* RW- */ +#define NV_CTRL_GVO_DATA_FORMAT_R8G8B8_TO_YCRCB444 0 +#define NV_CTRL_GVO_DATA_FORMAT_R8G8B8A8_TO_YCRCBA4444 1 +#define NV_CTRL_GVO_DATA_FORMAT_R8G8B8Z10_TO_YCRCBZ4444 2 +#define NV_CTRL_GVO_DATA_FORMAT_R8G8B8_TO_YCRCB422 3 +#define NV_CTRL_GVO_DATA_FORMAT_R8G8B8A8_TO_YCRCBA4224 4 +#define NV_CTRL_GVO_DATA_FORMAT_R8G8B8Z10_TO_YCRCBZ4224 5 +#define NV_CTRL_GVO_DATA_FORMAT_R8G8B8_TO_RGB444 6 +#define NV_CTRL_GVO_DATA_FORMAT_R8G8B8A8_TO_RGBA4444 7 +#define NV_CTRL_GVO_DATA_FORMAT_R8G8B8Z10_TO_RGBZ4444 8 +#define NV_CTRL_GVO_DATA_FORMAT_Y10CR10CB10_TO_YCRCB444 9 +#define NV_CTRL_GVO_DATA_FORMAT_Y10CR8CB8_TO_YCRCB444 10 +#define NV_CTRL_GVO_DATA_FORMAT_Y10CR8CB8A10_TO_YCRCBA4444 11 +#define NV_CTRL_GVO_DATA_FORMAT_Y10CR8CB8Z10_TO_YCRCBZ4444 12 +#define NV_CTRL_GVO_DATA_FORMAT_DUAL_R8G8B8_TO_DUAL_YCRCB422 13 +#define NV_CTRL_GVO_DATA_FORMAT_DUAL_Y8CR8CB8_TO_DUAL_YCRCB422 14 + + +/* + * NV_CTRL_GVO_DISPLAY_X_SCREEN - enable/disable GVO output of the X + * screen. At this point, all the GVO attributes that have been + * cached in the X server are flushed to the hardware and GVO is + * enabled. Note that this attribute can fail to be set if a GLX + * client has locked the GVO output (via glXGetVideoDeviceNV). Note + * that due to the inherit race conditions in this locking strategy, + * NV_CTRL_GVO_DISPLAY_X_SCREEN can fail unexpectantly. In the + * failing situation, X will not return an X error. Instead, you + * should query the value of NV_CTRL_GVO_DISPLAY_X_SCREEN after + * setting it to confirm that the setting was applied. + */ + +#define NV_CTRL_GVO_DISPLAY_X_SCREEN 73 /* RW- */ +#define NV_CTRL_GVO_DISPLAY_X_SCREEN_ENABLE 1 +#define NV_CTRL_GVO_DISPLAY_X_SCREEN_DISABLE 0 + + +/* + * NV_CTRL_GVO_COMPOSITE_SYNC_INPUT_DETECTED - indicates whether + * Composite Sync input is detected. + */ + +#define NV_CTRL_GVO_COMPOSITE_SYNC_INPUT_DETECTED 74 /* R-- */ +#define NV_CTRL_GVO_COMPOSITE_SYNC_INPUT_DETECTED_FALSE 0 +#define NV_CTRL_GVO_COMPOSITE_SYNC_INPUT_DETECTED_TRUE 1 + + +/* + * NV_CTRL_GVO_COMPOSITE_SYNC_INPUT_DETECT_MODE - get/set the + * Composite Sync input detect mode. XXX is this needed? + */ + +#define NV_CTRL_GVO_COMPOSITE_SYNC_INPUT_DETECT_MODE 75 /* RW- */ +#define NV_CTRL_GVO_COMPOSITE_SYNC_INPUT_DETECT_MODE_AUTO 0 +#define NV_CTRL_GVO_COMPOSITE_SYNC_INPUT_DETECT_MODE_BI_LEVEL 1 +#define NV_CTRL_GVO_COMPOSITE_SYNC_INPUT_DETECT_MODE_TRI_LEVEL 2 + + +/* + * NV_CTRL_GVO_SYNC_INPUT_DETECTED - indicates whether SDI Sync input + * is detected, and what type. + */ + +#define NV_CTRL_GVO_SDI_SYNC_INPUT_DETECTED 76 /* R-- */ +#define NV_CTRL_GVO_SDI_SYNC_INPUT_DETECTED_NONE 0 +#define NV_CTRL_GVO_SDI_SYNC_INPUT_DETECTED_HD 1 +#define NV_CTRL_GVO_SDI_SYNC_INPUT_DETECTED_SD 2 + + +/* + * NV_CTRL_GVO_VIDEO_OUTPUTS - indicates which GVO video output + * connectors are currently outputing data. + */ + +#define NV_CTRL_GVO_VIDEO_OUTPUTS 77 /* R-- */ +#define NV_CTRL_GVO_VIDEO_OUTPUTS_NONE 0 +#define NV_CTRL_GVO_VIDEO_OUTPUTS_VIDEO1 1 +#define NV_CTRL_GVO_VIDEO_OUTPUTS_VIDEO2 2 +#define NV_CTRL_GVO_VIDEO_OUTPUTS_VIDEO_BOTH 3 + + +/* + * NV_CTRL_GVO_FPGA_VERSION - indicates the version of the Firmware on + * the GVO device. XXX would this be better as a string attribute? + */ + +#define NV_CTRL_GVO_FIRMWARE_VERSION 78 /* R-- */ + + +/* + * NV_CTRL_GVO_SYNC_DELAY_PIXELS - controls the delay between the + * input sync and the output sync in numbers of pixels from hsync; + * this is a 12 bit value. + */ + +#define NV_CTRL_GVO_SYNC_DELAY_PIXELS 79 /* RW- */ + + +/* + * NV_CTRL_GVO_SYNC_DELAY_LINES - controls the delay between the input + * sync and the output sync in numbers of lines from vsync; this is a + * 12 bit value. + */ + +#define NV_CTRL_GVO_SYNC_DELAY_LINES 80 /* RW- */ + + +/* + * NV_CTRL_GVO_INPUT_VIDEO_FORMAT_REACQUIRE - must be set for a period + * of about 2 seconds for the new InputVideoFormat to be properly + * locked to. In nvidia-settings, we do a reacquire whenever genlock + * or framelock mode is entered into, when the user clicks the + * "detect" button. This value can be written, but always reads back + * _FALSE. + */ + +#define NV_CTRL_GVO_INPUT_VIDEO_FORMAT_REACQUIRE 81 /* -W- */ +#define NV_CTRL_GVO_INPUT_VIDEO_FORMAT_REACQUIRE_FALSE 0 +#define NV_CTRL_GVO_INPUT_VIDEO_FORMAT_REACQUIRE_TRUE 1 + + +/* + * NV_CTRL_GVO_LOCKED - indicates that GVO configurability is locked; + * this occurs when the GLX_NV_video_out function calls + * glXGetVideoDeviceNV(). All GVO output resources are locked until + * either glXReleaseVideoDeviceNV() is called or the X Display used + * when calling glXGetVideoDeviceNV() is closed. + * + * When GVO is locked; all GVO NV-CONTROL attributes are read only. + */ + +#define NV_CTRL_GVO_GLX_LOCKED 82 /* R-- */ +#define NV_CTRL_GVO_GLX_LOCKED_FALSE 0 +#define NV_CTRL_GVO_GLX_LOCKED_TRUE 1 + + + +/* + * NV_CTRL_GVO_VIDEO_FORMAT_{WIDTH,HEIGHT,REFRESH_RATE} - query the + * width, height, and refresh rate for the specified + * NV_CTRL_GVO_VIDEO_FORMAT_*. So that this can be queried with + * existing interfaces, XNVCTRLQueryAttribute() should be used, and + * the video format specified in the display_mask field; eg: + * + * XNVCTRLQueryAttribute (dpy, + * screen, + * NV_CTRL_GVO_VIDEO_FORMAT_480I_59_94_SMPTE259_NTSC + * NV_CTRL_GVO_VIDEO_FORMAT_WIDTH, + * &value); + * + * Note that Refresh Rate is in 1/1000 Hertz values + */ + +#define NV_CTRL_GVO_VIDEO_FORMAT_WIDTH 83 /* R-- */ +#define NV_CTRL_GVO_VIDEO_FORMAT_HEIGHT 84 /* R-- */ +#define NV_CTRL_GVO_VIDEO_FORMAT_REFRESH_RATE 85 /* R-- */ + + +/* + * NV_CTRL_GVO_X_SCREEN_PAN_[XY] - when GVO output of the X screen is + * enabled, the pan x/y attributes control which portion of the X + * screen is displayed by GVO. These attributes can be updated while + * GVO output is enabled, or before enabling GVO output. The pan + * values will be clamped so that GVO output is not panned beyond the + * end of the X screen. + */ + +#define NV_CTRL_GVO_X_SCREEN_PAN_X 86 /* RW- */ +#define NV_CTRL_GVO_X_SCREEN_PAN_Y 87 /* RW- */ + + +/* + * XXX Still to do: GVO Color Conversion + */ + +/* + * XXX what sync error attributes do we need to expose? + */ + + +/**************************************************************************/ + + +#define NV_CTRL_LAST_ATTRIBUTE NV_CTRL_GVO_X_SCREEN_PAN_Y + + + /**************************************************************************/ diff --git a/src/libXNVCtrl/libXNVCtrl.a b/src/libXNVCtrl/libXNVCtrl.a Binary files differindex f1a145f..83c81c6 100644 --- a/src/libXNVCtrl/libXNVCtrl.a +++ b/src/libXNVCtrl/libXNVCtrl.a diff --git a/src/libXNVCtrlAttributes/NvCtrlAttributes.c b/src/libXNVCtrlAttributes/NvCtrlAttributes.c index 07b0256..3d70024 100644 --- a/src/libXNVCtrlAttributes/NvCtrlAttributes.c +++ b/src/libXNVCtrlAttributes/NvCtrlAttributes.c @@ -141,6 +141,60 @@ Display *NvCtrlGetDisplayPtr(NvCtrlAttributeHandle *handle) } /* NvCtrlDisplayPtr() */ +/* + * NvCtrlGetScreen() - returns the screen number associated with this + * NvCtrlAttributeHandle. + */ + +int NvCtrlGetScreen(NvCtrlAttributeHandle *handle) +{ + NvCtrlAttributePrivateHandle *h; + + if (!handle) return -1; + + h = (NvCtrlAttributePrivateHandle *) handle; + + return h->screen; + +} /* NvCtrlGetScreen() */ + + +/* + * NvCtrlGetScreenWidth() - return the width of the screen associated + * with this NvCtrlAttributeHandle. + */ + +int NvCtrlGetScreenWidth(NvCtrlAttributeHandle *handle) +{ + NvCtrlAttributePrivateHandle *h; + + if (!handle) return -1; + + h = (NvCtrlAttributePrivateHandle *) handle; + + return DisplayWidth(h->dpy, h->screen); + +} /* NvCtrlGetScreenWidth() */ + + +/* + * NvCtrlGetScreenHeight() - return the height of the screen + * associated with this NvCtrlAttributeHandle. + */ + +int NvCtrlGetScreenHeight(NvCtrlAttributeHandle *handle) +{ + NvCtrlAttributePrivateHandle *h; + + if (!handle) return -1; + + h = (NvCtrlAttributePrivateHandle *) handle; + + return DisplayHeight(h->dpy, h->screen); + +} /* NvCtrlGetScreenHeight() */ + + int NvCtrlGetEventBase(NvCtrlAttributeHandle *handle) { NvCtrlAttributePrivateHandle *h; diff --git a/src/libXNVCtrlAttributes/NvCtrlAttributes.h b/src/libXNVCtrlAttributes/NvCtrlAttributes.h index 08c90ff..b1b6be8 100644 --- a/src/libXNVCtrlAttributes/NvCtrlAttributes.h +++ b/src/libXNVCtrlAttributes/NvCtrlAttributes.h @@ -153,6 +153,9 @@ NvCtrlAttributeHandle *NvCtrlAttributeInit(Display *dpy, int screen, char *NvCtrlGetDisplayName(NvCtrlAttributeHandle *handle); Display *NvCtrlGetDisplayPtr(NvCtrlAttributeHandle *handle); +int NvCtrlGetScreen(NvCtrlAttributeHandle *handle); +int NvCtrlGetScreenWidth(NvCtrlAttributeHandle *handle); +int NvCtrlGetScreenHeight(NvCtrlAttributeHandle *handle); int NvCtrlGetEventBase(NvCtrlAttributeHandle *handle); ReturnStatus NvCtrlGetColorAttributes (NvCtrlAttributeHandle *handle, |