From f0ede0a585b7b0e79a7b37bc94d9ca3398b55bd4 Mon Sep 17 00:00:00 2001 From: Julian Sparber Date: Sat, 11 Feb 2017 20:15:35 +0100 Subject: [PATCH] first commit --- README.md | 1 + src/glade.window.ui | 145 ++++++ src/gschemas.compiled | Bin 0 -> 448 bytes src/main.c | 9 + src/org.gtk.paperplaneapp.gschema.xml | 25 + src/paperplaneapp | Bin 0 -> 19664 bytes src/paperplaneapp.c | 63 +++ src/paperplaneapp.gresource.xml | 6 + src/paperplaneapp.h | 14 + src/paperplaneappwin.c | 36 ++ src/paperplaneappwin.h | 16 + src/resources.c | 692 ++++++++++++++++++++++++++ src/window.ui | 145 ++++++ 13 files changed, 1152 insertions(+) create mode 100644 README.md create mode 100644 src/glade.window.ui create mode 100644 src/gschemas.compiled create mode 100644 src/main.c create mode 100644 src/org.gtk.paperplaneapp.gschema.xml create mode 100755 src/paperplaneapp create mode 100644 src/paperplaneapp.c create mode 100644 src/paperplaneapp.gresource.xml create mode 100644 src/paperplaneapp.h create mode 100644 src/paperplaneappwin.c create mode 100644 src/paperplaneappwin.h create mode 100644 src/resources.c create mode 100644 src/window.ui diff --git a/README.md b/README.md new file mode 100644 index 0000000..6f9bfa7 --- /dev/null +++ b/README.md @@ -0,0 +1 @@ +# teleport diff --git a/src/glade.window.ui b/src/glade.window.ui new file mode 100644 index 0000000..848c692 --- /dev/null +++ b/src/glade.window.ui @@ -0,0 +1,145 @@ + + + + + diff --git a/src/gschemas.compiled b/src/gschemas.compiled new file mode 100644 index 0000000000000000000000000000000000000000..3632ad05d6e618ac1e849abc05f1a68b82bc82fc GIT binary patch literal 448 zcmY*VyH3L}6ur=9frX_K8;r@2M(`7KfE6Lc;wH{RM7Cuc8YIfh7gS>77g!h&Lw|&g z&p-<2)+rKKIzA`o+P=;?yA-w&%F|GX;H#kH-ND-dcW+1U%-oyMj0|`TBbpHPs1I(^ zIemiHfVS1N^0!kXjI^c|N(#egP;nHP_z2G!4KRAPVvq0LqkB34Ujy42ta-)_xCZ85 z-H0vLyuSl4fuHZyBm1n!@Snjiz?4X@{2=adMlLs#oXy3n?8n`^Pe^Q6>&!Cz>l doe{Y_J~>6tB}mTKL>Yq25M=f*$c$*X=NCS3U+Vw> literal 0 HcmV?d00001 diff --git a/src/main.c b/src/main.c new file mode 100644 index 0000000..5e51045 --- /dev/null +++ b/src/main.c @@ -0,0 +1,9 @@ +#include + +#include "paperplaneapp.h" + +int +main (int argc, char *argv[]) +{ + return g_application_run (G_APPLICATION (paperplane_app_new ()), argc, argv); +} diff --git a/src/org.gtk.paperplaneapp.gschema.xml b/src/org.gtk.paperplaneapp.gschema.xml new file mode 100644 index 0000000..f97eadc --- /dev/null +++ b/src/org.gtk.paperplaneapp.gschema.xml @@ -0,0 +1,25 @@ + + + + + 'Monospace 12' + Font + The font to be used for content. + + + + + + + + 'none' + Transition + The transition to use when switching tabs. + + + false + Show words + Whether to show a word list in the sidebar + + + diff --git a/src/paperplaneapp b/src/paperplaneapp new file mode 100755 index 0000000000000000000000000000000000000000..3b54d194029cac63c6c9ffcde8bdc08c6d6aab31 GIT binary patch literal 19664 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 literal 0 HcmV?d00001 diff --git a/src/paperplaneapp.c b/src/paperplaneapp.c new file mode 100644 index 0000000..cbf13d0 --- /dev/null +++ b/src/paperplaneapp.c @@ -0,0 +1,63 @@ +#include + +#include "paperplaneapp.h" +#include "paperplaneappwin.h" + +struct _PaperplaneApp +{ + GtkApplication parent; +}; + +G_DEFINE_TYPE(PaperplaneApp, paperplane_app, GTK_TYPE_APPLICATION); + + static void +paperplane_app_init (PaperplaneApp *app) +{ +} + + static void +paperplane_app_activate (GApplication *app) +{ + PaperplaneAppWindow *win; + + win = paperplane_app_window_new (PAPERPLANE_APP (app)); + gtk_window_present (GTK_WINDOW (win)); +} + + static void +paperplane_app_open (GApplication *app, + GFile **files, + gint n_files, + const gchar *hint) +{ + GList *windows; + PaperplaneAppWindow *win; + int i; + + windows = gtk_application_get_windows (GTK_APPLICATION (app)); + if (windows) + win = PAPERPLANE_APP_WINDOW (windows->data); + else + win = paperplane_app_window_new (PAPERPLANE_APP (app)); + + for (i = 0; i < n_files; i++) + paperplane_app_window_open (win, files[i]); + + gtk_window_present (GTK_WINDOW (win)); +} + + static void +paperplane_app_class_init (PaperplaneAppClass *class) +{ + G_APPLICATION_CLASS (class)->activate = paperplane_app_activate; + G_APPLICATION_CLASS (class)->open = paperplane_app_open; +} + + PaperplaneApp * +paperplane_app_new (void) +{ + return g_object_new (PAPERPLANE_APP_TYPE, + "application-id", "org.gtk.paperplaneapp", + "flags", G_APPLICATION_HANDLES_OPEN, + NULL); +} diff --git a/src/paperplaneapp.gresource.xml b/src/paperplaneapp.gresource.xml new file mode 100644 index 0000000..1c82062 --- /dev/null +++ b/src/paperplaneapp.gresource.xml @@ -0,0 +1,6 @@ + + + + window.ui + + diff --git a/src/paperplaneapp.h b/src/paperplaneapp.h new file mode 100644 index 0000000..5f6120e --- /dev/null +++ b/src/paperplaneapp.h @@ -0,0 +1,14 @@ +#ifndef __PAPERPLANEAPP_H +#define __PAPERPLANEAPP_H + +#include + + +#define PAPERPLANE_APP_TYPE (paperplane_app_get_type ()) +G_DECLARE_FINAL_TYPE (PaperplaneApp, paperplane_app, PAPERPLANE, APP, GtkApplication) + + +PaperplaneApp *paperplane_app_new (void); + + +#endif /* __PAPERPLANEAPP_H */ diff --git a/src/paperplaneappwin.c b/src/paperplaneappwin.c new file mode 100644 index 0000000..69fcc55 --- /dev/null +++ b/src/paperplaneappwin.c @@ -0,0 +1,36 @@ +#include + +#include "paperplaneapp.h" +#include "paperplaneappwin.h" + +struct _PaperplaneAppWindow +{ + GtkApplicationWindow parent; +}; + +G_DEFINE_TYPE(PaperplaneAppWindow, paperplane_app_window, GTK_TYPE_APPLICATION_WINDOW); + + static void +paperplane_app_window_init (PaperplaneAppWindow *win) +{ + gtk_widget_init_template (GTK_WIDGET (win)); +} + + static void +paperplane_app_window_class_init (PaperplaneAppWindowClass *class) +{ + gtk_widget_class_set_template_from_resource (GTK_WIDGET_CLASS (class), + "/org/gtk/paperplaneapp/window.ui"); +} + + PaperplaneAppWindow * +paperplane_app_window_new (PaperplaneApp *app) +{ + return g_object_new (PAPERPLANE_APP_WINDOW_TYPE, "application", app, NULL); +} + + void +paperplane_app_window_open (PaperplaneAppWindow *win, + GFile *file) +{ +} diff --git a/src/paperplaneappwin.h b/src/paperplaneappwin.h new file mode 100644 index 0000000..aa3991b --- /dev/null +++ b/src/paperplaneappwin.h @@ -0,0 +1,16 @@ +#ifndef __PAPERPLANEAPPWIN_H +#define __PAPERPLANEAPPWIN_H + +#include +#include "paperplaneapp.h" + + +#define PAPERPLANE_APP_WINDOW_TYPE (paperplane_app_window_get_type ()) +G_DECLARE_FINAL_TYPE (PaperplaneAppWindow, paperplane_app_window, PAPERPLANE, APP_WINDOW, GtkApplicationWindow) + + PaperplaneAppWindow *paperplane_app_window_new (PaperplaneApp *app); + void paperplane_app_window_open (PaperplaneAppWindow *win, + GFile *file); + + +#endif /* __PAPERPLANEAPPWIN_H */ diff --git a/src/resources.c b/src/resources.c new file mode 100644 index 0000000..612231a --- /dev/null +++ b/src/resources.c @@ -0,0 +1,692 @@ +#include + +#if defined (__ELF__) && ( __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 6)) +# define SECTION __attribute__ ((section (".gresource.paperplaneapp"), aligned (8))) +#else +# define SECTION +#endif + +static const SECTION union { const guint8 data[4240]; const double alignment; void * const ptr;} paperplaneapp_resource_data = { { + 0x47, 0x56, 0x61, 0x72, 0x69, 0x61, 0x6e, 0x74, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x18, 0x00, 0x00, 0x00, 0xac, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x28, 0x05, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, + 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, + 0x04, 0x00, 0x00, 0x00, 0x4b, 0x50, 0x90, 0x0b, + 0x01, 0x00, 0x00, 0x00, 0xac, 0x00, 0x00, 0x00, + 0x04, 0x00, 0x4c, 0x00, 0xb0, 0x00, 0x00, 0x00, + 0xb4, 0x00, 0x00, 0x00, 0xd4, 0xb5, 0x02, 0x00, + 0xff, 0xff, 0xff, 0xff, 0xb4, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x4c, 0x00, 0xb8, 0x00, 0x00, 0x00, + 0xbc, 0x00, 0x00, 0x00, 0x7c, 0xc7, 0x2b, 0xab, + 0x03, 0x00, 0x00, 0x00, 0xbc, 0x00, 0x00, 0x00, + 0x09, 0x00, 0x76, 0x00, 0xc8, 0x00, 0x00, 0x00, + 0x76, 0x10, 0x00, 0x00, 0xb8, 0xb2, 0x4d, 0x72, + 0x04, 0x00, 0x00, 0x00, 0x76, 0x10, 0x00, 0x00, + 0x0e, 0x00, 0x4c, 0x00, 0x84, 0x10, 0x00, 0x00, + 0x88, 0x10, 0x00, 0x00, 0x40, 0xf4, 0xbf, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x88, 0x10, 0x00, 0x00, + 0x04, 0x00, 0x4c, 0x00, 0x8c, 0x10, 0x00, 0x00, + 0x90, 0x10, 0x00, 0x00, 0x6f, 0x72, 0x67, 0x2f, + 0x04, 0x00, 0x00, 0x00, 0x2f, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x77, 0x69, 0x6e, 0x64, + 0x6f, 0x77, 0x2e, 0x75, 0x69, 0x00, 0x00, 0x00, + 0x9e, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3c, 0x3f, 0x78, 0x6d, 0x6c, 0x20, 0x76, 0x65, + 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x3d, 0x22, 0x31, + 0x2e, 0x30, 0x22, 0x20, 0x65, 0x6e, 0x63, 0x6f, + 0x64, 0x69, 0x6e, 0x67, 0x3d, 0x22, 0x55, 0x54, + 0x46, 0x2d, 0x38, 0x22, 0x3f, 0x3e, 0x0a, 0x3c, + 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, + 0x65, 0x3e, 0x3c, 0x21, 0x2d, 0x2d, 0x20, 0x69, + 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, + 0x2d, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, + 0x73, 0x20, 0x67, 0x74, 0x6b, 0x2b, 0x20, 0x33, + 0x2e, 0x38, 0x20, 0x2d, 0x2d, 0x3e, 0x3c, 0x74, + 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x20, + 0x63, 0x6c, 0x61, 0x73, 0x73, 0x3d, 0x22, 0x50, + 0x61, 0x70, 0x65, 0x72, 0x70, 0x6c, 0x61, 0x6e, + 0x65, 0x41, 0x70, 0x70, 0x57, 0x69, 0x6e, 0x64, + 0x6f, 0x77, 0x22, 0x20, 0x70, 0x61, 0x72, 0x65, + 0x6e, 0x74, 0x3d, 0x22, 0x47, 0x74, 0x6b, 0x41, + 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, + 0x22, 0x3e, 0x3c, 0x70, 0x72, 0x6f, 0x70, 0x65, + 0x72, 0x74, 0x79, 0x20, 0x6e, 0x61, 0x6d, 0x65, + 0x3d, 0x22, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x22, + 0x20, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, + 0x74, 0x61, 0x62, 0x6c, 0x65, 0x3d, 0x22, 0x79, + 0x65, 0x73, 0x22, 0x3e, 0x50, 0x61, 0x70, 0x65, + 0x72, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x3c, 0x2f, + 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, + 0x3e, 0x3c, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, + 0x74, 0x79, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d, + 0x22, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, + 0x5f, 0x77, 0x69, 0x64, 0x74, 0x68, 0x22, 0x3e, + 0x36, 0x30, 0x30, 0x3c, 0x2f, 0x70, 0x72, 0x6f, + 0x70, 0x65, 0x72, 0x74, 0x79, 0x3e, 0x3c, 0x70, + 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x20, + 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22, 0x64, 0x65, + 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x68, 0x65, + 0x69, 0x67, 0x68, 0x74, 0x22, 0x3e, 0x34, 0x30, + 0x30, 0x3c, 0x2f, 0x70, 0x72, 0x6f, 0x70, 0x65, + 0x72, 0x74, 0x79, 0x3e, 0x3c, 0x63, 0x68, 0x69, + 0x6c, 0x64, 0x3e, 0x3c, 0x6f, 0x62, 0x6a, 0x65, + 0x63, 0x74, 0x20, 0x63, 0x6c, 0x61, 0x73, 0x73, + 0x3d, 0x22, 0x47, 0x74, 0x6b, 0x41, 0x6c, 0x69, + 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x22, 0x3e, + 0x3c, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, + 0x79, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22, + 0x76, 0x69, 0x73, 0x69, 0x62, 0x6c, 0x65, 0x22, + 0x3e, 0x54, 0x72, 0x75, 0x65, 0x3c, 0x2f, 0x70, + 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x3e, + 0x3c, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, + 0x79, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22, + 0x63, 0x61, 0x6e, 0x5f, 0x66, 0x6f, 0x63, 0x75, + 0x73, 0x22, 0x3e, 0x46, 0x61, 0x6c, 0x73, 0x65, + 0x3c, 0x2f, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, + 0x74, 0x79, 0x3e, 0x3c, 0x70, 0x72, 0x6f, 0x70, + 0x65, 0x72, 0x74, 0x79, 0x20, 0x6e, 0x61, 0x6d, + 0x65, 0x3d, 0x22, 0x74, 0x6f, 0x70, 0x5f, 0x70, + 0x61, 0x64, 0x64, 0x69, 0x6e, 0x67, 0x22, 0x3e, + 0x33, 0x30, 0x3c, 0x2f, 0x70, 0x72, 0x6f, 0x70, + 0x65, 0x72, 0x74, 0x79, 0x3e, 0x3c, 0x70, 0x72, + 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x20, 0x6e, + 0x61, 0x6d, 0x65, 0x3d, 0x22, 0x6c, 0x65, 0x66, + 0x74, 0x5f, 0x70, 0x61, 0x64, 0x64, 0x69, 0x6e, + 0x67, 0x22, 0x3e, 0x31, 0x30, 0x30, 0x3c, 0x2f, + 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, + 0x3e, 0x3c, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, + 0x74, 0x79, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d, + 0x22, 0x72, 0x69, 0x67, 0x68, 0x74, 0x5f, 0x70, + 0x61, 0x64, 0x64, 0x69, 0x6e, 0x67, 0x22, 0x3e, + 0x31, 0x30, 0x30, 0x3c, 0x2f, 0x70, 0x72, 0x6f, + 0x70, 0x65, 0x72, 0x74, 0x79, 0x3e, 0x3c, 0x63, + 0x68, 0x69, 0x6c, 0x64, 0x3e, 0x3c, 0x6f, 0x62, + 0x6a, 0x65, 0x63, 0x74, 0x20, 0x63, 0x6c, 0x61, + 0x73, 0x73, 0x3d, 0x22, 0x47, 0x74, 0x6b, 0x42, + 0x6f, 0x78, 0x22, 0x3e, 0x3c, 0x70, 0x72, 0x6f, + 0x70, 0x65, 0x72, 0x74, 0x79, 0x20, 0x6e, 0x61, + 0x6d, 0x65, 0x3d, 0x22, 0x76, 0x69, 0x73, 0x69, + 0x62, 0x6c, 0x65, 0x22, 0x3e, 0x54, 0x72, 0x75, + 0x65, 0x3c, 0x2f, 0x70, 0x72, 0x6f, 0x70, 0x65, + 0x72, 0x74, 0x79, 0x3e, 0x3c, 0x70, 0x72, 0x6f, + 0x70, 0x65, 0x72, 0x74, 0x79, 0x20, 0x6e, 0x61, + 0x6d, 0x65, 0x3d, 0x22, 0x63, 0x61, 0x6e, 0x5f, + 0x66, 0x6f, 0x63, 0x75, 0x73, 0x22, 0x3e, 0x46, + 0x61, 0x6c, 0x73, 0x65, 0x3c, 0x2f, 0x70, 0x72, + 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x3e, 0x3c, + 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, + 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22, 0x6f, + 0x72, 0x69, 0x65, 0x6e, 0x74, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x22, 0x3e, 0x76, 0x65, 0x72, 0x74, + 0x69, 0x63, 0x61, 0x6c, 0x3c, 0x2f, 0x70, 0x72, + 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x3e, 0x3c, + 0x63, 0x68, 0x69, 0x6c, 0x64, 0x3e, 0x3c, 0x6f, + 0x62, 0x6a, 0x65, 0x63, 0x74, 0x20, 0x63, 0x6c, + 0x61, 0x73, 0x73, 0x3d, 0x22, 0x47, 0x74, 0x6b, + 0x42, 0x6f, 0x78, 0x22, 0x3e, 0x3c, 0x70, 0x72, + 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x20, 0x6e, + 0x61, 0x6d, 0x65, 0x3d, 0x22, 0x76, 0x69, 0x73, + 0x69, 0x62, 0x6c, 0x65, 0x22, 0x3e, 0x54, 0x72, + 0x75, 0x65, 0x3c, 0x2f, 0x70, 0x72, 0x6f, 0x70, + 0x65, 0x72, 0x74, 0x79, 0x3e, 0x3c, 0x70, 0x72, + 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x20, 0x6e, + 0x61, 0x6d, 0x65, 0x3d, 0x22, 0x63, 0x61, 0x6e, + 0x5f, 0x66, 0x6f, 0x63, 0x75, 0x73, 0x22, 0x3e, + 0x46, 0x61, 0x6c, 0x73, 0x65, 0x3c, 0x2f, 0x70, + 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x3e, + 0x3c, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, + 0x79, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22, + 0x6d, 0x61, 0x72, 0x67, 0x69, 0x6e, 0x5f, 0x62, + 0x6f, 0x74, 0x74, 0x6f, 0x6d, 0x22, 0x3e, 0x33, + 0x30, 0x3c, 0x2f, 0x70, 0x72, 0x6f, 0x70, 0x65, + 0x72, 0x74, 0x79, 0x3e, 0x3c, 0x70, 0x72, 0x6f, + 0x70, 0x65, 0x72, 0x74, 0x79, 0x20, 0x6e, 0x61, + 0x6d, 0x65, 0x3d, 0x22, 0x6f, 0x72, 0x69, 0x65, + 0x6e, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, + 0x3e, 0x76, 0x65, 0x72, 0x74, 0x69, 0x63, 0x61, + 0x6c, 0x3c, 0x2f, 0x70, 0x72, 0x6f, 0x70, 0x65, + 0x72, 0x74, 0x79, 0x3e, 0x3c, 0x63, 0x68, 0x69, + 0x6c, 0x64, 0x3e, 0x3c, 0x6f, 0x62, 0x6a, 0x65, + 0x63, 0x74, 0x20, 0x63, 0x6c, 0x61, 0x73, 0x73, + 0x3d, 0x22, 0x47, 0x74, 0x6b, 0x4c, 0x61, 0x62, + 0x65, 0x6c, 0x22, 0x3e, 0x3c, 0x70, 0x72, 0x6f, + 0x70, 0x65, 0x72, 0x74, 0x79, 0x20, 0x6e, 0x61, + 0x6d, 0x65, 0x3d, 0x22, 0x76, 0x69, 0x73, 0x69, + 0x62, 0x6c, 0x65, 0x22, 0x3e, 0x54, 0x72, 0x75, + 0x65, 0x3c, 0x2f, 0x70, 0x72, 0x6f, 0x70, 0x65, + 0x72, 0x74, 0x79, 0x3e, 0x3c, 0x70, 0x72, 0x6f, + 0x70, 0x65, 0x72, 0x74, 0x79, 0x20, 0x6e, 0x61, + 0x6d, 0x65, 0x3d, 0x22, 0x63, 0x61, 0x6e, 0x5f, + 0x66, 0x6f, 0x63, 0x75, 0x73, 0x22, 0x3e, 0x46, + 0x61, 0x6c, 0x73, 0x65, 0x3c, 0x2f, 0x70, 0x72, + 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x3e, 0x3c, + 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, + 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22, 0x68, + 0x61, 0x6c, 0x69, 0x67, 0x6e, 0x22, 0x3e, 0x73, + 0x74, 0x61, 0x72, 0x74, 0x3c, 0x2f, 0x70, 0x72, + 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x3e, 0x3c, + 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, + 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22, 0x6c, + 0x61, 0x62, 0x65, 0x6c, 0x22, 0x20, 0x74, 0x72, + 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x61, 0x62, + 0x6c, 0x65, 0x3d, 0x22, 0x79, 0x65, 0x73, 0x22, + 0x3e, 0x54, 0x68, 0x69, 0x73, 0x20, 0x64, 0x65, + 0x76, 0x69, 0x63, 0x65, 0x3c, 0x2f, 0x70, 0x72, + 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x3e, 0x3c, + 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, + 0x65, 0x73, 0x3e, 0x3c, 0x61, 0x74, 0x74, 0x72, + 0x69, 0x62, 0x75, 0x74, 0x65, 0x20, 0x6e, 0x61, + 0x6d, 0x65, 0x3d, 0x22, 0x66, 0x6f, 0x6e, 0x74, + 0x2d, 0x64, 0x65, 0x73, 0x63, 0x22, 0x20, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x3d, 0x22, 0x43, 0x61, + 0x6e, 0x74, 0x61, 0x72, 0x65, 0x6c, 0x6c, 0x20, + 0x31, 0x31, 0x22, 0x2f, 0x3e, 0x3c, 0x2f, 0x61, + 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, + 0x73, 0x3e, 0x3c, 0x2f, 0x6f, 0x62, 0x6a, 0x65, + 0x63, 0x74, 0x3e, 0x3c, 0x70, 0x61, 0x63, 0x6b, + 0x69, 0x6e, 0x67, 0x3e, 0x3c, 0x70, 0x72, 0x6f, + 0x70, 0x65, 0x72, 0x74, 0x79, 0x20, 0x6e, 0x61, + 0x6d, 0x65, 0x3d, 0x22, 0x65, 0x78, 0x70, 0x61, + 0x6e, 0x64, 0x22, 0x3e, 0x46, 0x61, 0x6c, 0x73, + 0x65, 0x3c, 0x2f, 0x70, 0x72, 0x6f, 0x70, 0x65, + 0x72, 0x74, 0x79, 0x3e, 0x3c, 0x70, 0x72, 0x6f, + 0x70, 0x65, 0x72, 0x74, 0x79, 0x20, 0x6e, 0x61, + 0x6d, 0x65, 0x3d, 0x22, 0x66, 0x69, 0x6c, 0x6c, + 0x22, 0x3e, 0x46, 0x61, 0x6c, 0x73, 0x65, 0x3c, + 0x2f, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, + 0x79, 0x3e, 0x3c, 0x70, 0x72, 0x6f, 0x70, 0x65, + 0x72, 0x74, 0x79, 0x20, 0x6e, 0x61, 0x6d, 0x65, + 0x3d, 0x22, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, + 0x6f, 0x6e, 0x22, 0x3e, 0x30, 0x3c, 0x2f, 0x70, + 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x3e, + 0x3c, 0x2f, 0x70, 0x61, 0x63, 0x6b, 0x69, 0x6e, + 0x67, 0x3e, 0x3c, 0x2f, 0x63, 0x68, 0x69, 0x6c, + 0x64, 0x3e, 0x3c, 0x63, 0x68, 0x69, 0x6c, 0x64, + 0x3e, 0x3c, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, + 0x20, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x3d, 0x22, + 0x47, 0x74, 0x6b, 0x42, 0x6f, 0x78, 0x22, 0x20, + 0x69, 0x64, 0x3d, 0x22, 0x44, 0x65, 0x76, 0x69, + 0x63, 0x65, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, + 0x74, 0x22, 0x3e, 0x3c, 0x70, 0x72, 0x6f, 0x70, + 0x65, 0x72, 0x74, 0x79, 0x20, 0x6e, 0x61, 0x6d, + 0x65, 0x3d, 0x22, 0x76, 0x69, 0x73, 0x69, 0x62, + 0x6c, 0x65, 0x22, 0x3e, 0x54, 0x72, 0x75, 0x65, + 0x3c, 0x2f, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, + 0x74, 0x79, 0x3e, 0x3c, 0x70, 0x72, 0x6f, 0x70, + 0x65, 0x72, 0x74, 0x79, 0x20, 0x6e, 0x61, 0x6d, + 0x65, 0x3d, 0x22, 0x63, 0x61, 0x6e, 0x5f, 0x66, + 0x6f, 0x63, 0x75, 0x73, 0x22, 0x3e, 0x46, 0x61, + 0x6c, 0x73, 0x65, 0x3c, 0x2f, 0x70, 0x72, 0x6f, + 0x70, 0x65, 0x72, 0x74, 0x79, 0x3e, 0x3c, 0x70, + 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x20, + 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22, 0x6f, 0x72, + 0x69, 0x65, 0x6e, 0x74, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x22, 0x3e, 0x76, 0x65, 0x72, 0x74, 0x69, + 0x63, 0x61, 0x6c, 0x3c, 0x2f, 0x70, 0x72, 0x6f, + 0x70, 0x65, 0x72, 0x74, 0x79, 0x3e, 0x3c, 0x63, + 0x68, 0x69, 0x6c, 0x64, 0x3e, 0x3c, 0x6f, 0x62, + 0x6a, 0x65, 0x63, 0x74, 0x20, 0x63, 0x6c, 0x61, + 0x73, 0x73, 0x3d, 0x22, 0x47, 0x74, 0x6b, 0x4c, + 0x61, 0x62, 0x65, 0x6c, 0x22, 0x20, 0x69, 0x64, + 0x3d, 0x22, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, + 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x3e, 0x3c, 0x70, + 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x20, + 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22, 0x76, 0x69, + 0x73, 0x69, 0x62, 0x6c, 0x65, 0x22, 0x3e, 0x54, + 0x72, 0x75, 0x65, 0x3c, 0x2f, 0x70, 0x72, 0x6f, + 0x70, 0x65, 0x72, 0x74, 0x79, 0x3e, 0x3c, 0x70, + 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x20, + 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22, 0x63, 0x61, + 0x6e, 0x5f, 0x66, 0x6f, 0x63, 0x75, 0x73, 0x22, + 0x3e, 0x46, 0x61, 0x6c, 0x73, 0x65, 0x3c, 0x2f, + 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, + 0x3e, 0x3c, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, + 0x74, 0x79, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d, + 0x22, 0x68, 0x61, 0x6c, 0x69, 0x67, 0x6e, 0x22, + 0x3e, 0x73, 0x74, 0x61, 0x72, 0x74, 0x3c, 0x2f, + 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, + 0x3e, 0x3c, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, + 0x74, 0x79, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d, + 0x22, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x22, 0x20, + 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, + 0x61, 0x62, 0x6c, 0x65, 0x3d, 0x22, 0x79, 0x65, + 0x73, 0x22, 0x3e, 0x54, 0x6f, 0x62, 0x69, 0x27, + 0x73, 0x20, 0x4c, 0x61, 0x70, 0x74, 0x6f, 0x70, + 0x3c, 0x2f, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, + 0x74, 0x79, 0x3e, 0x3c, 0x61, 0x74, 0x74, 0x72, + 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x3e, 0x3c, + 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, + 0x65, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22, + 0x66, 0x6f, 0x6e, 0x74, 0x2d, 0x64, 0x65, 0x73, + 0x63, 0x22, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x3d, 0x22, 0x43, 0x61, 0x6e, 0x74, 0x61, 0x72, + 0x65, 0x6c, 0x6c, 0x20, 0x32, 0x30, 0x22, 0x2f, + 0x3e, 0x3c, 0x2f, 0x61, 0x74, 0x74, 0x72, 0x69, + 0x62, 0x75, 0x74, 0x65, 0x73, 0x3e, 0x3c, 0x2f, + 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x3e, 0x3c, + 0x70, 0x61, 0x63, 0x6b, 0x69, 0x6e, 0x67, 0x3e, + 0x3c, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, + 0x79, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22, + 0x65, 0x78, 0x70, 0x61, 0x6e, 0x64, 0x22, 0x3e, + 0x46, 0x61, 0x6c, 0x73, 0x65, 0x3c, 0x2f, 0x70, + 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x3e, + 0x3c, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, + 0x79, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22, + 0x66, 0x69, 0x6c, 0x6c, 0x22, 0x3e, 0x54, 0x72, + 0x75, 0x65, 0x3c, 0x2f, 0x70, 0x72, 0x6f, 0x70, + 0x65, 0x72, 0x74, 0x79, 0x3e, 0x3c, 0x70, 0x72, + 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x20, 0x6e, + 0x61, 0x6d, 0x65, 0x3d, 0x22, 0x70, 0x6f, 0x73, + 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x3e, 0x30, + 0x3c, 0x2f, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, + 0x74, 0x79, 0x3e, 0x3c, 0x2f, 0x70, 0x61, 0x63, + 0x6b, 0x69, 0x6e, 0x67, 0x3e, 0x3c, 0x2f, 0x63, + 0x68, 0x69, 0x6c, 0x64, 0x3e, 0x3c, 0x63, 0x68, + 0x69, 0x6c, 0x64, 0x3e, 0x3c, 0x70, 0x6c, 0x61, + 0x63, 0x65, 0x68, 0x6f, 0x6c, 0x64, 0x65, 0x72, + 0x2f, 0x3e, 0x3c, 0x2f, 0x63, 0x68, 0x69, 0x6c, + 0x64, 0x3e, 0x3c, 0x2f, 0x6f, 0x62, 0x6a, 0x65, + 0x63, 0x74, 0x3e, 0x3c, 0x70, 0x61, 0x63, 0x6b, + 0x69, 0x6e, 0x67, 0x3e, 0x3c, 0x70, 0x72, 0x6f, + 0x70, 0x65, 0x72, 0x74, 0x79, 0x20, 0x6e, 0x61, + 0x6d, 0x65, 0x3d, 0x22, 0x65, 0x78, 0x70, 0x61, + 0x6e, 0x64, 0x22, 0x3e, 0x46, 0x61, 0x6c, 0x73, + 0x65, 0x3c, 0x2f, 0x70, 0x72, 0x6f, 0x70, 0x65, + 0x72, 0x74, 0x79, 0x3e, 0x3c, 0x70, 0x72, 0x6f, + 0x70, 0x65, 0x72, 0x74, 0x79, 0x20, 0x6e, 0x61, + 0x6d, 0x65, 0x3d, 0x22, 0x66, 0x69, 0x6c, 0x6c, + 0x22, 0x3e, 0x54, 0x72, 0x75, 0x65, 0x3c, 0x2f, + 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, + 0x3e, 0x3c, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, + 0x74, 0x79, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d, + 0x22, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, + 0x6e, 0x22, 0x3e, 0x31, 0x3c, 0x2f, 0x70, 0x72, + 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x3e, 0x3c, + 0x2f, 0x70, 0x61, 0x63, 0x6b, 0x69, 0x6e, 0x67, + 0x3e, 0x3c, 0x2f, 0x63, 0x68, 0x69, 0x6c, 0x64, + 0x3e, 0x3c, 0x2f, 0x6f, 0x62, 0x6a, 0x65, 0x63, + 0x74, 0x3e, 0x3c, 0x70, 0x61, 0x63, 0x6b, 0x69, + 0x6e, 0x67, 0x3e, 0x3c, 0x70, 0x72, 0x6f, 0x70, + 0x65, 0x72, 0x74, 0x79, 0x20, 0x6e, 0x61, 0x6d, + 0x65, 0x3d, 0x22, 0x65, 0x78, 0x70, 0x61, 0x6e, + 0x64, 0x22, 0x3e, 0x46, 0x61, 0x6c, 0x73, 0x65, + 0x3c, 0x2f, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, + 0x74, 0x79, 0x3e, 0x3c, 0x70, 0x72, 0x6f, 0x70, + 0x65, 0x72, 0x74, 0x79, 0x20, 0x6e, 0x61, 0x6d, + 0x65, 0x3d, 0x22, 0x66, 0x69, 0x6c, 0x6c, 0x22, + 0x3e, 0x54, 0x72, 0x75, 0x65, 0x3c, 0x2f, 0x70, + 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x3e, + 0x3c, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, + 0x79, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22, + 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, + 0x22, 0x3e, 0x30, 0x3c, 0x2f, 0x70, 0x72, 0x6f, + 0x70, 0x65, 0x72, 0x74, 0x79, 0x3e, 0x3c, 0x2f, + 0x70, 0x61, 0x63, 0x6b, 0x69, 0x6e, 0x67, 0x3e, + 0x3c, 0x2f, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x3e, + 0x3c, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x3e, 0x3c, + 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x20, 0x63, + 0x6c, 0x61, 0x73, 0x73, 0x3d, 0x22, 0x47, 0x74, + 0x6b, 0x42, 0x6f, 0x78, 0x22, 0x3e, 0x3c, 0x70, + 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x20, + 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22, 0x76, 0x69, + 0x73, 0x69, 0x62, 0x6c, 0x65, 0x22, 0x3e, 0x54, + 0x72, 0x75, 0x65, 0x3c, 0x2f, 0x70, 0x72, 0x6f, + 0x70, 0x65, 0x72, 0x74, 0x79, 0x3e, 0x3c, 0x70, + 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x20, + 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22, 0x63, 0x61, + 0x6e, 0x5f, 0x66, 0x6f, 0x63, 0x75, 0x73, 0x22, + 0x3e, 0x46, 0x61, 0x6c, 0x73, 0x65, 0x3c, 0x2f, + 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, + 0x3e, 0x3c, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, + 0x74, 0x79, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d, + 0x22, 0x6f, 0x72, 0x69, 0x65, 0x6e, 0x74, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x3e, 0x76, 0x65, + 0x72, 0x74, 0x69, 0x63, 0x61, 0x6c, 0x3c, 0x2f, + 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, + 0x3e, 0x3c, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x3e, + 0x3c, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x20, + 0x63, 0x6c, 0x61, 0x73, 0x73, 0x3d, 0x22, 0x47, + 0x74, 0x6b, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x22, + 0x3e, 0x3c, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, + 0x74, 0x79, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d, + 0x22, 0x76, 0x69, 0x73, 0x69, 0x62, 0x6c, 0x65, + 0x22, 0x3e, 0x54, 0x72, 0x75, 0x65, 0x3c, 0x2f, + 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, + 0x3e, 0x3c, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, + 0x74, 0x79, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d, + 0x22, 0x63, 0x61, 0x6e, 0x5f, 0x66, 0x6f, 0x63, + 0x75, 0x73, 0x22, 0x3e, 0x46, 0x61, 0x6c, 0x73, + 0x65, 0x3c, 0x2f, 0x70, 0x72, 0x6f, 0x70, 0x65, + 0x72, 0x74, 0x79, 0x3e, 0x3c, 0x70, 0x72, 0x6f, + 0x70, 0x65, 0x72, 0x74, 0x79, 0x20, 0x6e, 0x61, + 0x6d, 0x65, 0x3d, 0x22, 0x68, 0x61, 0x6c, 0x69, + 0x67, 0x6e, 0x22, 0x3e, 0x73, 0x74, 0x61, 0x72, + 0x74, 0x3c, 0x2f, 0x70, 0x72, 0x6f, 0x70, 0x65, + 0x72, 0x74, 0x79, 0x3e, 0x3c, 0x70, 0x72, 0x6f, + 0x70, 0x65, 0x72, 0x74, 0x79, 0x20, 0x6e, 0x61, + 0x6d, 0x65, 0x3d, 0x22, 0x6c, 0x61, 0x62, 0x65, + 0x6c, 0x22, 0x20, 0x74, 0x72, 0x61, 0x6e, 0x73, + 0x6c, 0x61, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x3d, + 0x22, 0x79, 0x65, 0x73, 0x22, 0x3e, 0x44, 0x65, + 0x76, 0x69, 0x63, 0x65, 0x73, 0x20, 0x6f, 0x6e, + 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x6e, 0x65, + 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x3c, 0x2f, 0x70, + 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x3e, + 0x3c, 0x2f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, + 0x3e, 0x3c, 0x70, 0x61, 0x63, 0x6b, 0x69, 0x6e, + 0x67, 0x3e, 0x3c, 0x70, 0x72, 0x6f, 0x70, 0x65, + 0x72, 0x74, 0x79, 0x20, 0x6e, 0x61, 0x6d, 0x65, + 0x3d, 0x22, 0x65, 0x78, 0x70, 0x61, 0x6e, 0x64, + 0x22, 0x3e, 0x46, 0x61, 0x6c, 0x73, 0x65, 0x3c, + 0x2f, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, + 0x79, 0x3e, 0x3c, 0x70, 0x72, 0x6f, 0x70, 0x65, + 0x72, 0x74, 0x79, 0x20, 0x6e, 0x61, 0x6d, 0x65, + 0x3d, 0x22, 0x66, 0x69, 0x6c, 0x6c, 0x22, 0x3e, + 0x54, 0x72, 0x75, 0x65, 0x3c, 0x2f, 0x70, 0x72, + 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x3e, 0x3c, + 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, + 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22, 0x70, + 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x22, + 0x3e, 0x30, 0x3c, 0x2f, 0x70, 0x72, 0x6f, 0x70, + 0x65, 0x72, 0x74, 0x79, 0x3e, 0x3c, 0x2f, 0x70, + 0x61, 0x63, 0x6b, 0x69, 0x6e, 0x67, 0x3e, 0x3c, + 0x2f, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x3e, 0x3c, + 0x63, 0x68, 0x69, 0x6c, 0x64, 0x3e, 0x3c, 0x70, + 0x6c, 0x61, 0x63, 0x65, 0x68, 0x6f, 0x6c, 0x64, + 0x65, 0x72, 0x2f, 0x3e, 0x3c, 0x2f, 0x63, 0x68, + 0x69, 0x6c, 0x64, 0x3e, 0x3c, 0x73, 0x74, 0x79, + 0x6c, 0x65, 0x3e, 0x3c, 0x63, 0x6c, 0x61, 0x73, + 0x73, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22, + 0x62, 0x61, 0x63, 0x6b, 0x67, 0x72, 0x6f, 0x75, + 0x6e, 0x64, 0x22, 0x2f, 0x3e, 0x3c, 0x2f, 0x73, + 0x74, 0x79, 0x6c, 0x65, 0x3e, 0x3c, 0x2f, 0x6f, + 0x62, 0x6a, 0x65, 0x63, 0x74, 0x3e, 0x3c, 0x70, + 0x61, 0x63, 0x6b, 0x69, 0x6e, 0x67, 0x3e, 0x3c, + 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, + 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22, 0x65, + 0x78, 0x70, 0x61, 0x6e, 0x64, 0x22, 0x3e, 0x46, + 0x61, 0x6c, 0x73, 0x65, 0x3c, 0x2f, 0x70, 0x72, + 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x3e, 0x3c, + 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, + 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22, 0x66, + 0x69, 0x6c, 0x6c, 0x22, 0x3e, 0x54, 0x72, 0x75, + 0x65, 0x3c, 0x2f, 0x70, 0x72, 0x6f, 0x70, 0x65, + 0x72, 0x74, 0x79, 0x3e, 0x3c, 0x70, 0x72, 0x6f, + 0x70, 0x65, 0x72, 0x74, 0x79, 0x20, 0x6e, 0x61, + 0x6d, 0x65, 0x3d, 0x22, 0x70, 0x6f, 0x73, 0x69, + 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x3e, 0x31, 0x3c, + 0x2f, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, + 0x79, 0x3e, 0x3c, 0x2f, 0x70, 0x61, 0x63, 0x6b, + 0x69, 0x6e, 0x67, 0x3e, 0x3c, 0x2f, 0x63, 0x68, + 0x69, 0x6c, 0x64, 0x3e, 0x3c, 0x2f, 0x6f, 0x62, + 0x6a, 0x65, 0x63, 0x74, 0x3e, 0x3c, 0x2f, 0x63, + 0x68, 0x69, 0x6c, 0x64, 0x3e, 0x3c, 0x2f, 0x6f, + 0x62, 0x6a, 0x65, 0x63, 0x74, 0x3e, 0x3c, 0x2f, + 0x63, 0x68, 0x69, 0x6c, 0x64, 0x3e, 0x3c, 0x63, + 0x68, 0x69, 0x6c, 0x64, 0x20, 0x74, 0x79, 0x70, + 0x65, 0x3d, 0x22, 0x74, 0x69, 0x74, 0x6c, 0x65, + 0x62, 0x61, 0x72, 0x22, 0x3e, 0x3c, 0x6f, 0x62, + 0x6a, 0x65, 0x63, 0x74, 0x20, 0x63, 0x6c, 0x61, + 0x73, 0x73, 0x3d, 0x22, 0x47, 0x74, 0x6b, 0x48, + 0x65, 0x61, 0x64, 0x65, 0x72, 0x42, 0x61, 0x72, + 0x22, 0x20, 0x69, 0x64, 0x3d, 0x22, 0x68, 0x65, + 0x61, 0x64, 0x65, 0x72, 0x22, 0x3e, 0x3c, 0x70, + 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x20, + 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22, 0x76, 0x69, + 0x73, 0x69, 0x62, 0x6c, 0x65, 0x22, 0x3e, 0x54, + 0x72, 0x75, 0x65, 0x3c, 0x2f, 0x70, 0x72, 0x6f, + 0x70, 0x65, 0x72, 0x74, 0x79, 0x3e, 0x3c, 0x70, + 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x20, + 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22, 0x63, 0x61, + 0x6e, 0x5f, 0x66, 0x6f, 0x63, 0x75, 0x73, 0x22, + 0x3e, 0x46, 0x61, 0x6c, 0x73, 0x65, 0x3c, 0x2f, + 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, + 0x3e, 0x3c, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, + 0x74, 0x79, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d, + 0x22, 0x73, 0x68, 0x6f, 0x77, 0x5f, 0x63, 0x6c, + 0x6f, 0x73, 0x65, 0x5f, 0x62, 0x75, 0x74, 0x74, + 0x6f, 0x6e, 0x22, 0x3e, 0x54, 0x72, 0x75, 0x65, + 0x3c, 0x2f, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, + 0x74, 0x79, 0x3e, 0x3c, 0x70, 0x72, 0x6f, 0x70, + 0x65, 0x72, 0x74, 0x79, 0x20, 0x6e, 0x61, 0x6d, + 0x65, 0x3d, 0x22, 0x64, 0x65, 0x63, 0x6f, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6c, 0x61, + 0x79, 0x6f, 0x75, 0x74, 0x22, 0x3e, 0x3a, 0x63, + 0x6c, 0x6f, 0x73, 0x65, 0x3c, 0x2f, 0x70, 0x72, + 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x3e, 0x3c, + 0x63, 0x68, 0x69, 0x6c, 0x64, 0x3e, 0x3c, 0x6f, + 0x62, 0x6a, 0x65, 0x63, 0x74, 0x20, 0x63, 0x6c, + 0x61, 0x73, 0x73, 0x3d, 0x22, 0x47, 0x74, 0x6b, + 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x22, 0x20, + 0x69, 0x64, 0x3d, 0x22, 0x70, 0x6f, 0x77, 0x65, + 0x72, 0x53, 0x77, 0x69, 0x74, 0x63, 0x68, 0x22, + 0x3e, 0x3c, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, + 0x74, 0x79, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d, + 0x22, 0x76, 0x69, 0x73, 0x69, 0x62, 0x6c, 0x65, + 0x22, 0x3e, 0x54, 0x72, 0x75, 0x65, 0x3c, 0x2f, + 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, + 0x3e, 0x3c, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, + 0x74, 0x79, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d, + 0x22, 0x63, 0x61, 0x6e, 0x5f, 0x66, 0x6f, 0x63, + 0x75, 0x73, 0x22, 0x3e, 0x46, 0x61, 0x6c, 0x73, + 0x65, 0x3c, 0x2f, 0x70, 0x72, 0x6f, 0x70, 0x65, + 0x72, 0x74, 0x79, 0x3e, 0x3c, 0x2f, 0x6f, 0x62, + 0x6a, 0x65, 0x63, 0x74, 0x3e, 0x3c, 0x70, 0x61, + 0x63, 0x6b, 0x69, 0x6e, 0x67, 0x3e, 0x3c, 0x70, + 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x20, + 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22, 0x70, 0x61, + 0x63, 0x6b, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x22, + 0x3e, 0x65, 0x6e, 0x64, 0x3c, 0x2f, 0x70, 0x72, + 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x3e, 0x3c, + 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, + 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22, 0x70, + 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x22, + 0x3e, 0x31, 0x3c, 0x2f, 0x70, 0x72, 0x6f, 0x70, + 0x65, 0x72, 0x74, 0x79, 0x3e, 0x3c, 0x2f, 0x70, + 0x61, 0x63, 0x6b, 0x69, 0x6e, 0x67, 0x3e, 0x3c, + 0x2f, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x3e, 0x3c, + 0x63, 0x68, 0x69, 0x6c, 0x64, 0x3e, 0x3c, 0x6f, + 0x62, 0x6a, 0x65, 0x63, 0x74, 0x20, 0x63, 0x6c, + 0x61, 0x73, 0x73, 0x3d, 0x22, 0x47, 0x74, 0x6b, + 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x22, 0x20, 0x69, + 0x64, 0x3d, 0x22, 0x6c, 0x69, 0x6e, 0x65, 0x73, + 0x5f, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x22, 0x3e, + 0x3c, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, + 0x79, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22, + 0x76, 0x69, 0x73, 0x69, 0x62, 0x6c, 0x65, 0x22, + 0x3e, 0x54, 0x72, 0x75, 0x65, 0x3c, 0x2f, 0x70, + 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x3e, + 0x3c, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, + 0x79, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22, + 0x63, 0x61, 0x6e, 0x5f, 0x66, 0x6f, 0x63, 0x75, + 0x73, 0x22, 0x3e, 0x46, 0x61, 0x6c, 0x73, 0x65, + 0x3c, 0x2f, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, + 0x74, 0x79, 0x3e, 0x3c, 0x70, 0x72, 0x6f, 0x70, + 0x65, 0x72, 0x74, 0x79, 0x20, 0x6e, 0x61, 0x6d, + 0x65, 0x3d, 0x22, 0x6c, 0x61, 0x62, 0x65, 0x6c, + 0x22, 0x20, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, + 0x61, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x3d, 0x22, + 0x79, 0x65, 0x73, 0x22, 0x3e, 0x56, 0x69, 0x73, + 0x69, 0x62, 0x6c, 0x65, 0x20, 0x6f, 0x6e, 0x20, + 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x3c, + 0x2f, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, + 0x79, 0x3e, 0x3c, 0x2f, 0x6f, 0x62, 0x6a, 0x65, + 0x63, 0x74, 0x3e, 0x3c, 0x70, 0x61, 0x63, 0x6b, + 0x69, 0x6e, 0x67, 0x3e, 0x3c, 0x70, 0x72, 0x6f, + 0x70, 0x65, 0x72, 0x74, 0x79, 0x20, 0x6e, 0x61, + 0x6d, 0x65, 0x3d, 0x22, 0x70, 0x61, 0x63, 0x6b, + 0x5f, 0x74, 0x79, 0x70, 0x65, 0x22, 0x3e, 0x65, + 0x6e, 0x64, 0x3c, 0x2f, 0x70, 0x72, 0x6f, 0x70, + 0x65, 0x72, 0x74, 0x79, 0x3e, 0x3c, 0x70, 0x72, + 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x20, 0x6e, + 0x61, 0x6d, 0x65, 0x3d, 0x22, 0x70, 0x6f, 0x73, + 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x3e, 0x32, + 0x3c, 0x2f, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, + 0x74, 0x79, 0x3e, 0x3c, 0x2f, 0x70, 0x61, 0x63, + 0x6b, 0x69, 0x6e, 0x67, 0x3e, 0x3c, 0x2f, 0x63, + 0x68, 0x69, 0x6c, 0x64, 0x3e, 0x3c, 0x2f, 0x6f, + 0x62, 0x6a, 0x65, 0x63, 0x74, 0x3e, 0x3c, 0x2f, + 0x63, 0x68, 0x69, 0x6c, 0x64, 0x3e, 0x3c, 0x2f, + 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, + 0x3e, 0x3c, 0x2f, 0x69, 0x6e, 0x74, 0x65, 0x72, + 0x66, 0x61, 0x63, 0x65, 0x3e, 0x0a, 0x00, 0x00, + 0x28, 0x75, 0x75, 0x61, 0x79, 0x29, 0x70, 0x61, + 0x70, 0x65, 0x72, 0x70, 0x6c, 0x61, 0x6e, 0x65, + 0x61, 0x70, 0x70, 0x2f, 0x02, 0x00, 0x00, 0x00, + 0x67, 0x74, 0x6b, 0x2f, 0x03, 0x00, 0x00, 0x00 +} }; + +static GStaticResource static_resource = { paperplaneapp_resource_data.data, sizeof (paperplaneapp_resource_data.data), NULL, NULL, NULL }; +extern GResource *paperplaneapp_get_resource (void); +GResource *paperplaneapp_get_resource (void) +{ + return g_static_resource_get_resource (&static_resource); +} +/* + If G_HAS_CONSTRUCTORS is true then the compiler support *both* constructors and + destructors, in a sane way, including e.g. on library unload. If not you're on + your own. + + Some compilers need #pragma to handle this, which does not work with macros, + so the way you need to use this is (for constructors): + + #ifdef G_DEFINE_CONSTRUCTOR_NEEDS_PRAGMA + #pragma G_DEFINE_CONSTRUCTOR_PRAGMA_ARGS(my_constructor) + #endif + G_DEFINE_CONSTRUCTOR(my_constructor) + static void my_constructor(void) { + ... + } + +*/ + +#ifndef __GTK_DOC_IGNORE__ + +#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 7) + +#define G_HAS_CONSTRUCTORS 1 + +#define G_DEFINE_CONSTRUCTOR(_func) static void __attribute__((constructor)) _func (void); +#define G_DEFINE_DESTRUCTOR(_func) static void __attribute__((destructor)) _func (void); + +#elif defined (_MSC_VER) && (_MSC_VER >= 1500) +/* Visual studio 2008 and later has _Pragma */ + +#define G_HAS_CONSTRUCTORS 1 + +/* We do some weird things to avoid the constructors being optimized + * away on VS2015 if WholeProgramOptimization is enabled. First we + * make a reference to the array from the wrapper to make sure its + * references. Then we use a pragma to make sure the wrapper function + * symbol is always included at the link stage. Also, the symbols + * need to be extern (but not dllexport), even though they are not + * really used from another object file. + */ + +/* We need to account for differences between the mangling of symbols + * for Win32 (x86) and x64 programs, as symbols on Win32 are prefixed + * with an underscore but symbols on x64 are not. + */ +#ifdef _WIN64 +#define G_MSVC_SYMBOL_PREFIX "" +#else +#define G_MSVC_SYMBOL_PREFIX "_" +#endif + +#define G_DEFINE_CONSTRUCTOR(_func) G_MSVC_CTOR (_func, G_MSVC_SYMBOL_PREFIX) +#define G_DEFINE_DESTRUCTOR(_func) G_MSVC_DTOR (_func, G_MSVC_SYMBOL_PREFIX) + +#define G_MSVC_CTOR(_func,_sym_prefix) \ + static void _func(void); \ + extern int (* _array ## _func)(void); \ + int _func ## _wrapper(void) { _func(); g_slist_find (NULL, _array ## _func); return 0; } \ + __pragma(comment(linker,"/include:" _sym_prefix # _func "_wrapper")) \ + __pragma(section(".CRT$XCU",read)) \ + __declspec(allocate(".CRT$XCU")) int (* _array ## _func)(void) = _func ## _wrapper; + +#define G_MSVC_DTOR(_func,_sym_prefix) \ + static void _func(void); \ + extern int (* _array ## _func)(void); \ + int _func ## _constructor(void) { atexit (_func); g_slist_find (NULL, _array ## _func); return 0; } \ + __pragma(comment(linker,"/include:" _sym_prefix # _func "_constructor")) \ + __pragma(section(".CRT$XCU",read)) \ + __declspec(allocate(".CRT$XCU")) int (* _array ## _func)(void) = _func ## _constructor; + +#elif defined (_MSC_VER) + +#define G_HAS_CONSTRUCTORS 1 + +/* Pre Visual studio 2008 must use #pragma section */ +#define G_DEFINE_CONSTRUCTOR_NEEDS_PRAGMA 1 +#define G_DEFINE_DESTRUCTOR_NEEDS_PRAGMA 1 + +#define G_DEFINE_CONSTRUCTOR_PRAGMA_ARGS(_func) \ + section(".CRT$XCU",read) +#define G_DEFINE_CONSTRUCTOR(_func) \ + static void _func(void); \ + static int _func ## _wrapper(void) { _func(); return 0; } \ + __declspec(allocate(".CRT$XCU")) static int (*p)(void) = _func ## _wrapper; + +#define G_DEFINE_DESTRUCTOR_PRAGMA_ARGS(_func) \ + section(".CRT$XCU",read) +#define G_DEFINE_DESTRUCTOR(_func) \ + static void _func(void); \ + static int _func ## _constructor(void) { atexit (_func); return 0; } \ + __declspec(allocate(".CRT$XCU")) static int (* _array ## _func)(void) = _func ## _constructor; + +#elif defined(__SUNPRO_C) + +/* This is not tested, but i believe it should work, based on: + * http://opensource.apple.com/source/OpenSSL098/OpenSSL098-35/src/fips/fips_premain.c + */ + +#define G_HAS_CONSTRUCTORS 1 + +#define G_DEFINE_CONSTRUCTOR_NEEDS_PRAGMA 1 +#define G_DEFINE_DESTRUCTOR_NEEDS_PRAGMA 1 + +#define G_DEFINE_CONSTRUCTOR_PRAGMA_ARGS(_func) \ + init(_func) +#define G_DEFINE_CONSTRUCTOR(_func) \ + static void _func(void); + +#define G_DEFINE_DESTRUCTOR_PRAGMA_ARGS(_func) \ + fini(_func) +#define G_DEFINE_DESTRUCTOR(_func) \ + static void _func(void); + +#else + +/* constructors not supported for this compiler */ + +#endif + +#endif /* __GTK_DOC_IGNORE__ */ + +#ifdef G_HAS_CONSTRUCTORS + +#ifdef G_DEFINE_CONSTRUCTOR_NEEDS_PRAGMA +#pragma G_DEFINE_CONSTRUCTOR_PRAGMA_ARGS(resource_constructor) +#endif +G_DEFINE_CONSTRUCTOR(resource_constructor) +#ifdef G_DEFINE_DESTRUCTOR_NEEDS_PRAGMA +#pragma G_DEFINE_DESTRUCTOR_PRAGMA_ARGS(resource_destructor) +#endif +G_DEFINE_DESTRUCTOR(resource_destructor) + +#else +#warning "Constructor not supported on this compiler, linking in resources will not work" +#endif + +static void resource_constructor (void) +{ + g_static_resource_init (&static_resource); +} + +static void resource_destructor (void) +{ + g_static_resource_fini (&static_resource); +} diff --git a/src/window.ui b/src/window.ui new file mode 100644 index 0000000..226be4f --- /dev/null +++ b/src/window.ui @@ -0,0 +1,145 @@ + + + + +